|
hpp-fcl
2.4.1
HPP fork of FCL -- The Flexible Collision Library
|
Classes which are used to build a BVHModel (Bounding Volume Hierarchy) More...
Classes | |
| struct | hpp::fcl::BVNodeBase |
| BVNodeBase encodes the tree structure for BVH. More... | |
| struct | hpp::fcl::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 | hpp::fcl::BVFitter< BV > |
| The class for the default algorithm fitting a bounding volume to a set of points. More... | |
| class | hpp::fcl::BVSplitter< BV > |
| A class describing the split rule that splits each BV node. More... | |
| class | hpp::fcl::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 | hpp::fcl::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 | hpp::fcl::CollisionGeometry |
| The geometry for the object for collision or distance computation. More... | |
| class | hpp::fcl::CollisionObject |
| the object for collision or distance computation, contains the geometry and the transform information More... | |
Typedefs | |
| typedef BVNodeBase | hpp::fcl::BVNode< BV >::Base |
Functions | |
| hpp::fcl::BVNodeBase::BVNodeBase () | |
| Default constructor. More... | |
| bool | hpp::fcl::BVNodeBase::operator== (const BVNodeBase &other) const |
| Equality operator. More... | |
| bool | hpp::fcl::BVNodeBase::operator!= (const BVNodeBase &other) const |
| Difference operator. More... | |
| bool | hpp::fcl::BVNodeBase::isLeaf () const |
| Whether current node is a leaf node (i.e. contains a primitive index. More... | |
| int | hpp::fcl::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 | hpp::fcl::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 | hpp::fcl::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 | hpp::fcl::BVNode< BV >::operator== (const BVNode &other) const |
| Equality operator. More... | |
| bool | hpp::fcl::BVNode< BV >::operator!= (const BVNode &other) const |
| Difference operator. More... | |
| bool | hpp::fcl::BVNode< BV >::overlap (const BVNode &other) const |
| Check whether two BVNode collide. More... | |
| bool | hpp::fcl::BVNode< BV >::overlap (const BVNode &other, const CollisionRequest &request, FCL_REAL &sqrDistLowerBound) const |
| Check whether two BVNode collide. More... | |
| FCL_REAL | hpp::fcl::BVNode< BV >::distance (const BVNode &other, Vec3f *P1=NULL, Vec3f *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... | |
| Vec3f | hpp::fcl::BVNode< BV >::getCenter () const |
| Access to the center of the BV. More... | |
| const Matrix3f & | hpp::fcl::BVNode< BV >::getOrientation () const |
| Access to the orientation of the BV. More... | |
| hpp::fcl::CollisionGeometry::CollisionGeometry () | |
| hpp::fcl::CollisionGeometry::CollisionGeometry (const CollisionGeometry &other)=default | |
| Copy constructor. More... | |
| virtual | hpp::fcl::CollisionGeometry::~CollisionGeometry () |
| virtual CollisionGeometry * | hpp::fcl::CollisionGeometry::clone () const =0 |
| Clone *this into a new CollisionGeometry. More... | |
| bool | hpp::fcl::CollisionGeometry::operator== (const CollisionGeometry &other) const |
| Equality operator. More... | |
| bool | hpp::fcl::CollisionGeometry::operator!= (const CollisionGeometry &other) const |
| Difference operator. More... | |
| virtual OBJECT_TYPE | hpp::fcl::CollisionGeometry::getObjectType () const |
| get the type of the object More... | |
| virtual NODE_TYPE | hpp::fcl::CollisionGeometry::getNodeType () const |
| get the node type More... | |
| virtual void | hpp::fcl::CollisionGeometry::computeLocalAABB ()=0 |
| compute the AABB for object in local coordinate More... | |
| void * | hpp::fcl::CollisionGeometry::getUserData () const |
| get user data in geometry More... | |
| void | hpp::fcl::CollisionGeometry::setUserData (void *data) |
| set user data in geometry More... | |
| bool | hpp::fcl::CollisionGeometry::isOccupied () const |
| whether the object is completely occupied More... | |
| bool | hpp::fcl::CollisionGeometry::isFree () const |
| whether the object is completely free More... | |
| bool | hpp::fcl::CollisionGeometry::isUncertain () const |
| whether the object has some uncertainty More... | |
| virtual Vec3f | hpp::fcl::CollisionGeometry::computeCOM () const |
| compute center of mass More... | |
| virtual Matrix3f | hpp::fcl::CollisionGeometry::computeMomentofInertia () const |
| compute the inertia matrix, related to the origin More... | |
| virtual FCL_REAL | hpp::fcl::CollisionGeometry::computeVolume () const |
| compute the volume More... | |
| virtual Matrix3f | hpp::fcl::CollisionGeometry::computeMomentofInertiaRelatedToCOM () const |
| compute the inertia matrix, related to the com More... | |
| hpp::fcl::CollisionObject::CollisionObject (const shared_ptr< CollisionGeometry > &cgeom_, bool compute_local_aabb=true) | |
| hpp::fcl::CollisionObject::CollisionObject (const shared_ptr< CollisionGeometry > &cgeom_, const Transform3f &tf, bool compute_local_aabb=true) | |
| hpp::fcl::CollisionObject::CollisionObject (const shared_ptr< CollisionGeometry > &cgeom_, const Matrix3f &R, const Vec3f &T, bool compute_local_aabb=true) | |
| bool | hpp::fcl::CollisionObject::operator== (const CollisionObject &other) const |
| bool | hpp::fcl::CollisionObject::operator!= (const CollisionObject &other) const |
| hpp::fcl::CollisionObject::~CollisionObject () | |
| OBJECT_TYPE | hpp::fcl::CollisionObject::getObjectType () const |
| get the type of the object More... | |
| NODE_TYPE | hpp::fcl::CollisionObject::getNodeType () const |
| get the node type More... | |
| const AABB & | hpp::fcl::CollisionObject::getAABB () const |
| get the AABB in world space More... | |
| AABB & | hpp::fcl::CollisionObject::getAABB () |
| get the AABB in world space More... | |
| void | hpp::fcl::CollisionObject::computeAABB () |
| compute the AABB in world space More... | |
| void * | hpp::fcl::CollisionObject::getUserData () const |
| get user data in object More... | |
| void | hpp::fcl::CollisionObject::setUserData (void *data) |
| set user data in object More... | |
| const Vec3f & | hpp::fcl::CollisionObject::getTranslation () const |
| get translation of the object More... | |
| const Matrix3f & | hpp::fcl::CollisionObject::getRotation () const |
| get matrix rotation of the object More... | |
| const Transform3f & | hpp::fcl::CollisionObject::getTransform () const |
| get object's transform More... | |
| void | hpp::fcl::CollisionObject::setRotation (const Matrix3f &R) |
| set object's rotation matrix More... | |
| void | hpp::fcl::CollisionObject::setTranslation (const Vec3f &T) |
| set object's translation More... | |
| void | hpp::fcl::CollisionObject::setTransform (const Matrix3f &R, const Vec3f &T) |
| set object's transform More... | |
| void | hpp::fcl::CollisionObject::setTransform (const Transform3f &tf) |
| set object's transform More... | |
| bool | hpp::fcl::CollisionObject::isIdentityTransform () const |
| whether the object is in local coordinate More... | |
| void | hpp::fcl::CollisionObject::setIdentityTransform () |
| set the object in local coordinate More... | |
| const shared_ptr< const CollisionGeometry > | hpp::fcl::CollisionObject::collisionGeometry () const |
| get shared pointer to collision geometry of the object instance More... | |
| const shared_ptr< CollisionGeometry > & | hpp::fcl::CollisionObject::collisionGeometry () |
| get shared pointer to collision geometry of the object instance More... | |
| const CollisionGeometry * | hpp::fcl::CollisionObject::collisionGeometryPtr () const |
| get raw pointer to collision geometry of the object instance More... | |
| CollisionGeometry * | hpp::fcl::CollisionObject::collisionGeometryPtr () |
| get raw pointer to collision geometry of the object instance More... | |
| void | hpp::fcl::CollisionObject::setCollisionGeometry (const shared_ptr< CollisionGeometry > &collision_geometry, bool compute_local_aabb=true) |
| Associate a new CollisionGeometry. More... | |
| void | hpp::fcl::CollisionObject::init (bool compute_local_aabb=true) |
Variables | |
| int | hpp::fcl::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 | hpp::fcl::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 | hpp::fcl::BVNodeBase::num_primitives |
| The number of primitives belonging to the current node. More... | |
| BV | hpp::fcl::BVNode< BV >::bv |
| bounding volume storing the geometry More... | |
| Vec3f | hpp::fcl::CollisionGeometry::aabb_center |
| AABB center in local coordinate. More... | |
| FCL_REAL | hpp::fcl::CollisionGeometry::aabb_radius |
| AABB radius. More... | |
| AABB | hpp::fcl::CollisionGeometry::aabb_local |
| AABB in local coordinate, used for tight AABB when only translation transform. More... | |
| void * | hpp::fcl::CollisionGeometry::user_data |
| pointer to user defined data specific to this object More... | |
| FCL_REAL | hpp::fcl::CollisionGeometry::cost_density |
| collision cost for unit volume More... | |
| FCL_REAL | hpp::fcl::CollisionGeometry::threshold_occupied |
| threshold for occupied ( >= is occupied) More... | |
| FCL_REAL | hpp::fcl::CollisionGeometry::threshold_free |
| threshold for free (<= is free) More... | |
| shared_ptr< CollisionGeometry > | hpp::fcl::CollisionObject::cgeom |
| Transform3f | hpp::fcl::CollisionObject::t |
| AABB | hpp::fcl::CollisionObject::aabb |
| AABB in global coordinate. More... | |
| void * | hpp::fcl::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 hpp::fcl::BVNode< BV >::Base |
|
inline |
Default constructor.
|
pure virtual |
Clone *this into a new CollisionGeometry.
Implemented in hpp::fcl::Plane, hpp::fcl::Halfspace, hpp::fcl::ConvexBase, hpp::fcl::Cylinder, hpp::fcl::Cone, hpp::fcl::Capsule, hpp::fcl::BVHModel< BV >, hpp::fcl::Ellipsoid, hpp::fcl::HeightField< BV >, hpp::fcl::Sphere, hpp::fcl::Box, hpp::fcl::Convex< PolygonT >, hpp::fcl::OcTree, and hpp::fcl::TriangleP.
|
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 hpp::fcl::Cone, hpp::fcl::HeightField< BV >, hpp::fcl::BVHModelBase, and hpp::fcl::Convex< PolygonT >.
|
pure virtual |
compute the AABB for object in local coordinate
Implemented in hpp::fcl::Plane, hpp::fcl::Halfspace, hpp::fcl::ConvexBase, hpp::fcl::Cylinder, hpp::fcl::Cone, hpp::fcl::Capsule, hpp::fcl::Ellipsoid, hpp::fcl::HeightField< BV >, hpp::fcl::Sphere, hpp::fcl::Box, hpp::fcl::BVHModelBase, hpp::fcl::OcTree, and hpp::fcl::TriangleP.
|
inlinevirtual |
compute the inertia matrix, related to the origin
Reimplemented in hpp::fcl::Cylinder, hpp::fcl::Cone, hpp::fcl::Capsule, hpp::fcl::HeightField< BV >, hpp::fcl::Ellipsoid, hpp::fcl::BVHModelBase, hpp::fcl::Sphere, hpp::fcl::Box, and hpp::fcl::Convex< PolygonT >.
|
inlinevirtual |
compute the inertia matrix, related to the com
|
inlinevirtual |
compute the volume
Reimplemented in hpp::fcl::Cylinder, hpp::fcl::Cone, hpp::fcl::Capsule, hpp::fcl::HeightField< BV >, hpp::fcl::Ellipsoid, hpp::fcl::Sphere, hpp::fcl::BVHModelBase, hpp::fcl::Box, and hpp::fcl::Convex< PolygonT >.
|
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 hpp::fcl::Plane, hpp::fcl::Halfspace, hpp::fcl::ConvexBase, hpp::fcl::Cylinder, hpp::fcl::HeightField< BV >, hpp::fcl::HeightField< BV >, hpp::fcl::HeightField< BV >, hpp::fcl::HeightField< BV >, hpp::fcl::HeightField< BV >, hpp::fcl::BVHModel< BV >, hpp::fcl::HeightField< BV >, hpp::fcl::BVHModel< BV >, hpp::fcl::HeightField< BV >, hpp::fcl::BVHModel< BV >, hpp::fcl::HeightField< BV >, hpp::fcl::BVHModel< BV >, hpp::fcl::BVHModel< BV >, hpp::fcl::BVHModel< BV >, hpp::fcl::BVHModel< BV >, hpp::fcl::BVHModel< BV >, hpp::fcl::HeightField< BV >, hpp::fcl::Cone, hpp::fcl::Capsule, hpp::fcl::BVHModel< BV >, hpp::fcl::Ellipsoid, hpp::fcl::OcTree, hpp::fcl::Sphere, hpp::fcl::Box, and hpp::fcl::TriangleP.
|
inline |
get the node type
|
inlinevirtual |
get the type of the object
Reimplemented in hpp::fcl::HeightField< BV >, hpp::fcl::OcTree, hpp::fcl::BVHModelBase, and hpp::fcl::ShapeBase.
|
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 hpp::fcl::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 hpp::fcl::CollisionGeometry::aabb_local |
| BV hpp::fcl::BVNode< BV >::bv |
bounding volume storing the geometry
|
protected |
| FCL_REAL hpp::fcl::CollisionGeometry::cost_density |
collision cost for unit volume
| int hpp::fcl::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 hpp::fcl::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 hpp::fcl::BVNodeBase::num_primitives |
The number of primitives belonging to the current node.
|
protected |
| FCL_REAL hpp::fcl::CollisionGeometry::threshold_free |
threshold for free (<= is free)
| FCL_REAL hpp::fcl::CollisionGeometry::threshold_occupied |
threshold for occupied ( >= is occupied)
| void* hpp::fcl::CollisionGeometry::user_data |
pointer to user defined data specific to this object
|
protected |
pointer to user defined data specific to this object