Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | File List | Namespace Members | Class Members | File Members | Related Pages

physics::ODESolidConnectedCollidableBody Class Reference

Inheritance diagram for physics::ODESolidConnectedCollidableBody:

Inheritance graph
[legend]
Collaboration diagram for physics::ODESolidConnectedCollidableBody:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 ODESolidConnectedCollidableBody (ref< Solid > solid, ref< const Shape > shape)
virtual ~ODESolidConnectedCollidableBody ()
virtual String className () const
virtual void setPosition (const Point3 &x)
virtual void setOrientation (const Orient &orient)
virtual void setVelocity (const Vector3 &v)
virtual void setAngVelocity (const Vector3 &w)
virtual Point3 getPosition () const
virtual Orient getOrientation () const
virtual Vector3 getVelocity () const
virtual Vector3 getAngVelocity () const
virtual void saveState ()
virtual void restoreState ()
virtual Point3 getSavedPosition () const
virtual Orient getSavedOrientation () const
virtual Vector3 getSavedVelocity () const
virtual Vector3 getSavedAngVelocity () const
virtual ref< SolidgetSolid () const
 get Solid to which this CollidableBody is connected

virtual BoundingBox getBoundingBox () const
virtual void setName (const String &name)
virtual void setInterpenetrationIsNormal (bool interpenetrationIsNormal)
virtual bool isInterpenetrationNormal () const
virtual ref< const CollidablefindNamed (const String &name, bool recurse=true) const
virtual ref< CollidablefindNamed (const String &name, bool recurse=true)
virtual void setUserData (ref< base::ReferencedObject > data)
virtual ref< base::ReferencedObjectgetUserData () const
virtual void setUserClass (Int userClass=0)
 Collisions between Collidables of the same class number (>0) are culled.

virtual Int getUserClass () const
virtual const String & getName () const
virtual bool isSameKindAs (const ReferencedObject &) const
virtual bool isSameKindAs (const Object &) const
void reference () const
bool unreference () const
const int referenceCount () const
void enableOnUnreferenceCall (bool enabled)
virtual void onUnreference () const
virtual ref< const ShapegetShape () const
virtual Point3 getRelPointPos (const Point3 &p)
virtual Vector3 getRelPointVel (const Point3 &p)
virtual Point3 getGlobalPointRelPos (const Point3 &p)
virtual void setPositionOrientation (const Point3 &pos, const Orient &orient)
virtual void setConfiguration (const base::Transform &configuration)
virtual base::Transform getConfiguration () const
virtual void setPosition2D (const base::Point2 &p, Real theta)
 set the 2D (x,y,theta) position (theta is rot. angle about Z-axis)

virtual base::Point2 getPosition2D () const
 get the 2D (x,y) position

Real getOrientation2D () const
 get the 2D angle theta (rot. angle about Z-axis)

virtual dGeomID getGeomID () const

Protected Member Functions

 ODESolidConnectedCollidableBody ()
 ODESolidConnectedCollidableBody (const ODESolidConnectedCollidableBody &cb)
void setShape (ref< Shape > shape)
void createGeom ()
 create ODE geom from Shape

void init (bool holdState)

Protected Attributes

ref< Solidsolid
 Solid to which this CollidableBody is connected.

bool interpenetrationNormal
 if under normal circumstances this Collidable is expected to sometimes be interpenetrating another Collidable, this is true

ref< base::ReferencedObjectuserData
Int userClass
int _refCount
bool onUnreferenceEnabled
dGeomID geomID
 ODE's geom ID (corresponding to shape - has pos/orient).

ref< BodyState > state

Constructor & Destructor Documentation

physics::ODESolidConnectedCollidableBody::ODESolidConnectedCollidableBody ref< Solid solid,
ref< const Shape shape
 

virtual physics::ODESolidConnectedCollidableBody::~ODESolidConnectedCollidableBody  )  [virtual]
 

physics::ODESolidConnectedCollidableBody::ODESolidConnectedCollidableBody  )  [inline, protected]
 

Definition at line 66 of file ODESolidConnectedCollidableBody.

physics::ODESolidConnectedCollidableBody::ODESolidConnectedCollidableBody const ODESolidConnectedCollidableBody cb  )  [inline, protected]
 

Definition at line 67 of file ODESolidConnectedCollidableBody.


Member Function Documentation

virtual String physics::ODESolidConnectedCollidableBody::className  )  const [inline, virtual]
 

return the name of the object's class type. Must be defined by derived classes.

Reimplemented from physics::ODECollidableBody.

Definition at line 45 of file ODESolidConnectedCollidableBody.

void physics::ODECollidableBody::createGeom  )  [protected, inherited]
 

create ODE geom from Shape

Referenced by physics::ODECollidableBody::init().

void base::Referenced::enableOnUnreferenceCall bool  enabled  )  [inline, inherited]
 

If enabled, each call to unreference() will also call virtual method onUnreference()

Definition at line 115 of file Referenced.

References base::Referenced::onUnreferenceEnabled.

virtual ref<Collidable> physics::Collidable::findNamed const String &  name,
bool  recurse = true
[inline, virtual, inherited]
 

Reimplemented in physics::CollidableGroup.

Definition at line 51 of file Collidable.

References base::Named::getName().

virtual ref<const Collidable> physics::Collidable::findNamed const String &  name,
bool  recurse = true
const [inline, virtual, inherited]
 

Reimplemented in physics::CollidableGroup.

Definition at line 48 of file Collidable.

References base::Named::getName().

virtual Vector3 physics::ODESolidConnectedCollidableBody::getAngVelocity  )  const [inline, virtual]
 

Reimplemented from physics::ODECollidableBody.

Definition at line 55 of file ODESolidConnectedCollidableBody.

virtual BoundingBox physics::CollidableBody::getBoundingBox  )  const [inline, virtual, inherited]
 

Implements physics::Collidable.

Definition at line 41 of file CollidableBody.

References physics::PositionableOrientable::getConfiguration(), physics::Body::getShape(), and physics::BoundingBox::transform().

virtual base::Transform physics::PositionableOrientable::getConfiguration  )  const [inline, virtual, inherited]
 

Reimplemented in physics::SpatialTransform, robot::sim::SimulatedPlatform, robot::sim::SimulatedRobot, robot::sim::SimulatedSerialManipulator, and robot::sim::SimulatedTool.

Definition at line 60 of file PositionableOrientable.

References physics::Orientable::getOrientation(), and physics::Positionable::getPosition().

Referenced by physics::CollidableBody::getBoundingBox(), physics::DynamicSpatial::getGlobalPointRelPos(), physics::DynamicSpatial::getRelPointPos(), physics::PositionableOrientable::operator=(), and physics::PositionableOrientable::PositionableOrientable().

virtual dGeomID physics::ODECollidableBody::getGeomID  )  const [inline, virtual, inherited]
 

Definition at line 65 of file ODECollidableBody.

References physics::ODECollidableBody::geomID.

virtual Point3 physics::DynamicSpatial::getGlobalPointRelPos const Point3 p  )  [inline, virtual, inherited]
 

Reimplemented in physics::ODESolid.

Definition at line 91 of file DynamicSpatial.

References physics::PositionableOrientable::getConfiguration(), and base::Point3.

virtual const String& base::Named::getName  )  const [inline, virtual, inherited]
 

Definition at line 44 of file Named.

References base::String.

Referenced by physics::Collidable::findNamed(), physics::operator<<(), robot::ToolDescription::operator=(), robot::RobotDescription::operator=(), robot::PlatformDescription::operator=(), robot::ManipulatorDescription::operator=(), base::Named::operator=(), and robot::ManipulatorDescription::operator==().

virtual Orient physics::ODESolidConnectedCollidableBody::getOrientation  )  const [inline, virtual]
 

Reimplemented from physics::ODECollidableBody.

Definition at line 53 of file ODESolidConnectedCollidableBody.

Real physics::PositionableOrientable::getOrientation2D  )  const [inherited]
 

get the 2D angle theta (rot. angle about Z-axis)

virtual Point3 physics::ODESolidConnectedCollidableBody::getPosition  )  const [inline, virtual]
 

Reimplemented from physics::ODECollidableBody.

Definition at line 52 of file ODESolidConnectedCollidableBody.

References base::Point3.

virtual base::Point2 physics::PositionableOrientable::getPosition2D  )  const [inline, virtual, inherited]
 

get the 2D (x,y) position

Definition at line 72 of file PositionableOrientable.

References physics::Positionable::getPosition(), base::Point2, base::Point3, base::Vector3::x, and base::Vector3::y.

virtual Point3 physics::DynamicSpatial::getRelPointPos const Point3 p  )  [inline, virtual, inherited]
 

Reimplemented in physics::ODESolid.

Definition at line 81 of file DynamicSpatial.

References physics::PositionableOrientable::getConfiguration(), base::Point3, and base::Transform::transform().

virtual Vector3 physics::DynamicSpatial::getRelPointVel const Point3 p  )  [inline, virtual, inherited]
 

Reimplemented in physics::ODESolid.

Definition at line 86 of file DynamicSpatial.

References base::Point3, and Unimplemented.

virtual Vector3 physics::ODESolidConnectedCollidableBody::getSavedAngVelocity  )  const [inline, virtual]
 

Reimplemented from physics::ODECollidableBody.

Definition at line 63 of file ODESolidConnectedCollidableBody.

virtual Orient physics::ODESolidConnectedCollidableBody::getSavedOrientation  )  const [inline, virtual]
 

Reimplemented from physics::ODECollidableBody.

Definition at line 61 of file ODESolidConnectedCollidableBody.

virtual Point3 physics::ODESolidConnectedCollidableBody::getSavedPosition  )  const [inline, virtual]
 

Reimplemented from physics::ODECollidableBody.

Definition at line 60 of file ODESolidConnectedCollidableBody.

References base::Point3.

virtual Vector3 physics::ODESolidConnectedCollidableBody::getSavedVelocity  )  const [inline, virtual]
 

Reimplemented from physics::ODECollidableBody.

Definition at line 62 of file ODESolidConnectedCollidableBody.

virtual ref<const Shape> physics::Body::getShape  )  const [inline, virtual, inherited]
 

Definition at line 45 of file Body.

Referenced by physics::Solid::createCollidable(), and physics::CollidableBody::getBoundingBox().

virtual ref<Solid> physics::SolidConnectedCollidableBody::getSolid  )  const [inline, virtual, inherited]
 

get Solid to which this CollidableBody is connected

Definition at line 63 of file SolidConnectedCollidableBody.

References physics::SolidConnectedCollidableBody::solid.

virtual Int physics::Collidable::getUserClass  )  const [inline, virtual, inherited]
 

Definition at line 59 of file Collidable.

References physics::Collidable::userClass.

virtual ref<base::ReferencedObject> physics::Collidable::getUserData  )  const [inline, virtual, inherited]
 

Definition at line 55 of file Collidable.

References physics::Collidable::userData.

virtual Vector3 physics::ODESolidConnectedCollidableBody::getVelocity  )  const [inline, virtual]
 

Reimplemented from physics::ODECollidableBody.

Definition at line 54 of file ODESolidConnectedCollidableBody.

void physics::ODECollidableBody::init bool  holdState  )  [inline, protected, inherited]
 

Definition at line 105 of file ODECollidableBody.

References physics::ODECollidableBody::createGeom(), and NewObj.

Referenced by physics::ODECollidableBody::ODECollidableBody().

virtual bool physics::Collidable::isInterpenetrationNormal  )  const [inline, virtual, inherited]
 

Definition at line 46 of file Collidable.

References physics::Collidable::interpenetrationNormal.

virtual bool base::Object::isSameKindAs const Object  )  const [inline, virtual, inherited]
 

Definition at line 47 of file Object.

virtual bool base::ReferencedObject::isSameKindAs const ReferencedObject  )  const [inline, virtual, inherited]
 

Definition at line 52 of file ReferencedObject.

virtual void base::Referenced::onUnreference  )  const [inline, virtual, inherited]
 

Called by unreference() if enabled via enableOnUnreferenceCall(true). Typically overridden in subclasses that wish to know about unreference() calls - for example to handle manually breaking cyclic references

Reimplemented in robot::control::ControllableAdaptor::AdaptorControlInterface, and robot::control::ControllableAdaptor.

Definition at line 121 of file Referenced.

Referenced by base::Referenced::unreference().

void base::Referenced::reference  )  const [inline, inherited]
 

Increment the reference count by one, indicating that this object has another pointer which is referencing it.

Definition at line 65 of file Referenced.

References base::Referenced::_refCount.

const int base::Referenced::referenceCount  )  const [inline, inherited]
 

Return the number pointers currently referencing this object.

Definition at line 112 of file Referenced.

References base::Referenced::_refCount.

Referenced by robot::control::ControllableAdaptor::AdaptorControlInterface::onUnreference().

virtual void physics::ODESolidConnectedCollidableBody::restoreState  )  [inline, virtual]
 

Reimplemented from physics::ODECollidableBody.

Definition at line 58 of file ODESolidConnectedCollidableBody.

virtual void physics::ODESolidConnectedCollidableBody::saveState  )  [inline, virtual]
 

Reimplemented from physics::ODECollidableBody.

Definition at line 57 of file ODESolidConnectedCollidableBody.

virtual void physics::ODESolidConnectedCollidableBody::setAngVelocity const Vector3 w  )  [inline, virtual]
 

Reimplemented from physics::ODECollidableBody.

Definition at line 50 of file ODESolidConnectedCollidableBody.

virtual void physics::PositionableOrientable::setConfiguration const base::Transform configuration  )  [inline, virtual, inherited]
 

Reimplemented in physics::SpatialGroup, physics::SpatialTransform, robot::sim::SimulatedPlatform, robot::sim::SimulatedRobot, robot::sim::SimulatedSerialManipulator, and robot::sim::SimulatedTool.

Definition at line 53 of file PositionableOrientable.

References base::Transform::getRotation(), base::Transform::getTranslation(), physics::Orientable::setOrientation(), and physics::Positionable::setPosition().

Referenced by physics::PositionableOrientable::operator=(), physics::PositionableOrientable::PositionableOrientable(), and physics::PositionableOrientable::setPositionOrientation().

virtual void physics::Collidable::setInterpenetrationIsNormal bool  interpenetrationIsNormal  )  [inline, virtual, inherited]
 

Definition at line 45 of file Collidable.

References physics::Collidable::interpenetrationNormal.

virtual void physics::Collidable::setName const String &  name  )  [inline, virtual, inherited]
 

Reimplemented from base::Named.

Definition at line 43 of file Collidable.

virtual void physics::ODESolidConnectedCollidableBody::setOrientation const Orient orient  )  [inline, virtual]
 

Reimplemented from physics::ODECollidableBody.

Definition at line 48 of file ODESolidConnectedCollidableBody.

virtual void physics::ODESolidConnectedCollidableBody::setPosition const Point3 x  )  [inline, virtual]
 

Reimplemented from physics::ODECollidableBody.

Definition at line 47 of file ODESolidConnectedCollidableBody.

References base::Point3.

virtual void physics::PositionableOrientable::setPosition2D const base::Point2 p,
Real  theta
[virtual, inherited]
 

set the 2D (x,y,theta) position (theta is rot. angle about Z-axis)

virtual void physics::PositionableOrientable::setPositionOrientation const Point3 pos,
const Orient orient
[inline, virtual, inherited]
 

Definition at line 48 of file PositionableOrientable.

References base::Point3, and physics::PositionableOrientable::setConfiguration().

void physics::Body::setShape ref< Shape shape  )  [inline, protected, inherited]
 

Definition at line 55 of file Body.

virtual void physics::Collidable::setUserClass Int  userClass = 0  )  [inline, virtual, inherited]
 

Collisions between Collidables of the same class number (>0) are culled.

Definition at line 58 of file Collidable.

virtual void physics::Collidable::setUserData ref< base::ReferencedObject data  )  [inline, virtual, inherited]
 

Definition at line 54 of file Collidable.

References physics::Collidable::userData.

virtual void physics::ODESolidConnectedCollidableBody::setVelocity const Vector3 v  )  [inline, virtual]
 

Reimplemented from physics::ODECollidableBody.

Definition at line 49 of file ODESolidConnectedCollidableBody.

bool base::Referenced::unreference  )  const [inline, inherited]
 

Decrement the reference count by one, indicating that a pointer to this object is referencing it. If the refence count goes to zero, it is assumed that this object is nolonger referenced and is automatically deleted.

Definition at line 81 of file Referenced.

References base::Referenced::_refCount, Exception, base::Referenced::onUnreference(), and base::Referenced::onUnreferenceEnabled.


Member Data Documentation

int base::Referenced::_refCount [mutable, protected, inherited]
 

Definition at line 136 of file Referenced.

Referenced by base::Referenced::reference(), base::Referenced::referenceCount(), base::Referenced::Referenced(), base::Referenced::unreference(), and base::Referenced::~Referenced().

dGeomID physics::ODECollidableBody::geomID [protected, inherited]
 

ODE's geom ID (corresponding to shape - has pos/orient).

Definition at line 79 of file ODECollidableBody.

Referenced by physics::ODECollidableBody::getGeomID().

bool physics::Collidable::interpenetrationNormal [protected, inherited]
 

if under normal circumstances this Collidable is expected to sometimes be interpenetrating another Collidable, this is true

Definition at line 66 of file Collidable.

Referenced by physics::Collidable::Collidable(), physics::Collidable::isInterpenetrationNormal(), and physics::Collidable::setInterpenetrationIsNormal().

bool base::Referenced::onUnreferenceEnabled [protected, inherited]
 

Definition at line 137 of file Referenced.

Referenced by base::Referenced::enableOnUnreferenceCall(), base::Referenced::Referenced(), and base::Referenced::unreference().

ref<Solid> physics::SolidConnectedCollidableBody::solid [protected, inherited]
 

Solid to which this CollidableBody is connected.

Definition at line 70 of file SolidConnectedCollidableBody.

Referenced by physics::SolidConnectedCollidableBody::getAngVelocity(), physics::SolidConnectedCollidableBody::getOrientation(), physics::SolidConnectedCollidableBody::getPosition(), physics::SolidConnectedCollidableBody::getSavedAngVelocity(), physics::SolidConnectedCollidableBody::getSavedOrientation(), physics::SolidConnectedCollidableBody::getSavedPosition(), physics::SolidConnectedCollidableBody::getSavedVelocity(), physics::SolidConnectedCollidableBody::getSolid(), physics::SolidConnectedCollidableBody::getVelocity(), physics::SolidConnectedCollidableBody::restoreState(), physics::SolidConnectedCollidableBody::saveState(), physics::SolidConnectedCollidableBody::setAngVelocity(), physics::SolidConnectedCollidableBody::setOrientation(), physics::SolidConnectedCollidableBody::setPosition(), physics::SolidConnectedCollidableBody::setVelocity(), and physics::SolidConnectedCollidableBody::SolidConnectedCollidableBody().

ref<BodyState> physics::ODECollidableBody::state [protected, inherited]
 

Definition at line 103 of file ODECollidableBody.

Referenced by physics::ODECollidableBody::ODECollidableBody().

Int physics::Collidable::userClass [protected, inherited]
 

Definition at line 69 of file Collidable.

Referenced by physics::Collidable::Collidable(), and physics::Collidable::getUserClass().

ref<base::ReferencedObject> physics::Collidable::userData [protected, inherited]
 

Definition at line 68 of file Collidable.

Referenced by physics::Collidable::Collidable(), physics::Collidable::getUserData(), and physics::Collidable::setUserData().


The documentation for this class was generated from the following file:
Generated on Thu Jul 29 16:41:16 2004 for OpenSim by doxygen 1.3.6