template<typename _Scalar, int _Dim, typename _Object> class Eigen::KdBVH< _Scalar, _Dim, _Object >
Простая иерархия объёмных элементов, основанная на AlignedBox.
Параметры
_Scalar
Базовый скалярный тип ограничивающих прямоугольников
_Dim
Размерность пространства, в котором существует иерархия
_Object
Тип объекта, находящегося в иерархии. Он должен иметь семантику значения. Должен быть определён метод bounding_box(_Object) возвращающий AlignedBox<_Scalar, _Dim> или ограничивающие прямоугольники должны быть предоставлены инициализатору дерева.
Этот класс предоставляет простое (в отличие от оптимизированного) реализацию иерархии объёмных элементов, аналогичной Kd-дереву. Принимая последовательность объектов, он вычисляет их ограничивающие прямоугольники, строит Kd-дерево из центров объектов и создаёт BVH со структурой этого Kd-дерева. Если копирование элементов дерева слишком затратно, удобно использовать указатели на _Object.
По указанному index узла, на выходе outVBegin и outVEnd будут содержать индексы дочерних элементов узла (объём), а outOBegin и outOEnd - индексы дочерних объектов.
getRootIndex()
template<typename _Scalar , int _Dim, typename _Object >
Index Eigen::KdBVH< _Scalar, _Dim, _Object >::getRootIndex
(
)
const
inline
Возвращает
индекс корня иерархии
getVolume()
template<typename _Scalar , int _Dim, typename _Object >