diff options
author | Gard Spreemann <gspreemann@gmail.com> | 2017-10-09 10:49:16 +0200 |
---|---|---|
committer | Gard Spreemann <gspreemann@gmail.com> | 2017-10-09 10:49:16 +0200 |
commit | 45e3a8bfb4fbf73ab9a093fa12816dbe0591e606 (patch) | |
tree | c484e1832e483cd605062b33574d27c62040db4d /example/Spatial_searching/example_spatial_searching.cpp | |
parent | bb096655608534feb76f275960fe85cefe08c5f0 (diff) | |
parent | 673b6bb63befd7e591e52c13f43e5db53e5b29bd (diff) |
Merge branch 'dfsg/latest' into debian/sid
Diffstat (limited to 'example/Spatial_searching/example_spatial_searching.cpp')
-rw-r--r-- | example/Spatial_searching/example_spatial_searching.cpp | 24 |
1 files changed, 16 insertions, 8 deletions
diff --git a/example/Spatial_searching/example_spatial_searching.cpp b/example/Spatial_searching/example_spatial_searching.cpp index 14b324ae..034ad24a 100644 --- a/example/Spatial_searching/example_spatial_searching.cpp +++ b/example/Spatial_searching/example_spatial_searching.cpp @@ -24,29 +24,37 @@ int main(void) { // 10-nearest neighbor query std::cout << "10 nearest neighbors from points[20]:\n"; - auto knn_range = points_ds.query_k_nearest_neighbors(points[20], 10, true); + auto knn_range = points_ds.k_nearest_neighbors(points[20], 10, true); for (auto const& nghb : knn_range) std::cout << nghb.first << " (sq. dist. = " << nghb.second << ")\n"; // Incremental nearest neighbor query std::cout << "Incremental nearest neighbors:\n"; - auto inn_range = points_ds.query_incremental_nearest_neighbors(points[45]); + auto inn_range = points_ds.incremental_nearest_neighbors(points[45]); // Get the neighbors in distance order until we hit the first point for (auto ins_iterator = inn_range.begin(); ins_iterator->first != 0; ++ins_iterator) std::cout << ins_iterator->first << " (sq. dist. = " << ins_iterator->second << ")\n"; - // 10-farthest neighbor query - std::cout << "10 farthest neighbors from points[20]:\n"; - auto kfn_range = points_ds.query_k_farthest_neighbors(points[20], 10, true); + // 10-furthest neighbor query + std::cout << "10 furthest neighbors from points[20]:\n"; + auto kfn_range = points_ds.k_furthest_neighbors(points[20], 10, true); for (auto const& nghb : kfn_range) std::cout << nghb.first << " (sq. dist. = " << nghb.second << ")\n"; - // Incremental farthest neighbor query - std::cout << "Incremental farthest neighbors:\n"; - auto ifn_range = points_ds.query_incremental_farthest_neighbors(points[45]); + // Incremental furthest neighbor query + std::cout << "Incremental furthest neighbors:\n"; + auto ifn_range = points_ds.incremental_furthest_neighbors(points[45]); // Get the neighbors in distance reverse order until we hit the first point for (auto ifs_iterator = ifn_range.begin(); ifs_iterator->first != 0; ++ifs_iterator) std::cout << ifs_iterator->first << " (sq. dist. = " << ifs_iterator->second << ")\n"; + // All-near-neighbors search + std::cout << "All-near-neighbors search:\n"; + std::vector<std::size_t> rs_result; + points_ds.all_near_neighbors(points[45], 0.5, std::back_inserter(rs_result)); + K k; + for (auto const& p_idx : rs_result) + std::cout << p_idx << " (sq. dist. = " << k.squared_distance_d_object()(points[p_idx], points[45]) << ")\n"; + return 0; } |