38 #ifndef FCL_BV_SPLITTERBASE_H 39 #define FCL_BV_SPLITTERBASE_H 41 #include "fcl/math/triangle.h" 42 #include "fcl/geometry/bvh/BVH_internal.h" 43 #include "fcl/math/bv/kIOS.h" 44 #include "fcl/math/bv/OBBRSS.h" 55 template <
typename BV>
60 using S =
typename BV::S;
64 Vector3<S>* vertices_,
71 const BV& bv,
unsigned int* primitive_indices,
int num_primitives) = 0;
74 virtual bool apply(
const Vector3<S>& q)
const = 0;
77 virtual void clear() = 0;
Base interface for BV splitting algorithm.
Definition: BV_splitter_base.h:56
Main namespace.
Definition: broadphase_bruteforce-inl.h:45
BVHModelType
BVH model type.
Definition: BVH_internal.h:75
virtual void clear()=0
Clear the geometry data set before.
Triangle with 3 indices for points.
Definition: triangle.h:47
virtual void computeRule(const BV &bv, unsigned int *primitive_indices, int num_primitives)=0
Compute the split rule according to a subset of geometry and the corresponding BV node...
virtual bool apply(const Vector3< S > &q) const =0
Apply the split rule on a given point.