summaryrefslogtreecommitdiff
path: root/src/Spatial_searching/example
diff options
context:
space:
mode:
authorcjamin <cjamin@636b058d-ea47-450e-bf9e-a15bfbe3eedb>2016-06-30 13:31:23 +0000
committercjamin <cjamin@636b058d-ea47-450e-bf9e-a15bfbe3eedb>2016-06-30 13:31:23 +0000
commitdfc61b827ae2aa7f99e2ae8401f19f6f0d219af3 (patch)
treeb9d5655cbac98836452a1f05d2c22a3f904c913d /src/Spatial_searching/example
parent0a2844e38d40bebb0825f7833f14f434635628ae (diff)
Improved example
git-svn-id: svn+ssh://scm.gforge.inria.fr/svnroot/gudhi/branches/subsampling_and_spatialsearching@1363 636b058d-ea47-450e-bf9e-a15bfbe3eedb Former-commit-id: 0b6e59f5c3c7c93eaed74c93f8b0284143574cd3
Diffstat (limited to 'src/Spatial_searching/example')
-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;
}