$search
BVHSplitRule specialization for OBB. More...
#include <BVH_split_rule.h>
Public Member Functions | |
BVSplitRule () | |
void | clear () |
Clear the geometry data set before. | |
void | computeRule (const OBB &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 OBB &bv, unsigned int *primitive_indices, int num_primitives) |
Split the node from center. | |
void | computeRule_mean (const OBB &bv, unsigned int *primitive_indices, int num_primitives) |
Split the node according to the mean of the data contained. | |
void | computeRule_median (const OBB &bv, unsigned int *primitive_indices, int num_primitives) |
Split the node according to the median of the data contained. | |
Private Attributes | |
SplitMethodType | split_method |
BVH_REAL | split_value |
Vec3f | split_vector |
Triangle * | tri_indices |
BVHModelType | type |
Vec3f * | vertices |
BVHSplitRule specialization for OBB.
Definition at line 216 of file BVH_split_rule.h.
collision_checking::BVSplitRule< OBB >::BVSplitRule | ( | ) | [inline] |
Definition at line 220 of file BVH_split_rule.h.
void collision_checking::BVSplitRule< OBB >::clear | ( | void | ) | [inline] |
Clear the geometry data set before.
Definition at line 253 of file BVH_split_rule.h.
void collision_checking::BVSplitRule< OBB >::computeRule | ( | const OBB & | 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 239 of file BVH_split_rule.h.
void collision_checking::BVSplitRule< OBB >::computeRule_bvcenter | ( | const OBB & | bv, | |
unsigned int * | primitive_indices, | |||
int | num_primitives | |||
) | [private] |
Split the node from center.
Definition at line 42 of file BVH_split_rule.cpp.
void collision_checking::BVSplitRule< OBB >::computeRule_mean | ( | const OBB & | bv, | |
unsigned int * | primitive_indices, | |||
int | num_primitives | |||
) | [private] |
Split the node according to the mean of the data contained.
Definition at line 49 of file BVH_split_rule.cpp.
void collision_checking::BVSplitRule< OBB >::computeRule_median | ( | const OBB & | bv, | |
unsigned int * | primitive_indices, | |||
int | num_primitives | |||
) | [private] |
Split the node according to the median of the data contained.
Definition at line 82 of file BVH_split_rule.cpp.
bool collision_checking::BVSplitRule< OBB >::operator() | ( | const Vec3f & | q | ) | const [inline] |
Apply the split rule on a given point.
Definition at line 247 of file BVH_split_rule.h.
void collision_checking::BVSplitRule< OBB >::set | ( | Vec3f * | vertices_, | |
Triangle * | tri_indices_, | |||
BVHModelType | type_ | |||
) | [inline] |
Set the geometry data needed by the split rule.
Definition at line 231 of file BVH_split_rule.h.
void collision_checking::BVSplitRule< OBB >::setSplitType | ( | SplitMethodType | method | ) | [inline] |
Definition at line 225 of file BVH_split_rule.h.
SplitMethodType collision_checking::BVSplitRule< OBB >::split_method [private] |
Definition at line 277 of file BVH_split_rule.h.
BVH_REAL collision_checking::BVSplitRule< OBB >::split_value [private] |
Definition at line 271 of file BVH_split_rule.h.
Vec3f collision_checking::BVSplitRule< OBB >::split_vector [private] |
Definition at line 272 of file BVH_split_rule.h.
Triangle* collision_checking::BVSplitRule< OBB >::tri_indices [private] |
Definition at line 275 of file BVH_split_rule.h.
BVHModelType collision_checking::BVSplitRule< OBB >::type [private] |
Definition at line 276 of file BVH_split_rule.h.
Vec3f* collision_checking::BVSplitRule< OBB >::vertices [private] |
Definition at line 274 of file BVH_split_rule.h.