Loading [MathJax]/jax/output/HTML-CSS/config.js
coal  3.0.1
Coal, The Collision Detection Library. Previously known as HPP-FCL, fork of FCL -- The Flexible Collision Library
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
boost::serialization::internal::BVHModelAccessor< BV > Struct Template Reference

#include <coal/serialization/BVH_model.h>

Inheritance diagram for boost::serialization::internal::BVHModelAccessor< BV >:
Collaboration diagram for boost::serialization::internal::BVHModelAccessor< BV >:

Public Types

typedef coal::BVHModel< BV > Base
 
- Public Types inherited from coal::BVHModel< BV >
using bv_node_vector_t = std::vector< BVNode< BV >, Eigen::aligned_allocator< BVNode< BV > >>
 

Additional Inherited Members

- Public Member Functions inherited from coal::BVHModel< BV >
 BVHModel ()
 Default constructor to build an empty BVH. More...
 
 BVHModel (const BVHModel &other)
 Copy constructor from another BVH. More...
 
virtual BVHModel< BV > * clone () const
 Clone *this into a new BVHModel. More...
 
 ~BVHModel ()
 deconstruction, delete mesh data related. More...
 
const BVNode< BV > & getBV (unsigned int i) const
 We provide getBV() and getNumBVs() because BVH may be compressed (in future), so we must provide some flexibility here. More...
 
BVNode< BV > & getBV (unsigned int i)
 Access the bv giving the its index. More...
 
unsigned int getNumBVs () const
 Get the number of bv in the BVH. More...
 
NODE_TYPE getNodeType () const
 Get the BV type: default is unknown. More...
 
int memUsage (const bool msg) const
 Check the number of memory used. More...
 
void makeParentRelative ()
 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. More...
 
NODE_TYPE getNodeType () const
 Specialization of getNodeType() for BVHModel with different BV types. More...
 
NODE_TYPE getNodeType () const
 get the node type More...
 
NODE_TYPE getNodeType () const
 get the node type More...
 
NODE_TYPE getNodeType () const
 get the node type More...
 
NODE_TYPE getNodeType () const
 get the node type More...
 
NODE_TYPE getNodeType () const
 get the node type More...
 
NODE_TYPE getNodeType () const
 get the node type More...
 
NODE_TYPE getNodeType () const
 get the node type More...
 
- Public Member Functions inherited from coal::BVHModelBase
BVHModelType getModelType () const
 Model type described by the instance. More...
 
 BVHModelBase ()
 Constructing an empty BVH. More...
 
 BVHModelBase (const BVHModelBase &other)
 copy from another BVH More...
 
virtual ~BVHModelBase ()
 deconstruction, delete mesh data related. More...
 
OBJECT_TYPE getObjectType () const
 Get the object type: it is a BVH. More...
 
void computeLocalAABB ()
 Compute the AABB for the BVH, used for broad-phase collision. More...
 
int beginModel (unsigned int num_tris=0, unsigned int num_vertices=0)
 Begin a new BVH model. More...
 
int addVertex (const Vec3s &p)
 Add one point in the new BVH model. More...
 
int addVertices (const MatrixX3s &points)
 Add points in the new BVH model. More...
 
int addTriangles (const Matrixx3i &triangles)
 Add triangles in the new BVH model. More...
 
int addTriangle (const Vec3s &p1, const Vec3s &p2, const Vec3s &p3)
 Add one triangle in the new BVH model. More...
 
int addSubModel (const std::vector< Vec3s > &ps, const std::vector< Triangle > &ts)
 Add a set of triangles in the new BVH model. More...
 
int addSubModel (const std::vector< Vec3s > &ps)
 Add a set of points in the new BVH model. More...
 
int endModel ()
 End BVH model construction, will build the bounding volume hierarchy. More...
 
int beginReplaceModel ()
 Replace the geometry information of current frame (i.e. should have the same mesh topology with the previous frame) More...
 
int replaceVertex (const Vec3s &p)
 Replace one point in the old BVH model. More...
 
int replaceTriangle (const Vec3s &p1, const Vec3s &p2, const Vec3s &p3)
 Replace one triangle in the old BVH model. More...
 
int replaceSubModel (const std::vector< Vec3s > &ps)
 Replace a set of points in the old BVH model. More...
 
int endReplaceModel (bool refit=true, bool bottomup=true)
 End BVH model replacement, will also refit or rebuild the bounding volume hierarchy. More...
 
int beginUpdateModel ()
 Replace the geometry information of current frame (i.e. should have the same mesh topology with the previous frame). The current frame will be saved as the previous frame in prev_vertices. More...
 
int updateVertex (const Vec3s &p)
 Update one point in the old BVH model. More...
 
int updateTriangle (const Vec3s &p1, const Vec3s &p2, const Vec3s &p3)
 Update one triangle in the old BVH model. More...
 
int updateSubModel (const std::vector< Vec3s > &ps)
 Update a set of points in the old BVH model. More...
 
int endUpdateModel (bool refit=true, bool bottomup=true)
 End BVH model update, will also refit or rebuild the bounding volume hierarchy. More...
 
void buildConvexRepresentation (bool share_memory)
 Build this Convex<Triangle> representation of this model. The result is stored in attribute convex. More...
 
bool buildConvexHull (bool keepTriangle, const char *qhullCommand=NULL)
 Build a convex hull and store it in attribute convex. More...
 
Vec3s computeCOM () const
 compute center of mass More...
 
Scalar computeVolume () const
 compute the volume More...
 
Matrix3s computeMomentofInertia () const
 compute the inertia matrix, related to the origin More...
 
- Public Member Functions inherited from coal::CollisionGeometry
 CollisionGeometry ()
 
 CollisionGeometry (const CollisionGeometry &other)=default
 Copy constructor. More...
 
virtual ~CollisionGeometry ()
 
bool operator== (const CollisionGeometry &other) const
 Equality operator. More...
 
bool operator!= (const CollisionGeometry &other) const
 Difference operator. More...
 
void * getUserData () const
 get user data in geometry More...
 
void setUserData (void *data)
 set user data in geometry More...
 
bool isOccupied () const
 whether the object is completely occupied More...
 
bool isFree () const
 whether the object is completely free More...
 
bool isUncertain () const
 whether the object has some uncertainty More...
 
virtual Matrix3s computeMomentofInertiaRelatedToCOM () const
 compute the inertia matrix, related to the com More...
 
- Public Attributes inherited from coal::BVHModel< BV >
shared_ptr< BVSplitter< BV > > bv_splitter
 Split rule to split one BV node into two children. More...
 
shared_ptr< BVFitter< BV > > bv_fitter
 Fitting rule to fit a BV node to a set of geometry primitives. More...
 
- Public Attributes inherited from coal::BVHModelBase
std::shared_ptr< std::vector< Vec3s > > vertices
 Geometry point data. More...
 
std::shared_ptr< std::vector< Triangle > > tri_indices
 Geometry triangle index data, will be NULL for point clouds. More...
 
std::shared_ptr< std::vector< Vec3s > > prev_vertices
 Geometry point data in previous frame. More...
 
unsigned int num_tris
 Number of triangles. More...
 
unsigned int num_vertices
 Number of points. More...
 
BVHBuildState build_state
 The state of BVH building process. More...
 
shared_ptr< ConvexBaseconvex
 Convex<Triangle> representation of this object. More...
 
- Public Attributes inherited from coal::CollisionGeometry
Vec3s aabb_center
 AABB center in local coordinate. More...
 
Scalar aabb_radius
 AABB radius. More...
 
AABB aabb_local
 AABB in local coordinate, used for tight AABB when only translation transform. More...
 
void * user_data
 pointer to user defined data specific to this object More...
 
Scalar cost_density
 collision cost for unit volume More...
 
Scalar threshold_occupied
 threshold for occupied ( >= is occupied) More...
 
Scalar threshold_free
 threshold for free (<= is free) More...
 
- Protected Member Functions inherited from coal::BVHModel< BV >
void deleteBVs ()
 
bool allocateBVs ()
 
int buildTree ()
 Build the bounding volume hierarchy. More...
 
int refitTree (bool bottomup)
 Refit the bounding volume hierarchy. More...
 
int refitTree_topdown ()
 Refit the bounding volume hierarchy in a top-down way (slow but more compact) More...
 
int refitTree_bottomup ()
 Refit the bounding volume hierarchy in a bottom-up way (fast but less compact) More...
 
int recursiveBuildTree (int bv_id, unsigned int first_primitive, unsigned int num_primitives)
 Recursive kernel for hierarchy construction. More...
 
int recursiveRefitTree_bottomup (int bv_id)
 Recursive kernel for bottomup refitting. More...
 
void makeParentRelativeRecurse (int bv_id, Matrix3s &parent_axes, const Vec3s &parent_c)
 
void makeParentRelativeRecurse (int bv_id, Matrix3s &parent_axes, const Vec3s &parent_c)
 
void makeParentRelativeRecurse (int bv_id, Matrix3s &parent_axes, const Vec3s &parent_c)
 
void makeParentRelativeRecurse (int bv_id, Matrix3s &parent_axes, const Vec3s &parent_c)
 
- Protected Attributes inherited from coal::BVHModel< BV >
unsigned int num_bvs_allocated
 
std::shared_ptr< std::vector< unsigned int > > primitive_indices
 
std::shared_ptr< bv_node_vector_tbvs
 Bounding volume hierarchy. More...
 
unsigned int num_bvs
 Number of BV nodes in bounding volume hierarchy. More...
 
- Protected Attributes inherited from coal::BVHModelBase
unsigned int num_tris_allocated
 
unsigned int num_vertices_allocated
 
unsigned int num_vertex_updated
 

Member Typedef Documentation

◆ Base

template<typename BV >
typedef coal::BVHModel<BV> boost::serialization::internal::BVHModelAccessor< BV >::Base

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