|
Space-efficient geometric algorithms and data structuresBy Ilya Katz and Hervé Brönnimann |
Data Structures | |
| class | kd_tree |
| class | explicit_tree_node |
| class | explicit_tree_heap |
Functions | |
| template<class RandomAccessIterator, class AxisAlignedGeometry> | |
| void | build_static_kdtree (RandomAccessIterator first, RandomAccessIterator last, AxisAlignedGeometry geom) |
| Builds a static kd-tree by reordering points in the range [first,last). | |
| template<class Box, class RandomAccessIterator, class OutputIterator, class AxisAlignedGeometry> | |
| OutputIterator | window_query_static_kdtree (RandomAccessIterator first, RandomAccessIterator last, AxisAlignedGeometry geom, Box Q, OutputIterator result) |
| Returns iterator to a collection of points within box Q. | |
| template<class Halfplane, class RandomAccessIterator, class OutputIterator, class AxisAlignedGeometry> | |
| OutputIterator | halfplane_query_static_kdtree (RandomAccessIterator first, RandomAccessIterator last, AxisAlignedGeometry geom, Halfplane H, OutputIterator result) |
| Returns iterator to a collection of points that lie in halfplane H. | |
| template<class Box, class RandomAccessIterator, class OutputIterator, class AxisAlignedGeometry> | |
| OutputIterator | closed_triangle_query_static_kdtree (RandomAccessIterator first, RandomAccessIterator last, AxisAlignedGeometry geom, Box Q, OutputIterator result) |
| Returns iterator to a collection of points within closed triangle T. | |
| template<class RandomAccessIterator, class AxisAlignedGeometry> | |
| void | build_kdtree (RandomAccessIterator first, RandomAccessIterator last, AxisAlignedGeometry geom, size_t dimensions) |
| template<class RandomAccessIterator, class AxisAlignedGeometry> | |
| void | build_kdtree (RandomAccessIterator first, RandomAccessIterator last, AxisAlignedGeometry geom, size_t dimensions, size_t pointDimension) |
| Builds a static multi dimentional kd-tree by reordering points in the range [first,last). | |
| template<class RandomAccessIterator, class AxisAlignedGeometry> | |
| void | build_dynamic_kdtree (RandomAccessIterator first, RandomAccessIterator last, AxisAlignedGeometry geom) |
Returns true if [first, last) is a valid kd-tree data structure. | |
| template<class RandomAccessIterator, class AxisAlignedGeometry> | |
| void | insert_dynamic_kdtree (RandomAccessIterator first, RandomAccessIterator last, AxisAlignedGeometry geom) |
Adds an element to the kd-tree and preserves kd-tree property. The element to be added to the kd-tree is at iterator (last-1) . | |
| template<class Box, class RandomAccessIterator, class OutputIterator, class AxisAlignedGeometry> | |
| OutputIterator | window_query_dynamic_kdtree (RandomAccessIterator first, RandomAccessIterator last, AxisAlignedGeometry geom, Box Q, OutputIterator result) |
| Queries a kd-tree with a box query. | |
| template<class Halfplane, class RandomAccessIterator, class OutputIterator, class AxisAlignedGeometry> | |
| OutputIterator | halfplane_query_dynamic_kdtree (RandomAccessIterator first, RandomAccessIterator last, AxisAlignedGeometry geom, Halfplane Q, OutputIterator result) |
| template<class RandomAccessIterator, class AxisAlignedGeometry> | |
| void | remove_dynamic_kdtree (RandomAccessIterator first, RandomAccessIterator pos, RandomAccessIterator last, AxisAlignedGeometry geom) |
| Removes an element from the kd-tree. | |
| template<typename Geometry> | |
| std::ostream & | operator<< (std::ostream &os, inplaceds::explicit_tree_node< Geometry > &node) |
Code Documentation generated Using Doxygen
Copyright © Ilya Katz and Hervé Brönnimann, 2005, 2006.