#include <BBoxTree.h>
Inheritance diagram for geom::BBoxTreeLeaf< N, T >:
Public Types | |
typedef Types::Number | Number |
The number type. | |
typedef Types::Point | Point |
The Cartesian point type. | |
typedef Types::BBox | BBox |
A bounding box. | |
typedef Types::SizeType | SizeType |
The size type. | |
typedef Types::IndexConstIterator | IndexConstIterator |
A const iterator in an index container. | |
Public Member Functions | |
Constructors and destructor. | |
template<typename ObjectIter, typename ObjectIterIter> | |
BBoxTreeLeaf (ObjectIter base, ObjectIterIter begin, ObjectIterIter end) | |
Construct from a range of iterators to objects. | |
virtual | ~BBoxTreeLeaf () |
Trivual destructor. | |
Accessors. | |
const BBox & | getDomain () const |
Return the domain that contains all the bounding boxes in this leaf. | |
IndexConstIterator | getIndicesBeginning () const |
Return the beginning of the bounding box indices. | |
IndexConstIterator | getIndicesEnd () const |
Return the end of the bounding box indices. | |
Manipulators. | |
void | computeDomain (const std::vector< BBox > &boxes) |
Compute the domain for this leaf. | |
Queries. | |
void | computePointQuery (std::vector< const Leaf * > &leaves, const Point &x) const |
Get the leaves containing bounding boxes that might contain the point. | |
void | computeWindowQuery (std::vector< const Leaf * > &leaves, const BBox &window) const |
Get the leaves containing bounding boxes that might overlap the window. | |
void | computeMinimumDistanceQuery (std::vector< const Leaf * > &leaves, const Point &x, Number *upperBound) const |
Get the indices of the bounding boxes that might contain objects of minimum distance. | |
File I/O. | |
void | printAscii (std::ostream &out) const |
Print the node information. | |
Memory usage. | |
SizeType | getMemoryUsage () const |
Return the memory usage of this leaf. | |
Validity check. | |
void | checkValidity (const std::vector< BBox > &boxes) const |
Check the validity of this leaf. |
geom::BBoxTreeLeaf< N, T >::BBoxTreeLeaf | ( | ObjectIter | base, | |
ObjectIterIter | begin, | |||
ObjectIterIter | end | |||
) |
Construct from a range of iterators to objects.
base | is the beggining of storage in the container of objects. | |
begin | is the beggining of the range of objects whose indices will be stored in this leaf. | |
end | is the end of the range of objects whose indices will be stored in this leaf. |
void geom::BBoxTreeLeaf< N, T >::checkValidity | ( | const std::vector< BBox > & | boxes | ) | const [virtual] |
Check the validity of this leaf.
There should be a non-zero number of indices. The corresponding bounding boxes should be in the domain of this leaf.
Implements geom::BBoxTreeNode< N, T >.