Public Member Functions | |
ODECollidableBody (ref< const Shape > shape) | |
virtual | ~ODECollidableBody () |
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 dGeomID | getGeomID () const |
virtual BoundingBox | getBoundingBox () const |
virtual void | setName (const String &name) |
virtual void | setInterpenetrationIsNormal (bool interpenetrationIsNormal) |
virtual bool | isInterpenetrationNormal () const |
virtual ref< const Collidable > | findNamed (const String &name, bool recurse=true) const |
virtual ref< Collidable > | findNamed (const String &name, bool recurse=true) |
virtual void | setUserData (ref< base::ReferencedObject > data) |
virtual ref< base::ReferencedObject > | getUserData () 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 Shape > | getShape () 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) | |
Protected Member Functions | |
ODECollidableBody () | |
ODECollidableBody (ref< const Shape > shape, bool holdState) | |
ODECollidableBody (const ODECollidableBody &cb) | |
void | createGeom () |
create ODE geom from Shape | |
void | init (bool holdState) |
void | setShape (ref< Shape > shape) |
Protected Attributes | |
dGeomID | geomID |
ODE's geom ID (corresponding to shape - has pos/orient). | |
ref< BodyState > | state |
bool | interpenetrationNormal |
if under normal circumstances this Collidable is expected to sometimes be interpenetrating another Collidable, this is true | |
ref< base::ReferencedObject > | userData |
Int | userClass |
int | _refCount |
bool | onUnreferenceEnabled |
|
|
|
|
|
Definition at line 68 of file ODECollidableBody. |
|
Definition at line 69 of file ODECollidableBody. References init(). |
|
Definition at line 70 of file ODECollidableBody. |
|
return the name of the object's class type. Must be defined by derived classes. Reimplemented from physics::Body. Reimplemented in physics::ODESolidConnectedCollidableBody. Definition at line 44 of file ODECollidableBody. |
|
create ODE geom from Shape
Referenced by init(). |
|
If enabled, each call to unreference() will also call virtual method onUnreference() Definition at line 115 of file Referenced. References base::Referenced::onUnreferenceEnabled. |
|
Reimplemented in physics::CollidableGroup. Definition at line 51 of file Collidable. References base::Named::getName(). |
|
Reimplemented in physics::CollidableGroup. Definition at line 48 of file Collidable. References base::Named::getName(). |
|
Implements physics::DynamicSpatial. Reimplemented in physics::ODESolidConnectedCollidableBody. Definition at line 55 of file ODECollidableBody. |
|
Implements physics::Collidable. Definition at line 41 of file CollidableBody. References physics::PositionableOrientable::getConfiguration(), physics::Body::getShape(), and physics::BoundingBox::transform(). |
|
|
Definition at line 65 of file ODECollidableBody. References geomID. |
|
Reimplemented in physics::ODESolid. Definition at line 91 of file DynamicSpatial. References physics::PositionableOrientable::getConfiguration(), and base::Point3. |
|
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==(). |
|
Implements physics::DynamicSpatial. Reimplemented in physics::ODESolidConnectedCollidableBody. |
|
get the 2D angle theta (rot. angle about Z-axis)
|
|
Implements physics::DynamicSpatial. Reimplemented in physics::ODESolidConnectedCollidableBody. |
|
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. |
|
Reimplemented in physics::ODESolid. Definition at line 81 of file DynamicSpatial. References physics::PositionableOrientable::getConfiguration(), base::Point3, and base::Transform::transform(). |
|
Reimplemented in physics::ODESolid. Definition at line 86 of file DynamicSpatial. References base::Point3, and Unimplemented. |
|
Implements physics::DynamicSpatial. Reimplemented in physics::ODESolidConnectedCollidableBody. Definition at line 63 of file ODECollidableBody. |
|
Implements physics::DynamicSpatial. Reimplemented in physics::ODESolidConnectedCollidableBody. Definition at line 61 of file ODECollidableBody. |
|
Implements physics::DynamicSpatial. Reimplemented in physics::ODESolidConnectedCollidableBody. Definition at line 60 of file ODECollidableBody. References base::Point3. |
|
Implements physics::DynamicSpatial. Reimplemented in physics::ODESolidConnectedCollidableBody. Definition at line 62 of file ODECollidableBody. |
|
Definition at line 45 of file Body. Referenced by physics::Solid::createCollidable(), and physics::CollidableBody::getBoundingBox(). |
|
Definition at line 59 of file Collidable. References physics::Collidable::userClass. |
|
Definition at line 55 of file Collidable. References physics::Collidable::userData. |
|
Implements physics::DynamicSpatial. Reimplemented in physics::ODESolidConnectedCollidableBody. Definition at line 54 of file ODECollidableBody. |
|
Definition at line 105 of file ODECollidableBody. References createGeom(), and NewObj. Referenced by ODECollidableBody(). |
|
Definition at line 46 of file Collidable. References physics::Collidable::interpenetrationNormal. |
|
|
|
Definition at line 52 of file ReferencedObject. |
|
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(). |
|
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. |
|
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(). |
|
Implements physics::DynamicSpatial. Reimplemented in physics::ODESolidConnectedCollidableBody. |
|
Implements physics::DynamicSpatial. Reimplemented in physics::ODESolidConnectedCollidableBody. |
|
Implements physics::DynamicSpatial. Reimplemented in physics::ODESolidConnectedCollidableBody. Definition at line 50 of file ODECollidableBody. |
|
|
Definition at line 45 of file Collidable. References physics::Collidable::interpenetrationNormal. |
|
Reimplemented from base::Named. Definition at line 43 of file Collidable. |
|
Implements physics::DynamicSpatial. Reimplemented in physics::ODESolidConnectedCollidableBody. |
|
Implements physics::DynamicSpatial. Reimplemented in physics::ODESolidConnectedCollidableBody. |
|
set the 2D (x,y,theta) position (theta is rot. angle about Z-axis)
|
|
Definition at line 48 of file PositionableOrientable. References base::Point3, and physics::PositionableOrientable::setConfiguration(). |
|
|
|
Collisions between Collidables of the same class number (>0) are culled.
Definition at line 58 of file Collidable. |
|
Definition at line 54 of file Collidable. References physics::Collidable::userData. |
|
Implements physics::DynamicSpatial. Reimplemented in physics::ODESolidConnectedCollidableBody. Definition at line 49 of file ODECollidableBody. |
|
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. |
|
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(). |
|
ODE's geom ID (corresponding to shape - has pos/orient).
Definition at line 79 of file ODECollidableBody. Referenced by getGeomID(). |
|
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(). |
|
Definition at line 137 of file Referenced. Referenced by base::Referenced::enableOnUnreferenceCall(), base::Referenced::Referenced(), and base::Referenced::unreference(). |
|
Definition at line 103 of file ODECollidableBody. Referenced by ODECollidableBody(). |
|
Definition at line 69 of file Collidable. Referenced by physics::Collidable::Collidable(), and physics::Collidable::getUserClass(). |
|
Definition at line 68 of file Collidable. Referenced by physics::Collidable::Collidable(), physics::Collidable::getUserData(), and physics::Collidable::setUserData(). |