A class describing the split rule that splits each BV node. More...
#include <hpp/fcl/BVH/BV_splitter.h>
Public Member Functions | |
BVSplitter (SplitMethodType method) | |
virtual | ~BVSplitter () |
Default deconstructor. | |
void | set (Vec3f *vertices_, Triangle *tri_indices_, BVHModelType type_) |
Set the geometry data needed by the split rule. | |
void | computeRule (const BV &bv, unsigned int *primitive_indices, int num_primitives) |
Compute the split rule according to a subset of geometry and the corresponding BV node. | |
bool | apply (const Vec3f &q) const |
Apply the split rule on a given point. | |
void | clear () |
Clear the geometry data set before. | |
template<> | |
bool | apply (const Vec3f &q) const |
Apply the split rule on a given point. | |
template<> | |
bool | apply (const Vec3f &q) const |
Apply the split rule on a given point. | |
template<> | |
bool | apply (const Vec3f &q) const |
Apply the split rule on a given point. | |
template<> | |
bool | apply (const Vec3f &q) const |
Apply the split rule on a given point. |
A class describing the split rule that splits each BV node.
fcl::BVSplitter< BV >::BVSplitter | ( | SplitMethodType | method | ) | [inline] |
virtual fcl::BVSplitter< BV >::~BVSplitter | ( | ) | [inline, virtual] |
Default deconstructor.
bool fcl::BVSplitter< BV >::apply | ( | const Vec3f & | q | ) | const [inline, virtual] |
Apply the split rule on a given point.
Implements fcl::BVSplitterBase< BV >.
bool fcl::BVSplitter< OBB >::apply | ( | const Vec3f & | q | ) | const [virtual] |
Apply the split rule on a given point.
Implements fcl::BVSplitterBase< BV >.
bool fcl::BVSplitter< RSS >::apply | ( | const Vec3f & | q | ) | const [virtual] |
Apply the split rule on a given point.
Implements fcl::BVSplitterBase< BV >.
bool fcl::BVSplitter< kIOS >::apply | ( | const Vec3f & | q | ) | const [virtual] |
Apply the split rule on a given point.
Implements fcl::BVSplitterBase< BV >.
bool fcl::BVSplitter< OBBRSS >::apply | ( | const Vec3f & | q | ) | const [virtual] |
Apply the split rule on a given point.
Implements fcl::BVSplitterBase< BV >.
void fcl::BVSplitter< BV >::clear | ( | ) | [inline, virtual] |
Clear the geometry data set before.
Implements fcl::BVSplitterBase< BV >.
References fcl::BVH_MODEL_UNKNOWN.
void fcl::BVSplitter< BV >::computeRule | ( | const BV & | bv, |
unsigned int * | primitive_indices, | ||
int | num_primitives | ||
) | [inline, virtual] |
Compute the split rule according to a subset of geometry and the corresponding BV node.
Implements fcl::BVSplitterBase< BV >.
References fcl::SPLIT_METHOD_BV_CENTER, fcl::SPLIT_METHOD_MEAN, and fcl::SPLIT_METHOD_MEDIAN.
void fcl::BVSplitter< BV >::set | ( | Vec3f * | vertices_, |
Triangle * | tri_indices_, | ||
BVHModelType | type_ | ||
) | [inline, virtual] |
Set the geometry data needed by the split rule.
Implements fcl::BVSplitterBase< BV >.