$search
A class describing the split rule that splits each BV node. More...
#include <BVH_split_rule.h>
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. | |
Triangle * | tri_indices |
BVHModelType | type |
Vec3f * | vertices |
A class describing the split rule that splits each BV node.
Definition at line 57 of file BVH_split_rule.h.
collision_checking::BVSplitRule< BV >::BVSplitRule | ( | ) | [inline] |
Definition at line 61 of file BVH_split_rule.h.
void collision_checking::BVSplitRule< BV >::clear | ( | void | ) | [inline] |
Clear the geometry data set before.
Definition at line 105 of file BVH_split_rule.h.
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.
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.
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.
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.
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.
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.
void collision_checking::BVSplitRule< BV >::setSplitType | ( | SplitMethodType | method | ) | [inline] |
Definition at line 66 of file BVH_split_rule.h.
int collision_checking::BVSplitRule< BV >::split_axis [private] |
The split axis.
Definition at line 115 of file BVH_split_rule.h.
SplitMethodType collision_checking::BVSplitRule< BV >::split_method [private] |
Definition at line 123 of file BVH_split_rule.h.
BVH_REAL collision_checking::BVSplitRule< BV >::split_value [private] |
The split threshold.
Definition at line 118 of file BVH_split_rule.h.
Triangle* collision_checking::BVSplitRule< BV >::tri_indices [private] |
Definition at line 121 of file BVH_split_rule.h.
BVHModelType collision_checking::BVSplitRule< BV >::type [private] |
Definition at line 122 of file BVH_split_rule.h.
Vec3f* collision_checking::BVSplitRule< BV >::vertices [private] |
Definition at line 120 of file BVH_split_rule.h.