Added KDTree.__del__() that destroy the points to prevent memory leaks
authorDmitriy Morozov <dmitriy@mrzv.org>
Sat, 20 Jun 2009 13:00:20 -0700 (2009-06-20)
changeset 7 fc7a9f78a5db
parent 6 e34a29c36f13
child 8 ef31983c4dd2
Added KDTree.__del__() that destroy the points to prevent memory leaks
ann-kd-tree.cpp
--- a/ann-kd-tree.cpp	Sat Jun 20 12:33:19 2009 -0700
+++ b/ann-kd-tree.cpp	Sat Jun 20 13:00:20 2009 -0700
@@ -26,6 +26,12 @@
     return p;
 }
 
+void                                destroy_points(ANNkd_tree& kdtree)
+{
+    ANNpointArray   dataPts     = kdtree.thePoints();
+    annDeallocPts(dataPts);
+}
+
 bp::tuple                           search(ANNkd_tree& kdtree, bp::list q, int k, double eps, bool priority = false)
 {
     ANNpoint annq = annAllocPt(bp::len(q));
@@ -90,6 +96,7 @@
 {
     bp::class_<ANNkd_tree>("KDTree")
         .def("__init__",            bp::make_constructor(&init_from_list))
+        .def("__del__",             &destroy_points)
 
         .def("kSearch",             &ksearch)
         .def("kPriSearch",          &k_priority_search)