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