$search

collision_checking::BVSplitRule< BV > Class Template Reference

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

#include <BVH_split_rule.h>

List of all members.

Public Member Functions

 BVSplitRule ()
void clear ()
 Clear the geometry data set before.
void computeRule (const BV &bv, unsigned int *primitive_indices, int num_primitives)
 Compute the split rule according to a subset of geometry and the the corresponding BV node.
bool operator() (const Vec3f &q) const
 Apply the split rule on a given point.
void set (Vec3f *vertices_, Triangle *tri_indices_, BVHModelType type_)
 Set the geometry data needed by the split rule.
void setSplitType (SplitMethodType method)

Private Member Functions

void computeRule_bvcenter (const BV &bv, unsigned int *primitive_indices, int num_primitives)
 Split the node from center.
void computeRule_mean (const BV &bv, unsigned int *primitive_indices, int num_primitives)
 Split the node according to the mean of the data contained.
void computeRule_median (const BV &bv, unsigned int *primitive_indices, int num_primitives)
 Split the node according to the median of the data contained.

Private Attributes

int split_axis
 The split axis.
SplitMethodType split_method
BVH_REAL split_value
 The split threshold.
Triangletri_indices
BVHModelType type
Vec3fvertices

Detailed Description

template<typename BV>
class collision_checking::BVSplitRule< BV >

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

Definition at line 57 of file BVH_split_rule.h.


Constructor & Destructor Documentation

template<typename BV >
collision_checking::BVSplitRule< BV >::BVSplitRule (  )  [inline]

Definition at line 61 of file BVH_split_rule.h.


Member Function Documentation

template<typename BV >
void collision_checking::BVSplitRule< BV >::clear ( void   )  [inline]

Clear the geometry data set before.

Definition at line 105 of file BVH_split_rule.h.

template<typename BV >
void collision_checking::BVSplitRule< BV >::computeRule ( const BV &  bv,
unsigned int *  primitive_indices,
int  num_primitives 
) [inline]

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

Definition at line 80 of file BVH_split_rule.h.

template<typename BV >
void collision_checking::BVSplitRule< BV >::computeRule_bvcenter ( const BV &  bv,
unsigned int *  primitive_indices,
int  num_primitives 
) [inline, private]

Split the node from center.

Definition at line 126 of file BVH_split_rule.h.

template<typename BV >
void collision_checking::BVSplitRule< BV >::computeRule_mean ( const BV &  bv,
unsigned int *  primitive_indices,
int  num_primitives 
) [inline, private]

Split the node according to the mean of the data contained.

Definition at line 141 of file BVH_split_rule.h.

template<typename BV >
void collision_checking::BVSplitRule< BV >::computeRule_median ( const BV &  bv,
unsigned int *  primitive_indices,
int  num_primitives 
) [inline, private]

Split the node according to the median of the data contained.

Definition at line 173 of file BVH_split_rule.h.

template<typename BV >
bool collision_checking::BVSplitRule< BV >::operator() ( const Vec3f q  )  const [inline]

Apply the split rule on a given point.

Definition at line 99 of file BVH_split_rule.h.

template<typename BV >
void collision_checking::BVSplitRule< BV >::set ( Vec3f vertices_,
Triangle tri_indices_,
BVHModelType  type_ 
) [inline]

Set the geometry data needed by the split rule.

Definition at line 72 of file BVH_split_rule.h.

template<typename BV >
void collision_checking::BVSplitRule< BV >::setSplitType ( SplitMethodType  method  )  [inline]

Definition at line 66 of file BVH_split_rule.h.


Member Data Documentation

template<typename BV >
int collision_checking::BVSplitRule< BV >::split_axis [private]

The split axis.

Definition at line 115 of file BVH_split_rule.h.

template<typename BV >
SplitMethodType collision_checking::BVSplitRule< BV >::split_method [private]

Definition at line 123 of file BVH_split_rule.h.

template<typename BV >
BVH_REAL collision_checking::BVSplitRule< BV >::split_value [private]

The split threshold.

Definition at line 118 of file BVH_split_rule.h.

template<typename BV >
Triangle* collision_checking::BVSplitRule< BV >::tri_indices [private]

Definition at line 121 of file BVH_split_rule.h.

template<typename BV >
BVHModelType collision_checking::BVSplitRule< BV >::type [private]

Definition at line 122 of file BVH_split_rule.h.

template<typename BV >
Vec3f* collision_checking::BVSplitRule< BV >::vertices [private]

Definition at line 120 of file BVH_split_rule.h.


The documentation for this class was generated from the following file:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends


collision_checking
Author(s): Jia Pan, Dinesh Manocha (UNC, Chapel Hill)
autogenerated on Fri Mar 1 14:57:00 2013