| 
    coal
    3.0.1
    
   Coal, The Collision Detection Library. Previously known as HPP-FCL, fork of FCL -- The Flexible Collision Library 
   | 
 
Classes | |
| struct | coal::BVNodeBase | 
| BVNodeBase encodes the tree structure for BVH.  More... | |
| struct | coal::BVNode< BV > | 
| A class describing a bounding volume node. It includes the tree structure providing in BVNodeBase and also the geometry data provided in BV template parameter.  More... | |
| class | coal::BVFitter< BV > | 
| The class for the default algorithm fitting a bounding volume to a set of points.  More... | |
| class | coal::BVSplitter< BV > | 
| A class describing the split rule that splits each BV node.  More... | |
| class | coal::BVHModelBase | 
| A base class describing the bounding hierarchy of a mesh model or a point cloud model (which is viewed as a degraded version of mesh)  More... | |
| class | coal::BVHModel< BV > | 
| A class describing the bounding hierarchy of a mesh model or a point cloud model (which is viewed as a degraded version of mesh)  More... | |
| class | coal::CollisionGeometry | 
| The geometry for the object for collision or distance computation.  More... | |
| class | coal::CollisionObject | 
| the object for collision or distance computation, contains the geometry and the transform information  More... | |
Typedefs | |
| typedef BVNodeBase | coal::BVNode< BV >::Base | 
Functions | |
| coal::BVNodeBase::BVNodeBase () | |
| Default constructor.  More... | |
| bool | coal::BVNodeBase::operator== (const BVNodeBase &other) const | 
| Equality operator.  More... | |
| bool | coal::BVNodeBase::operator!= (const BVNodeBase &other) const | 
| Difference operator.  More... | |
| bool | coal::BVNodeBase::isLeaf () const | 
| Whether current node is a leaf node (i.e. contains a primitive index.  More... | |
| int | coal::BVNodeBase::primitiveId () const | 
| Return the primitive index. The index is referred to the original data (i.e. vertices or tri_indices) in BVHModel.  More... | |
| int | coal::BVNodeBase::leftChild () const | 
| Return the index of the first child. The index is referred to the bounding volume array (i.e. bvs) in BVHModel.  More... | |
| int | coal::BVNodeBase::rightChild () const | 
| Return the index of the second child. The index is referred to the bounding volume array (i.e. bvs) in BVHModel.  More... | |
| bool | coal::BVNode< BV >::operator== (const BVNode &other) const | 
| Equality operator.  More... | |
| bool | coal::BVNode< BV >::operator!= (const BVNode &other) const | 
| Difference operator.  More... | |
| bool | coal::BVNode< BV >::overlap (const BVNode &other) const | 
| Check whether two BVNode collide.  More... | |
| bool | coal::BVNode< BV >::overlap (const BVNode &other, const CollisionRequest &request, CoalScalar &sqrDistLowerBound) const | 
| Check whether two BVNode collide.  More... | |
| CoalScalar | coal::BVNode< BV >::distance (const BVNode &other, Vec3s *P1=NULL, Vec3s *P2=NULL) const | 
| Compute the distance between two BVNode. P1 and P2, if not NULL and the underlying BV supports distance, return the nearest points.  More... | |
| Vec3s | coal::BVNode< BV >::getCenter () const | 
| Access to the center of the BV.  More... | |
| const Matrix3s & | coal::BVNode< BV >::getOrientation () const | 
| Access to the orientation of the BV.  More... | |
| coal::CollisionGeometry::CollisionGeometry () | |
| coal::CollisionGeometry::CollisionGeometry (const CollisionGeometry &other)=default | |
| Copy constructor.  More... | |
| virtual | coal::CollisionGeometry::~CollisionGeometry () | 
| virtual CollisionGeometry * | coal::CollisionGeometry::clone () const =0 | 
| Clone *this into a new CollisionGeometry.  More... | |
| bool | coal::CollisionGeometry::operator== (const CollisionGeometry &other) const | 
| Equality operator.  More... | |
| bool | coal::CollisionGeometry::operator!= (const CollisionGeometry &other) const | 
| Difference operator.  More... | |
| virtual OBJECT_TYPE | coal::CollisionGeometry::getObjectType () const | 
| get the type of the object  More... | |
| virtual NODE_TYPE | coal::CollisionGeometry::getNodeType () const | 
| get the node type  More... | |
| virtual void | coal::CollisionGeometry::computeLocalAABB ()=0 | 
| compute the AABB for object in local coordinate  More... | |
| void * | coal::CollisionGeometry::getUserData () const | 
| get user data in geometry  More... | |
| void | coal::CollisionGeometry::setUserData (void *data) | 
| set user data in geometry  More... | |
| bool | coal::CollisionGeometry::isOccupied () const | 
| whether the object is completely occupied  More... | |
| bool | coal::CollisionGeometry::isFree () const | 
| whether the object is completely free  More... | |
| bool | coal::CollisionGeometry::isUncertain () const | 
| whether the object has some uncertainty  More... | |
| virtual Vec3s | coal::CollisionGeometry::computeCOM () const | 
| compute center of mass  More... | |
| virtual Matrix3s | coal::CollisionGeometry::computeMomentofInertia () const | 
| compute the inertia matrix, related to the origin  More... | |
| virtual CoalScalar | coal::CollisionGeometry::computeVolume () const | 
| compute the volume  More... | |
| virtual Matrix3s | coal::CollisionGeometry::computeMomentofInertiaRelatedToCOM () const | 
| compute the inertia matrix, related to the com  More... | |
| coal::CollisionObject::CollisionObject (const shared_ptr< CollisionGeometry > &cgeom_, bool compute_local_aabb=true) | |
| coal::CollisionObject::CollisionObject (const shared_ptr< CollisionGeometry > &cgeom_, const Transform3s &tf, bool compute_local_aabb=true) | |
| coal::CollisionObject::CollisionObject (const shared_ptr< CollisionGeometry > &cgeom_, const Matrix3s &R, const Vec3s &T, bool compute_local_aabb=true) | |
| bool | coal::CollisionObject::operator== (const CollisionObject &other) const | 
| bool | coal::CollisionObject::operator!= (const CollisionObject &other) const | 
| coal::CollisionObject::~CollisionObject () | |
| OBJECT_TYPE | coal::CollisionObject::getObjectType () const | 
| get the type of the object  More... | |
| NODE_TYPE | coal::CollisionObject::getNodeType () const | 
| get the node type  More... | |
| const AABB & | coal::CollisionObject::getAABB () const | 
| get the AABB in world space  More... | |
| AABB & | coal::CollisionObject::getAABB () | 
| get the AABB in world space  More... | |
| void | coal::CollisionObject::computeAABB () | 
| compute the AABB in world space  More... | |
| void * | coal::CollisionObject::getUserData () const | 
| get user data in object  More... | |
| void | coal::CollisionObject::setUserData (void *data) | 
| set user data in object  More... | |
| const Vec3s & | coal::CollisionObject::getTranslation () const | 
| get translation of the object  More... | |
| const Matrix3s & | coal::CollisionObject::getRotation () const | 
| get matrix rotation of the object  More... | |
| const Transform3s & | coal::CollisionObject::getTransform () const | 
| get object's transform  More... | |
| void | coal::CollisionObject::setRotation (const Matrix3s &R) | 
| set object's rotation matrix  More... | |
| void | coal::CollisionObject::setTranslation (const Vec3s &T) | 
| set object's translation  More... | |
| void | coal::CollisionObject::setTransform (const Matrix3s &R, const Vec3s &T) | 
| set object's transform  More... | |
| void | coal::CollisionObject::setTransform (const Transform3s &tf) | 
| set object's transform  More... | |
| bool | coal::CollisionObject::isIdentityTransform () const | 
| whether the object is in local coordinate  More... | |
| void | coal::CollisionObject::setIdentityTransform () | 
| set the object in local coordinate  More... | |
| const shared_ptr< const CollisionGeometry > | coal::CollisionObject::collisionGeometry () const | 
| get shared pointer to collision geometry of the object instance  More... | |
| const shared_ptr< CollisionGeometry > & | coal::CollisionObject::collisionGeometry () | 
| get shared pointer to collision geometry of the object instance  More... | |
| const CollisionGeometry * | coal::CollisionObject::collisionGeometryPtr () const | 
| get raw pointer to collision geometry of the object instance  More... | |
| CollisionGeometry * | coal::CollisionObject::collisionGeometryPtr () | 
| get raw pointer to collision geometry of the object instance  More... | |
| void | coal::CollisionObject::setCollisionGeometry (const shared_ptr< CollisionGeometry > &collision_geometry, bool compute_local_aabb=true) | 
| Associate a new CollisionGeometry.  More... | |
| void | coal::CollisionObject::init (bool compute_local_aabb=true) | 
Variables | |
| int | coal::BVNodeBase::first_child | 
| An index for first child node or primitive If the value is positive, it is the index of the first child bv node If the value is negative, it is -(primitive index + 1) Zero is not used.  More... | |
| unsigned int | coal::BVNodeBase::first_primitive | 
| The start id the primitive belonging to the current node. The index is referred to the primitive_indices in BVHModel and from that we can obtain the primitive's index in original data indirectly.  More... | |
| unsigned int | coal::BVNodeBase::num_primitives | 
| The number of primitives belonging to the current node.  More... | |
| BV | coal::BVNode< BV >::bv | 
| bounding volume storing the geometry  More... | |
| Vec3s | coal::CollisionGeometry::aabb_center | 
| AABB center in local coordinate.  More... | |
| CoalScalar | coal::CollisionGeometry::aabb_radius | 
| AABB radius.  More... | |
| AABB | coal::CollisionGeometry::aabb_local | 
| AABB in local coordinate, used for tight AABB when only translation transform.  More... | |
| void * | coal::CollisionGeometry::user_data | 
| pointer to user defined data specific to this object  More... | |
| CoalScalar | coal::CollisionGeometry::cost_density | 
| collision cost for unit volume  More... | |
| CoalScalar | coal::CollisionGeometry::threshold_occupied | 
| threshold for occupied ( >= is occupied)  More... | |
| CoalScalar | coal::CollisionGeometry::threshold_free | 
| threshold for free (<= is free)  More... | |
| shared_ptr< CollisionGeometry > | coal::CollisionObject::cgeom | 
| Transform3s | coal::CollisionObject::t | 
| AABB | coal::CollisionObject::aabb | 
| AABB in global coordinate.  More... | |
| void * | coal::CollisionObject::user_data | 
| pointer to user defined data specific to this object  More... | |
Classes which are used to build a BVHModel (Bounding Volume Hierarchy)
| typedef BVNodeBase coal::BVNode< BV >::Base | 
      
  | 
  inline | 
Default constructor.
      
  | 
  pure virtual | 
Clone *this into a new CollisionGeometry.
Implemented in coal::Plane, coal::Halfspace, coal::ConvexBase, coal::Cylinder, coal::Cone, coal::Capsule, coal::Ellipsoid, coal::Sphere, coal::Box, coal::TriangleP, coal::Convex< PolygonT >, coal::OcTree, coal::HeightField< BV >, and coal::BVHModel< BV >.
      
  | 
  inline | 
      
  | 
  inline | 
get shared pointer to collision geometry of the object instance
      
  | 
  inline | 
get shared pointer to collision geometry of the object instance
      
  | 
  default | 
Copy constructor.
      
  | 
  inline | 
get raw pointer to collision geometry of the object instance
      
  | 
  inline | 
get raw pointer to collision geometry of the object instance
      
  | 
  inline | 
      
  | 
  inline | 
      
  | 
  inline | 
      
  | 
  inline | 
compute the AABB in world space
      
  | 
  inlinevirtual | 
compute center of mass
Reimplemented in coal::Cone, coal::Convex< PolygonT >, coal::HeightField< BV >, and coal::BVHModelBase.
      
  | 
  pure virtual | 
compute the AABB for object in local coordinate
Implemented in coal::Plane, coal::Halfspace, coal::ConvexBase, coal::Cylinder, coal::Cone, coal::Capsule, coal::Ellipsoid, coal::Sphere, coal::Box, coal::TriangleP, coal::OcTree, coal::HeightField< BV >, and coal::BVHModelBase.
      
  | 
  inlinevirtual | 
compute the inertia matrix, related to the origin
Reimplemented in coal::Cylinder, coal::Cone, coal::Capsule, coal::Ellipsoid, coal::Sphere, coal::Box, coal::Convex< PolygonT >, coal::HeightField< BV >, and coal::BVHModelBase.
      
  | 
  inlinevirtual | 
compute the inertia matrix, related to the com
      
  | 
  inlinevirtual | 
compute the volume
Reimplemented in coal::Cylinder, coal::Cone, coal::Capsule, coal::Ellipsoid, coal::Sphere, coal::Box, coal::Convex< PolygonT >, coal::HeightField< BV >, and coal::BVHModelBase.
      
  | 
  inline | 
Compute the distance between two BVNode. P1 and P2, if not NULL and the underlying BV supports distance, return the nearest points.
      
  | 
  inline | 
Access to the center of the BV.
      
  | 
  inlinevirtual | 
get the node type
Reimplemented in coal::Plane, coal::Halfspace, coal::ConvexBase, coal::Cylinder, coal::Cone, coal::Capsule, coal::Ellipsoid, coal::Sphere, coal::Box, coal::TriangleP, coal::OcTree, coal::HeightField< BV >, coal::HeightField< BV >, coal::HeightField< BV >, coal::HeightField< BV >, coal::HeightField< BV >, coal::HeightField< BV >, coal::HeightField< BV >, coal::HeightField< BV >, coal::HeightField< BV >, coal::BVHModel< BV >, coal::BVHModel< BV >, coal::BVHModel< BV >, coal::BVHModel< BV >, coal::BVHModel< BV >, coal::BVHModel< BV >, coal::BVHModel< BV >, coal::BVHModel< BV >, and coal::BVHModel< BV >.
      
  | 
  inline | 
get the node type
      
  | 
  inlinevirtual | 
get the type of the object
Reimplemented in coal::ShapeBase, coal::OcTree, coal::HeightField< BV >, and coal::BVHModelBase.
      
  | 
  inline | 
get the type of the object
      
  | 
  inline | 
Access to the orientation of the BV.
      
  | 
  inline | 
get matrix rotation of the object
      
  | 
  inline | 
get object's transform
      
  | 
  inline | 
get translation of the object
      
  | 
  inline | 
get user data in geometry
      
  | 
  inline | 
get user data in object
      
  | 
  inlineprotected | 
      
  | 
  inline | 
whether the object is completely free
      
  | 
  inline | 
whether the object is in local coordinate
      
  | 
  inline | 
Whether current node is a leaf node (i.e. contains a primitive index.
      
  | 
  inline | 
whether the object is completely occupied
| bool coal::CollisionGeometry::isUncertain | ( | ) | const | 
whether the object has some uncertainty
      
  | 
  inline | 
Return the index of the first child. The index is referred to the bounding volume array (i.e. bvs) in BVHModel.
      
  | 
  inline | 
Difference operator.
      
  | 
  inline | 
Difference operator.
      
  | 
  inline | 
Difference operator.
      
  | 
  inline | 
      
  | 
  inline | 
Equality operator.
      
  | 
  inline | 
Equality operator.
      
  | 
  inline | 
Equality operator.
      
  | 
  inline | 
      
  | 
  inline | 
Check whether two BVNode collide.
      
  | 
  inline | 
Check whether two BVNode collide.
      
  | 
  inline | 
Return the primitive index. The index is referred to the original data (i.e. vertices or tri_indices) in BVHModel.
      
  | 
  inline | 
Return the index of the second child. The index is referred to the bounding volume array (i.e. bvs) in BVHModel.
      
  | 
  inline | 
Associate a new CollisionGeometry.
| [in] | collision_geometry | The new CollisionGeometry | 
| [in] | compute_local_aabb | Whether the local aabb of the input new has to be computed. | 
      
  | 
  inline | 
set the object in local coordinate
      
  | 
  inline | 
set object's rotation matrix
set object's transform
      
  | 
  inline | 
set object's transform
      
  | 
  inline | 
set object's translation
      
  | 
  inline | 
set user data in geometry
      
  | 
  inline | 
set user data in object
      
  | 
  inlinevirtual | 
      
  | 
  inline | 
| AABB coal::CollisionGeometry::aabb_local | 
| CoalScalar coal::CollisionGeometry::aabb_radius | 
AABB radius.
| BV coal::BVNode< BV >::bv | 
bounding volume storing the geometry
      
  | 
  protected | 
| CoalScalar coal::CollisionGeometry::cost_density | 
collision cost for unit volume
| int coal::BVNodeBase::first_child | 
An index for first child node or primitive If the value is positive, it is the index of the first child bv node If the value is negative, it is -(primitive index + 1) Zero is not used.
| unsigned int coal::BVNodeBase::first_primitive | 
The start id the primitive belonging to the current node. The index is referred to the primitive_indices in BVHModel and from that we can obtain the primitive's index in original data indirectly.
| unsigned int coal::BVNodeBase::num_primitives | 
The number of primitives belonging to the current node.
      
  | 
  protected | 
| CoalScalar coal::CollisionGeometry::threshold_free | 
threshold for free (<= is free)
| CoalScalar coal::CollisionGeometry::threshold_occupied | 
threshold for occupied ( >= is occupied)
| void* coal::CollisionGeometry::user_data | 
pointer to user defined data specific to this object
      
  | 
  protected | 
pointer to user defined data specific to this object