/// @brief A class describing the bounding hierarchy of a mesh model or a point cloud model (which is viewed as a degraded version of mesh)
template<typenameBV>
classBVHModel:publicCollisionGeometry
...
...
@@ -81,6 +83,9 @@ public:
/// @brief Fitting rule to fit a BV node to a set of geometry primitives
boost::shared_ptr<BVFitterBase<BV>>bv_fitter;
/// @brief Convex<Triangle> representation of this object
boost::shared_ptr<ConvexBase>convex;
/// @brief Model type described by the instance
BVHModelTypegetModelType()const
...
...
@@ -209,7 +214,12 @@ public:
/// @brief Check the number of memory used
intmemUsage(intmsg)const;
/// @brief This is a special acceleration: BVH_model default stores the BV's transform in world coordinate. However, we can also store each BV's transform related to its parent
/// @brief Build this Convex<Triangle> representation of this model.
/// \note this only takes the points of this model. It does not check that the
/// object is convex. It does not compute a convex hull.
voidbuildConvexRepresentation();
/// @brief This is a special acceleration: BVH_model default stores the BV's transform in world coordinate. However, we can also store each BV's transform related to its parent
/// BV node. When traversing the BVH, this can save one matrix transformation.