Public Member Functions
fcl::BVSplitter< BV > Class Template Reference

A class describing the split rule that splits each BV node. More...

#include <hpp/fcl/BVH/BV_splitter.h>

Inheritance diagram for fcl::BVSplitter< BV >:
[legend]
Collaboration diagram for fcl::BVSplitter< BV >:
[legend]

List of all members.

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.

Detailed Description

template<typename BV>
class fcl::BVSplitter< BV >

A class describing the split rule that splits each BV node.


Constructor & Destructor Documentation

template<typename BV >
fcl::BVSplitter< BV >::BVSplitter ( SplitMethodType  method) [inline]
template<typename BV >
virtual fcl::BVSplitter< BV >::~BVSplitter ( ) [inline, virtual]

Default deconstructor.


Member Function Documentation

template<typename BV >
bool fcl::BVSplitter< BV >::apply ( const Vec3f q) const [inline, virtual]

Apply the split rule on a given point.

Implements fcl::BVSplitterBase< BV >.

template<>
bool fcl::BVSplitter< OBB >::apply ( const Vec3f q) const [virtual]

Apply the split rule on a given point.

Implements fcl::BVSplitterBase< BV >.

template<>
bool fcl::BVSplitter< RSS >::apply ( const Vec3f q) const [virtual]

Apply the split rule on a given point.

Implements fcl::BVSplitterBase< BV >.

template<>
bool fcl::BVSplitter< kIOS >::apply ( const Vec3f q) const [virtual]

Apply the split rule on a given point.

Implements fcl::BVSplitterBase< BV >.

template<>
bool fcl::BVSplitter< OBBRSS >::apply ( const Vec3f q) const [virtual]

Apply the split rule on a given point.

Implements fcl::BVSplitterBase< BV >.

template<typename BV >
void fcl::BVSplitter< BV >::clear ( ) [inline, virtual]

Clear the geometry data set before.

Implements fcl::BVSplitterBase< BV >.

References fcl::BVH_MODEL_UNKNOWN.

template<typename BV >
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.

template<typename BV >
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 >.

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines