The geometry for the object for collision or distance computation. More...
#include <hpp/fcl/collision_object.h>
Public Member Functions | |
CollisionGeometry () | |
virtual | ~CollisionGeometry () |
virtual OBJECT_TYPE | getObjectType () const |
get the type of the object More... | |
virtual NODE_TYPE | getNodeType () const |
get the node type More... | |
virtual void | computeLocalAABB ()=0 |
compute the AABB for object in local coordinate 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 Vec3f | computeCOM () const |
compute center of mass More... | |
virtual Matrix3f | computeMomentofInertia () const |
compute the inertia matrix, related to the origin More... | |
virtual FCL_REAL | computeVolume () const |
compute the volume More... | |
virtual Matrix3f | computeMomentofInertiaRelatedToCOM () const |
compute the inertia matrix, related to the com More... | |
Public Attributes | |
Vec3f | aabb_center |
AABB center in local coordinate. More... | |
FCL_REAL | 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... | |
FCL_REAL | cost_density |
collision cost for unit volume More... | |
FCL_REAL | threshold_occupied |
threshold for occupied ( >= is occupied) More... | |
FCL_REAL | threshold_free |
threshold for free (<= is free) More... | |
The geometry for the object for collision or distance computation.
|
inline |
|
inlinevirtual |
|
inlinevirtual |
compute center of mass
Reimplemented in fcl::Convex, fcl::Cone, fcl::BVHModel< BV >, fcl::BVHModel< OBB >, fcl::BVHModel< kIOS >, fcl::BVHModel< RSS >, and fcl::BVHModel< OBBRSS >.
Referenced by computeMomentofInertiaRelatedToCOM().
|
pure virtual |
compute the AABB for object in local coordinate
Implemented in fcl::Plane, fcl::Halfspace, fcl::Convex, fcl::Cylinder, fcl::Cone, fcl::Capsule, fcl::BVHModel< BV >, fcl::BVHModel< OBB >, fcl::BVHModel< kIOS >, fcl::BVHModel< RSS >, fcl::BVHModel< OBBRSS >, fcl::Sphere, fcl::OcTree, fcl::Box, and fcl::TriangleP.
|
inlinevirtual |
compute the inertia matrix, related to the origin
Reimplemented in fcl::Convex, fcl::Cylinder, fcl::BVHModel< BV >, fcl::BVHModel< OBB >, fcl::BVHModel< kIOS >, fcl::BVHModel< RSS >, fcl::BVHModel< OBBRSS >, fcl::Cone, fcl::Capsule, fcl::Sphere, and fcl::Box.
Referenced by computeMomentofInertiaRelatedToCOM().
|
inlinevirtual |
compute the inertia matrix, related to the com
References computeCOM(), computeMomentofInertia(), and computeVolume().
|
inlinevirtual |
compute the volume
Reimplemented in fcl::Convex, fcl::Cylinder, fcl::BVHModel< BV >, fcl::BVHModel< OBB >, fcl::BVHModel< kIOS >, fcl::BVHModel< RSS >, fcl::BVHModel< OBBRSS >, fcl::Cone, fcl::Capsule, fcl::Sphere, and fcl::Box.
Referenced by computeMomentofInertiaRelatedToCOM().
|
inlinevirtual |
get the node type
Reimplemented in fcl::Plane, fcl::Halfspace, fcl::BVHModel< BV >, fcl::BVHModel< BV >, fcl::BVHModel< BV >, fcl::BVHModel< BV >, fcl::BVHModel< BV >, fcl::BVHModel< BV >, fcl::BVHModel< BV >, fcl::BVHModel< BV >, fcl::Convex, fcl::Cylinder, fcl::Cone, fcl::OcTree, fcl::Capsule, fcl::Sphere, fcl::BVHModel< BV >, fcl::BVHModel< OBB >, fcl::BVHModel< kIOS >, fcl::BVHModel< RSS >, fcl::BVHModel< OBBRSS >, fcl::Box, and fcl::TriangleP.
References fcl::BV_UNKNOWN.
|
inlinevirtual |
get the type of the object
Reimplemented in fcl::OcTree, fcl::BVHModel< BV >, fcl::BVHModel< OBB >, fcl::BVHModel< kIOS >, fcl::BVHModel< RSS >, fcl::BVHModel< OBBRSS >, and fcl::ShapeBase.
References fcl::OT_UNKNOWN.
|
inline |
get user data in geometry
References user_data.
|
inline |
whether the object is completely free
References cost_density, and threshold_free.
Referenced by isUncertain().
|
inline |
whether the object is completely occupied
References cost_density, and threshold_occupied.
Referenced by isUncertain().
|
inline |
whether the object has some uncertainty
References isFree(), and isOccupied().
|
inline |
set user data in geometry
References user_data.
Vec3f fcl::CollisionGeometry::aabb_center |
AABB center in local coordinate.
Referenced by fcl::OcTree::computeLocalAABB().
AABB fcl::CollisionGeometry::aabb_local |
AABB in local coordinate, used for tight AABB when only translation transform.
Referenced by fcl::OcTree::computeLocalAABB().
FCL_REAL fcl::CollisionGeometry::aabb_radius |
AABB radius.
Referenced by fcl::OcTree::computeLocalAABB().
FCL_REAL fcl::CollisionGeometry::cost_density |
collision cost for unit volume
Referenced by fcl::initialize(), isFree(), and isOccupied().
FCL_REAL fcl::CollisionGeometry::threshold_free |
threshold for free (<= is free)
Referenced by isFree().
FCL_REAL fcl::CollisionGeometry::threshold_occupied |
threshold for occupied ( >= is occupied)
Referenced by isOccupied().
void* fcl::CollisionGeometry::user_data |
pointer to user defined data specific to this object
Referenced by getUserData(), and setUserData().