Public Member Functions | List of all members
hpp::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 hpp::fcl::BVSplitter< BV >:
[legend]
Collaboration diagram for hpp::fcl::BVSplitter< BV >:
[legend]

Public Member Functions

 BVSplitter (SplitMethodType method)
 
virtual ~BVSplitter ()
 Default deconstructor. More...
 
void set (Vec3f *vertices_, Triangle *tri_indices_, BVHModelType type_)
 Set the geometry data needed by the split rule. More...
 
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. More...
 
bool apply (const Vec3f &q) const
 Apply the split rule on a given point. More...
 
void clear ()
 Clear the geometry data set before. More...
 
template<>
bool apply (const Vec3f &q) const
 Apply the split rule on a given point. More...
 
template<>
bool apply (const Vec3f &q) const
 Apply the split rule on a given point. More...
 
template<>
bool apply (const Vec3f &q) const
 Apply the split rule on a given point. More...
 
template<>
bool apply (const Vec3f &q) const
 Apply the split rule on a given point. More...
 

Detailed Description

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

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

Constructor & Destructor Documentation

template<typename BV >
hpp::fcl::BVSplitter< BV >::BVSplitter ( SplitMethodType  method)
inline
template<typename BV >
virtual hpp::fcl::BVSplitter< BV >::~BVSplitter ( )
inlinevirtual

Default deconstructor.

Member Function Documentation

template<typename BV >
bool hpp::fcl::BVSplitter< BV >::apply ( const Vec3f q) const
inlinevirtual

Apply the split rule on a given point.

Implements hpp::fcl::BVSplitterBase< BV >.

Referenced by hpp::fcl::BVSplitter< BV >::clear().

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

Apply the split rule on a given point.

Implements hpp::fcl::BVSplitterBase< BV >.

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

Apply the split rule on a given point.

Implements hpp::fcl::BVSplitterBase< BV >.

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

Apply the split rule on a given point.

Implements hpp::fcl::BVSplitterBase< BV >.

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

Apply the split rule on a given point.

Implements hpp::fcl::BVSplitterBase< BV >.

template<typename BV >
void hpp::fcl::BVSplitter< BV >::clear ( )
inlinevirtual
template<typename BV >
void hpp::fcl::BVSplitter< BV >::computeRule ( const BV &  bv,
unsigned int *  primitive_indices,
int  num_primitives 
)
inlinevirtual

Compute the split rule according to a subset of geometry and the corresponding BV node.

Implements hpp::fcl::BVSplitterBase< BV >.

References hpp::fcl::SPLIT_METHOD_MEAN, and hpp::fcl::SPLIT_METHOD_MEDIAN.

template<typename BV >
void hpp::fcl::BVSplitter< BV >::set ( Vec3f vertices_,
Triangle tri_indices_,
BVHModelType  type_ 
)
inlinevirtual

Set the geometry data needed by the split rule.

Implements hpp::fcl::BVSplitterBase< BV >.