DART  6.10.1
dart::collision::OdeCollisionObject Class Reference

#include <OdeCollisionObject.hpp>

Inheritance diagram for dart::collision::OdeCollisionObject:
dart::collision::CollisionObject

Public Member Functions

virtual ~OdeCollisionObject ()
 Destructor. More...
 
CollisionDetectorgetCollisionDetector ()
 Return collision detection engine associated with this CollisionObject. More...
 
const CollisionDetectorgetCollisionDetector () const
 Return collision detection engine associated with this CollisionObject. More...
 
const dynamics::ShapeFramegetShapeFrame () const
 Return the associated ShapeFrame. More...
 
dynamics::ConstShapePtr getShape () const
 Return the associated Shape. More...
 
const Eigen::Isometry3d & getTransform () const
 Return the transformation of this CollisionObject in world coordinates. More...
 

Protected Member Functions

 OdeCollisionObject (OdeCollisionDetector *collisionDetector, const dynamics::ShapeFrame *shapeFrame)
 Constructor. More...
 
OdeCollisionObjectoperator= (OdeCollisionObject &&other)
 Move assignment operator. More...
 
void updateEngineData () override
 Update the collision object of the collision detection engine. More...
 
dBodyID getOdeBodyId () const
 Returns the ODE body id associated to this object. More...
 
dGeomID getOdeGeomId () const
 Returns the ODE body id associated to this object. More...
 

Protected Attributes

std::unique_ptr< detail::OdeGeommOdeGeom
 ODE geom. More...
 
dBodyID mBodyId
 ODE body id associated with this object. More...
 
CollisionDetectormCollisionDetector
 Collision detector. More...
 
const dynamics::ShapeFramemShapeFrame
 ShapeFrame. More...
 

Friends

class OdeCollisionDetector
 
class OdeCollisionGroup
 

Constructor & Destructor Documentation

◆ ~OdeCollisionObject()

dart::collision::OdeCollisionObject::~OdeCollisionObject ( )
virtual

Destructor.

◆ OdeCollisionObject()

dart::collision::OdeCollisionObject::OdeCollisionObject ( OdeCollisionDetector collisionDetector,
const dynamics::ShapeFrame shapeFrame 
)
protected

Constructor.

Member Function Documentation

◆ getCollisionDetector() [1/2]

CollisionDetector * dart::collision::CollisionObject::getCollisionDetector ( )
inherited

Return collision detection engine associated with this CollisionObject.

◆ getCollisionDetector() [2/2]

const CollisionDetector * dart::collision::CollisionObject::getCollisionDetector ( ) const
inherited

Return collision detection engine associated with this CollisionObject.

◆ getOdeBodyId()

dBodyID dart::collision::OdeCollisionObject::getOdeBodyId ( ) const
protected

Returns the ODE body id associated to this object.

◆ getOdeGeomId()

dGeomID dart::collision::OdeCollisionObject::getOdeGeomId ( ) const
protected

Returns the ODE body id associated to this object.

◆ getShape()

dynamics::ConstShapePtr dart::collision::CollisionObject::getShape ( ) const
inherited

Return the associated Shape.

◆ getShapeFrame()

const dynamics::ShapeFrame * dart::collision::CollisionObject::getShapeFrame ( ) const
inherited

Return the associated ShapeFrame.

◆ getTransform()

const Eigen::Isometry3d & dart::collision::CollisionObject::getTransform ( ) const
inherited

Return the transformation of this CollisionObject in world coordinates.

◆ operator=()

OdeCollisionObject & dart::collision::OdeCollisionObject::operator= ( OdeCollisionObject &&  other)
protected

Move assignment operator.

This is used to refresh OdeCollisionObjects when their underlying shape information needs to be updated.

◆ updateEngineData()

void dart::collision::OdeCollisionObject::updateEngineData ( )
overrideprotectedvirtual

Update the collision object of the collision detection engine.

This function will be called ahead of every collision checking by CollisionGroup.

Implements dart::collision::CollisionObject.

Friends And Related Function Documentation

◆ OdeCollisionDetector

friend class OdeCollisionDetector
friend

◆ OdeCollisionGroup

friend class OdeCollisionGroup
friend

Member Data Documentation

◆ mBodyId

dBodyID dart::collision::OdeCollisionObject::mBodyId
protected

ODE body id associated with this object.

If the ODE geom type is immobile, this is nullptr.

◆ mCollisionDetector

CollisionDetector* dart::collision::CollisionObject::mCollisionDetector
protectedinherited

Collision detector.

◆ mOdeGeom

std::unique_ptr<detail::OdeGeom> dart::collision::OdeCollisionObject::mOdeGeom
protected

ODE geom.

◆ mShapeFrame

const dynamics::ShapeFrame* dart::collision::CollisionObject::mShapeFrame
protectedinherited

ShapeFrame.