All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
fcl::CollisionObject Class Reference

the object for collision or distance computation, contains the geometry and the transform information More...

#include <hpp/fcl/collision_object.h>

Collaboration diagram for fcl::CollisionObject:

Public Member Functions

 CollisionObject (const boost::shared_ptr< CollisionGeometry > &cgeom_)
 
 CollisionObject (const boost::shared_ptr< CollisionGeometry > &cgeom_, const Transform3f &tf)
 
 CollisionObject (const boost::shared_ptr< CollisionGeometry > &cgeom_, const Matrix3f &R, const Vec3f &T)
 
 ~CollisionObject ()
 
OBJECT_TYPE getObjectType () const
 get the type of the object More...
 
NODE_TYPE getNodeType () const
 get the node type More...
 
const AABBgetAABB () const
 get the AABB in world space More...
 
void computeAABB ()
 compute the AABB in world space More...
 
void * getUserData () const
 get user data in object More...
 
void setUserData (void *data)
 set user data in object More...
 
const Vec3fgetTranslation () const
 get translation of the object More...
 
const Matrix3fgetRotation () const
 get matrix rotation of the object More...
 
const Quaternion3fgetQuatRotation () const
 get quaternion rotation of the object More...
 
const Transform3fgetTransform () const
 get object's transform More...
 
void setRotation (const Matrix3f &R)
 set object's rotation matrix More...
 
void setTranslation (const Vec3f &T)
 set object's translation More...
 
void setQuatRotation (const Quaternion3f &q)
 set object's quatenrion rotation More...
 
void setTransform (const Matrix3f &R, const Vec3f &T)
 set object's transform More...
 
void setTransform (const Quaternion3f &q, const Vec3f &T)
 set object's transform More...
 
void setTransform (const Transform3f &tf)
 set object's transform More...
 
bool isIdentityTransform () const
 whether the object is in local coordinate More...
 
void setIdentityTransform ()
 set the object in local coordinate More...
 
const CollisionGeometrygetCollisionGeometry () const FCL_DEPRECATED
 get geometry from the object instance More...
 
const boost::shared_ptr< const
CollisionGeometry > & 
collisionGeometry () const
 get geometry from the object instance More...
 
const boost::shared_ptr
< CollisionGeometry > & 
collisionGeometry ()
 get geometry from the object instance More...
 
FCL_REAL getCostDensity () const
 get object's cost density More...
 
void setCostDensity (FCL_REAL c)
 set object's cost density 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 is uncertain More...
 

Protected Attributes

boost::shared_ptr
< CollisionGeometry
cgeom
 
boost::shared_ptr< const
CollisionGeometry
cgeom_const
 
Transform3f t
 
AABB aabb
 AABB in global coordinate. More...
 
void * user_data
 pointer to user defined data specific to this object More...
 

Detailed Description

the object for collision or distance computation, contains the geometry and the transform information

Constructor & Destructor Documentation

fcl::CollisionObject::CollisionObject ( const boost::shared_ptr< CollisionGeometry > &  cgeom_)
inline

References cgeom, and computeAABB().

fcl::CollisionObject::CollisionObject ( const boost::shared_ptr< CollisionGeometry > &  cgeom_,
const Transform3f tf 
)
inline

References cgeom, and computeAABB().

fcl::CollisionObject::CollisionObject ( const boost::shared_ptr< CollisionGeometry > &  cgeom_,
const Matrix3f R,
const Vec3f T 
)
inline

References cgeom, and computeAABB().

fcl::CollisionObject::~CollisionObject ( )
inline

Member Function Documentation

const boost::shared_ptr<const CollisionGeometry>& fcl::CollisionObject::collisionGeometry ( ) const
inline

get geometry from the object instance

References cgeom_const.

const boost::shared_ptr<CollisionGeometry>& fcl::CollisionObject::collisionGeometry ( )
inline

get geometry from the object instance

References cgeom.

const CollisionGeometry* fcl::CollisionObject::getCollisionGeometry ( ) const
inline

get geometry from the object instance

References cgeom.

FCL_REAL fcl::CollisionObject::getCostDensity ( ) const
inline

get object's cost density

References cgeom.

NODE_TYPE fcl::CollisionObject::getNodeType ( ) const
inline

get the node type

References cgeom.

OBJECT_TYPE fcl::CollisionObject::getObjectType ( ) const
inline

get the type of the object

References cgeom.

const Quaternion3f& fcl::CollisionObject::getQuatRotation ( ) const
inline

get quaternion rotation of the object

References fcl::Transform3f::getQuatRotation(), and t.

const Matrix3f& fcl::CollisionObject::getRotation ( ) const
inline

get matrix rotation of the object

References fcl::Transform3f::getRotation(), and t.

const Transform3f& fcl::CollisionObject::getTransform ( ) const
inline

get object's transform

References t.

const Vec3f& fcl::CollisionObject::getTranslation ( ) const
inline

get translation of the object

References fcl::Transform3f::getTranslation(), and t.

void* fcl::CollisionObject::getUserData ( ) const
inline

get user data in object

References user_data.

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

whether the object is completely free

References cgeom.

bool fcl::CollisionObject::isIdentityTransform ( ) const
inline

whether the object is in local coordinate

References fcl::Transform3f::isIdentity(), and t.

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

whether the object is completely occupied

References cgeom.

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

whether the object is uncertain

References cgeom.

void fcl::CollisionObject::setCostDensity ( FCL_REAL  c)
inline

set object's cost density

References cgeom.

void fcl::CollisionObject::setIdentityTransform ( )
inline

set the object in local coordinate

References fcl::Transform3f::setIdentity(), and t.

void fcl::CollisionObject::setQuatRotation ( const Quaternion3f q)
inline

set object's quatenrion rotation

References fcl::Transform3f::setQuatRotation(), and t.

void fcl::CollisionObject::setRotation ( const Matrix3f R)
inline

set object's rotation matrix

References fcl::Transform3f::setRotation(), and t.

void fcl::CollisionObject::setTransform ( const Matrix3f R,
const Vec3f T 
)
inline

set object's transform

References fcl::Transform3f::setTransform(), and t.

void fcl::CollisionObject::setTransform ( const Quaternion3f q,
const Vec3f T 
)
inline

set object's transform

References fcl::Transform3f::setTransform(), and t.

void fcl::CollisionObject::setTransform ( const Transform3f tf)
inline

set object's transform

References t.

void fcl::CollisionObject::setTranslation ( const Vec3f T)
inline

set object's translation

References fcl::Transform3f::setTranslation(), and t.

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

set user data in object

References user_data.

Member Data Documentation

AABB fcl::CollisionObject::aabb
mutableprotected

AABB in global coordinate.

Referenced by computeAABB(), and getAABB().

boost::shared_ptr<const CollisionGeometry> fcl::CollisionObject::cgeom_const
protected

Referenced by collisionGeometry().

void* fcl::CollisionObject::user_data
protected

pointer to user defined data specific to this object

Referenced by getUserData(), and setUserData().