Public Types | |
typedef Int | Attributes |
typedef Int | VisualType |
enum | AttributeFlags { ShowAxes = 1, ShowBounds = 2, ShowCollisions = 4, ShowCollisionModel = 8, ShowCollisionDetection = 16, ShowEdges = 32, ShowNormals = 64, VerticesOnly = 128 } |
typedef std::bitset< sizeof(Int)*8 | CollidableFlags ) |
typedef Int | CollidableFlag |
Public Member Functions | |
ODESolid (const Solid &s) | |
virtual | ~ODESolid () |
virtual String | className () const |
virtual MassProperties | massProperties () const |
virtual Body & | operator= (const Body &b) |
virtual void | setEnabled (bool enable) |
virtual bool | isEnabled () 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 Point3 | getRelPointPos (const Point3 &p) |
virtual Vector3 | getRelPointVel (const Point3 &p) |
virtual Point3 | getGlobalPointRelPos (const Point3 &p) |
virtual void | addForce (const Vector3 &f) |
virtual void | addTorque (const Vector3 &t) |
virtual void | addRelForce (const Vector3 &f) |
virtual void | addRelTorque (const Vector3 &t) |
virtual void | addForceAtPos (const Vector3 &f, const Point3 &p) |
virtual void | addForceAtRelPos (const Vector3 &f, const Point3 &p) |
virtual void | addRelForceAtPos (const Vector3 &f, const Point3 &p) |
virtual void | addRelForceAtRelPos (const Vector3 &f, const Point3 &p) |
virtual Vector3 | getForce () const |
virtual Vector3 | getTorque () const |
virtual ref< Collidable > | createCollidable (ref< const Shape > collisionShape, CollidableFlags flags=0) |
virtual dBodyID | getBodyID () const |
get ODE's dBodyID | |
virtual void | setName (const String &name) |
virtual ref< const Material > | getMaterial () const |
virtual ref< Collidable > | createCollidable (CollidableFlags flags=0) |
create CollidableBody (not connected to Solid if flags contains SolidNotConnected - i.e. not SolidConnectedCollidableBody) | |
virtual bool | visualTypeSupported (VisualType type) const |
virtual osg::Node * | createOSGVisual (Visual::Attributes visualAttributes=0) const |
virtual ref< const Shape > | getShape () const |
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 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 |
Static Public Attributes | |
const CollidableProvider::CollidableFlag | SolidNotConnected = 1 |
const Int | OSGVisual = 1 |
Protected Member Functions | |
ODESolid (ref< const Shape > shape, ref< const Material > material) | |
void | create (dWorldID worldID) const |
create ODE body etc. and add to worldID | |
void | destroy () const |
destroy the body and remove it from the world | |
Vector3 | AngVelToAngMomentum (const Quat4 &orient, const Vector3 &w) const |
virtual void | updateVisual () |
update the visual to the current position & orientation state (does nothing if no Visual requested) | |
void | setShape (ref< Shape > shape) |
Protected Attributes | |
dVector3 | savedPos |
dQuaternion | savedOrient |
dVector3 | savedVel |
dVector3 | savedAngVel |
bool | created |
have ODE entities been created? (creation is delayed until call to create() ) | |
dWorldID | worldID |
ODE's world ID (for world this is in). | |
dBodyID | bodyID |
ODE's body ID. | |
ref< const Material > | material |
Visual::Attributes | attributes |
ref_ptr< osg::Node > | node |
osg::MatrixTransform * | worldTransform |
transforms visual to current solid position/orientation | |
int | _refCount |
bool | onUnreferenceEnabled |
Friends | |
class | ODESolidSystem |
class | ODEJoint |
class | ODECollisionResponseHandler |
class | SolidSystem |
|
Definition at line 39 of file Visual. Referenced by gfx::Visual::createOSGVisual(). |
|
Definition at line 45 of file CollidableProvider. |
|
Definition at line 44 of file CollidableProvider. |
|
Definition at line 44 of file Visual. Referenced by gfx::Visual::visualTypeSupported(). |
|
|
|
|
|
|
|
|
|
Implements physics::Solid. |
|
Implements physics::Solid. |
|
Implements physics::Solid. |
|
Implements physics::Solid. |
|
Implements physics::Solid. |
|
Implements physics::Solid. |
|
Implements physics::Solid. |
|
Implements physics::Solid. |
|
|
|
return the name of the object's class type. Must be defined by derived classes. Reimplemented from physics::Solid. |
|
create ODE body etc. and add to worldID
|
|
create CollidableBody (not connected to Solid if flags contains SolidNotConnected - i.e. not SolidConnectedCollidableBody)
Implements physics::CollidableProvider. Definition at line 80 of file Solid. References physics::Body::getShape(). |
|
Implements physics::Solid. |
|
Reimplemented from gfx::Visual. |
|
destroy the body and remove it from the world
|
|
If enabled, each call to unreference() will also call virtual method onUnreference() Definition at line 115 of file Referenced. References base::Referenced::onUnreferenceEnabled. |
|
Implements physics::DynamicSpatial. |
|
get ODE's dBodyID
Definition at line 94 of file ODESolid. References bodyID. |
|
|
Implements physics::Solid. |
|
Reimplemented from physics::DynamicSpatial. |
|
Definition at line 57 of file Solid. References physics::Solid::material. |
|
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. |
|
get the 2D angle theta (rot. angle about Z-axis)
|
|
Implements physics::DynamicSpatial. |
|
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 from physics::DynamicSpatial. |
|
Reimplemented from physics::DynamicSpatial. |
|
Implements physics::DynamicSpatial. |
|
Implements physics::DynamicSpatial. |
|
Implements physics::DynamicSpatial. |
|
Implements physics::DynamicSpatial. |
|
Definition at line 45 of file Body. Referenced by physics::Solid::createCollidable(), and physics::CollidableBody::getBoundingBox(). |
|
Implements physics::Solid. |
|
Implements physics::DynamicSpatial. |
|
Implements physics::Solid. |
|
|
|
Definition at line 52 of file ReferencedObject. |
|
Reimplemented from physics::Solid. |
|
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(). |
|
Reimplemented from physics::Body. |
|
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. |
|
Implements physics::DynamicSpatial. |
|
Implements physics::DynamicSpatial. |
|
|
Implements physics::Solid. |
|
Reimplemented from base::Named. Definition at line 54 of file Solid. References base::Named::setName(). |
|
Implements physics::DynamicSpatial. |
|
Implements physics::DynamicSpatial. |
|
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(). |
|
|
|
Implements physics::DynamicSpatial. |
|
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. |
|
update the visual to the current position & orientation state (does nothing if no Visual requested)
Reimplemented from physics::Solid. |
|
Reimplemented from gfx::Visual. |
|
|
|
|
|
|
|
|
|
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 body ID.
Definition at line 112 of file ODESolid. Referenced by getBodyID(). |
|
have ODE entities been created? (creation is delayed until call to create() )
|
|
Definition at line 93 of file Solid. Referenced by physics::Solid::getMaterial(). |
|
|
|
Definition at line 137 of file Referenced. Referenced by base::Referenced::enableOnUnreferenceCall(), base::Referenced::Referenced(), and base::Referenced::unreference(). |
|
|
|
|
|
|
|
|
|
|
|
|
|
ODE's world ID (for world this is in).
|
|
transforms visual to current solid position/orientation
|