template<typename Scalar_, int Dim_, typename Object_>
class Eigen::KdBVH< Scalar_, Dim_, Object_ >
A simple bounding volume hierarchy based on AlignedBox.
- Parameters
-
| Scalar_ | The underlying scalar type of the bounding boxes |
| Dim_ | The dimension of the space in which the hierarchy lives |
| Object_ | The object type that lives in the hierarchy. It must have value semantics. Either bounding_box(Object_) must be defined and return an AlignedBox<Scalar_, Dim_> or bounding boxes must be provided to the tree initializer. |
This class provides a simple (as opposed to optimized) implementation of a bounding volume hierarchy analogous to a Kd-tree. Given a sequence of objects, it computes their bounding boxes, constructs a Kd-tree of their centers and builds a BVH with the structure of that Kd-tree. When the elements of the tree are too expensive to be copied around, it is useful for Object_ to be a pointer.
|
| void | getChildren (Index index, VolumeIterator &outVBegin, VolumeIterator &outVEnd, ObjectIterator &outOBegin, ObjectIterator &outOEnd) const |
| |
| Index | getRootIndex () const |
| |
| const Volume & | getVolume (Index index) const |
| |
| template<typename Iter> |
| void | init (Iter begin, Iter end) |
| |
| template<typename OIter, typename BIter> |
| void | init (OIter begin, OIter end, BIter boxBegin, BIter boxEnd) |
| |
| template<typename Iter> |
| | KdBVH (Iter begin, Iter end) |
| |
| template<typename OIter, typename BIter> |
| | KdBVH (OIter begin, OIter end, BIter boxBegin, BIter boxEnd) |
| |
template<typename Scalar_, int Dim_, typename Object_>
template<typename OIter, typename BIter>
| Eigen::KdBVH< Scalar_, Dim_, Object_ >::KdBVH |
( |
OIter | begin, |
|
|
OIter | end, |
|
|
BIter | boxBegin, |
|
|
BIter | boxEnd ) |
|
inline |
Given an iterator range over Object references and an iterator range over their bounding boxes, constructs the BVH
template<typename Scalar_, int Dim_, typename Object_>
template<typename OIter, typename BIter>
| void Eigen::KdBVH< Scalar_, Dim_, Object_ >::init |
( |
OIter | begin, |
|
|
OIter | end, |
|
|
BIter | boxBegin, |
|
|
BIter | boxEnd ) |
|
inline |
Given an iterator range over Object references and an iterator range over their bounding boxes, constructs the BVH, overwriting whatever is in there currently.