Public Member Functions | Protected Attributes | List of all members
hpp::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 hpp::fcl::CollisionObject:
[legend]

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...
 
HPP_FCL_DEPRECATED const CollisionGeometrygetCollisionGeometry () const
 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...
 

Protected Attributes

boost::shared_ptr< CollisionGeometrycgeom
 
boost::shared_ptr< const CollisionGeometrycgeom_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

◆ CollisionObject() [1/3]

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

◆ CollisionObject() [2/3]

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

◆ CollisionObject() [3/3]

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

◆ ~CollisionObject()

hpp::fcl::CollisionObject::~CollisionObject ( )
inline

Member Function Documentation

◆ collisionGeometry() [1/2]

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

get geometry from the object instance

◆ collisionGeometry() [2/2]

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

get geometry from the object instance

◆ computeAABB()

void hpp::fcl::CollisionObject::computeAABB ( )
inline

compute the AABB in world space

References hpp::fcl::isQuatIdentity(), and hpp::fcl::translate().

◆ getAABB()

const AABB& hpp::fcl::CollisionObject::getAABB ( ) const
inline

get the AABB in world space

◆ getCollisionGeometry()

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

get geometry from the object instance

◆ getNodeType()

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

get the node type

◆ getObjectType()

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

get the type of the object

◆ getQuatRotation()

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

get quaternion rotation of the object

◆ getRotation()

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

get matrix rotation of the object

◆ getTransform()

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

get object's transform

◆ getTranslation()

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

get translation of the object

◆ getUserData()

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

get user data in object

References hpp::fcl::CollisionGeometry::user_data.

◆ isIdentityTransform()

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

whether the object is in local coordinate

◆ setIdentityTransform()

void hpp::fcl::CollisionObject::setIdentityTransform ( )
inline

set the object in local coordinate

References HPP_FCL_DEPRECATED.

◆ setQuatRotation()

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

set object's quatenrion rotation

◆ setRotation()

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

set object's rotation matrix

◆ setTransform() [1/3]

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

set object's transform

◆ setTransform() [2/3]

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

set object's transform

◆ setTransform() [3/3]

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

set object's transform

◆ setTranslation()

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

set object's translation

◆ setUserData()

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

set user data in object

References hpp::fcl::CollisionGeometry::user_data.

Member Data Documentation

◆ aabb

AABB hpp::fcl::CollisionObject::aabb
mutableprotected

AABB in global coordinate.

◆ cgeom

boost::shared_ptr<CollisionGeometry> hpp::fcl::CollisionObject::cgeom
protected

◆ cgeom_const

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

◆ t

Transform3f hpp::fcl::CollisionObject::t
protected

◆ user_data

void* hpp::fcl::CollisionObject::user_data
protected

pointer to user defined data specific to this object