All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
fcl::CollisionGeometry Class Referenceabstract

The geometry for the object for collision or distance computation. More...

#include <hpp/fcl/collision_object.h>

Inheritance diagram for fcl::CollisionGeometry:
Collaboration diagram for fcl::CollisionGeometry:

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...
 

Detailed Description

The geometry for the object for collision or distance computation.

Constructor & Destructor Documentation

fcl::CollisionGeometry::CollisionGeometry ( )
inline
virtual fcl::CollisionGeometry::~CollisionGeometry ( )
inlinevirtual

Member Function Documentation

virtual Vec3f fcl::CollisionGeometry::computeCOM ( ) const
inlinevirtual
virtual void fcl::CollisionGeometry::computeLocalAABB ( )
pure virtual
virtual Matrix3f fcl::CollisionGeometry::computeMomentofInertia ( ) const
inlinevirtual
virtual Matrix3f fcl::CollisionGeometry::computeMomentofInertiaRelatedToCOM ( ) const
inlinevirtual

compute the inertia matrix, related to the com

References computeCOM(), computeMomentofInertia(), and computeVolume().

virtual FCL_REAL fcl::CollisionGeometry::computeVolume ( ) const
inlinevirtual
virtual OBJECT_TYPE fcl::CollisionGeometry::getObjectType ( ) const
inlinevirtual
void* fcl::CollisionGeometry::getUserData ( ) const
inline

get user data in geometry

References user_data.

bool fcl::CollisionGeometry::isFree ( ) const
inline

whether the object is completely free

References cost_density, and threshold_free.

Referenced by isUncertain().

bool fcl::CollisionGeometry::isOccupied ( ) const
inline

whether the object is completely occupied

References cost_density, and threshold_occupied.

Referenced by isUncertain().

bool fcl::CollisionGeometry::isUncertain ( ) const
inline

whether the object has some uncertainty

References isFree(), and isOccupied().

void fcl::CollisionGeometry::setUserData ( void *  data)
inline

set user data in geometry

References user_data.

Member Data Documentation

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().