summaryrefslogtreecommitdiff
path: root/src/Spatial_searching
diff options
context:
space:
mode:
Diffstat (limited to 'src/Spatial_searching')
-rw-r--r--src/Spatial_searching/example/example_spatial_searching.cpp13
1 files changed, 9 insertions, 4 deletions
diff --git a/src/Spatial_searching/example/example_spatial_searching.cpp b/src/Spatial_searching/example/example_spatial_searching.cpp
index ba387b71..1a807b90 100644
--- a/src/Spatial_searching/example/example_spatial_searching.cpp
+++ b/src/Spatial_searching/example/example_spatial_searching.cpp
@@ -16,10 +16,6 @@ int main (void)
typedef std::vector<Point> Points;
typedef gss::Spatial_tree_data_structure<K, Points> Points_ds;
- typedef typename Points_ds::KNS_range KNS_range;
- typedef typename Points_ds::KNS_iterator KNS_iterator;
- typedef typename Points_ds::INS_range INS_range;
- typedef typename Points_ds::INS_iterator INS_iterator;
CGAL::Random rd;
@@ -29,9 +25,18 @@ int main (void)
Points_ds points_ds(points);
+ // 20-nearest neighbor query
+ std::cout << "20 nearest neighbors:\n";
auto kns_range = points_ds.query_ANN(points[20], 10, true);
for (auto const& nghb : kns_range)
std::cout << nghb.first << " (sq. dist. = " << nghb.second << ")\n";
+ // Incremental nearest neighbor query
+ std::cout << "Incremental nearest neighbors:\n";
+ auto ins_range = points_ds.query_incremental_ANN(points[45]);
+ // Get all the neighbors that are closer than 0.5
+ for (auto ins_iterator = ins_range.begin(); ins_iterator->second < 0.5*0.5 ; ++ins_iterator)
+ std::cout << ins_iterator->first << " (sq. dist. = " << ins_iterator->second << ")\n";
+
return 0;
}