coal 3.0.2
Coal, The Collision Detection Library. Previously known as HPP-FCL, fork of FCL -- The Flexible Collision Library
Loading...
Searching...
No Matches
boost::serialization::internal::BVSplitterAccessor< BV > Struct Template Reference

#include <coal/serialization/BV_splitter.h>

Inheritance diagram for boost::serialization::internal::BVSplitterAccessor< BV >:
coal::BVSplitter< BV >

Public Types

typedef coal::BVSplitter< BV > Base

Public Attributes

int split_axis
 The axis based on which the split decision is made. For most BV, the axis is aligned with one of the world coordinate, so only split_axis is needed. For oriented node, we can use a vector to make a better split decision.
SplitMethodType split_method
 The split algorithm used.
CoalScalar split_value
 The split threshold, different primitives are splitted according whether their projection on the split_axis is larger or smaller than the threshold.
Vec3s split_vector
Triangle * tri_indices
 The triangles handled by the splitter.
BVHModelType type
 Whether the geometry is mesh or point cloud.
Vec3s * vertices
 The mesh vertices or points handled by the splitter.

Additional Inherited Members

Public Member Functions inherited from coal::BVSplitter< BV >
 BVSplitter (SplitMethodType method)
virtual ~BVSplitter ()
 Default deconstructor.
void set (Vec3s *vertices_, Triangle *tri_indices_, BVHModelType type_)
 Set the geometry data needed by the split rule.
void computeRule (const BV &bv, unsigned int *primitive_indices, unsigned int num_primitives)
 Compute the split rule according to a subset of geometry and the corresponding BV node.
bool apply (const Vec3s &q) const
 Apply the split rule on a given point.
void clear ()
 Clear the geometry data set before.
bool apply (const Vec3s &q) const
bool apply (const Vec3s &q) const
bool apply (const Vec3s &q) const
bool apply (const Vec3s &q) const
Protected Member Functions inherited from coal::BVSplitter< BV >
void computeRule_bvcenter (const BV &bv, unsigned int *, unsigned int)
 Split algorithm 1: Split the node from center.
void computeRule_mean (const BV &bv, unsigned int *primitive_indices, unsigned int num_primitives)
 Split algorithm 2: Split the node according to the mean of the data contained.
void computeRule_median (const BV &bv, unsigned int *primitive_indices, unsigned int num_primitives)
 Split algorithm 3: Split the node according to the median of the data contained.
void computeRule_bvcenter (const OBB &bv, unsigned int *primitive_indices, unsigned int num_primitives)
void computeRule_mean (const OBB &bv, unsigned int *primitive_indices, unsigned int num_primitives)
void computeRule_median (const OBB &bv, unsigned int *primitive_indices, unsigned int num_primitives)
void computeRule_bvcenter (const RSS &bv, unsigned int *primitive_indices, unsigned int num_primitives)
void computeRule_mean (const RSS &bv, unsigned int *primitive_indices, unsigned int num_primitives)
void computeRule_median (const RSS &bv, unsigned int *primitive_indices, unsigned int num_primitives)
void computeRule_bvcenter (const kIOS &bv, unsigned int *primitive_indices, unsigned int num_primitives)
void computeRule_mean (const kIOS &bv, unsigned int *primitive_indices, unsigned int num_primitives)
void computeRule_median (const kIOS &bv, unsigned int *primitive_indices, unsigned int num_primitives)
void computeRule_bvcenter (const OBBRSS &bv, unsigned int *primitive_indices, unsigned int num_primitives)
void computeRule_mean (const OBBRSS &bv, unsigned int *primitive_indices, unsigned int num_primitives)
void computeRule_median (const OBBRSS &bv, unsigned int *primitive_indices, unsigned int num_primitives)
Protected Attributes inherited from coal::BVSplitter< BV >
int split_axis
 The axis based on which the split decision is made. For most BV, the axis is aligned with one of the world coordinate, so only split_axis is needed. For oriented node, we can use a vector to make a better split decision.
Vec3s split_vector
CoalScalar split_value
 The split threshold, different primitives are splitted according whether their projection on the split_axis is larger or smaller than the threshold.
Vec3svertices
 The mesh vertices or points handled by the splitter.
Triangletri_indices
 The triangles handled by the splitter.
BVHModelType type
 Whether the geometry is mesh or point cloud.
SplitMethodType split_method
 The split algorithm used.

Member Typedef Documentation

◆ Base

template<typename BV>
typedef coal::BVSplitter<BV> boost::serialization::internal::BVSplitterAccessor< BV >::Base

Member Data Documentation

◆ split_axis

template<typename BV>
int coal::BVSplitter< BV >::split_axis

The axis based on which the split decision is made. For most BV, the axis is aligned with one of the world coordinate, so only split_axis is needed. For oriented node, we can use a vector to make a better split decision.

◆ split_method

template<typename BV>
SplitMethodType coal::BVSplitter< BV >::split_method

The split algorithm used.

◆ split_value

template<typename BV>
CoalScalar coal::BVSplitter< BV >::split_value

The split threshold, different primitives are splitted according whether their projection on the split_axis is larger or smaller than the threshold.

◆ split_vector

template<typename BV>
Vec3s coal::BVSplitter< BV >::split_vector

◆ tri_indices

template<typename BV>
Triangle* coal::BVSplitter< BV >::tri_indices

The triangles handled by the splitter.

◆ type

template<typename BV>
BVHModelType coal::BVSplitter< BV >::type

Whether the geometry is mesh or point cloud.

◆ vertices

template<typename BV>
Vec3s* coal::BVSplitter< BV >::vertices

The mesh vertices or points handled by the splitter.


The documentation for this struct was generated from the following file: