--- 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)