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 | |
Solid (const Solid &s) | |
virtual | ~Solid () |
virtual String | className () const |
virtual void | setName (const String &name) |
virtual MassProperties | massProperties () const |
virtual ref< const Material > | getMaterial () const |
virtual void | setEnabled (bool enable)=0 |
virtual bool | isEnabled () const=0 |
virtual void | addForce (const Vector3 &f)=0 |
virtual void | addTorque (const Vector3 &t)=0 |
virtual void | addRelForce (const Vector3 &f)=0 |
virtual void | addRelTorque (const Vector3 &t)=0 |
virtual void | addForceAtPos (const Vector3 &f, const Point3 &p)=0 |
virtual void | addForceAtRelPos (const Vector3 &f, const Point3 &p)=0 |
virtual void | addRelForceAtPos (const Vector3 &f, const Point3 &p)=0 |
virtual void | addRelForceAtRelPos (const Vector3 &f, const Point3 &p)=0 |
virtual Vector3 | getForce () const=0 |
virtual Vector3 | getTorque () const=0 |
virtual ref< Collidable > | createCollidable (CollidableFlags flags=0) |
create CollidableBody (not connected to Solid if flags contains SolidNotConnected - i.e. not SolidConnectedCollidableBody) | |
virtual ref< Collidable > | createCollidable (ref< const Shape > collisionShape, CollidableFlags flags=0)=0 |
virtual bool | visualTypeSupported (VisualType type) const |
virtual osg::Node * | createOSGVisual (Visual::Attributes visualAttributes=0) const |
virtual ref< const Shape > | getShape () const |
virtual void | setPosition (const Point3 &x)=0 |
virtual void | setOrientation (const Orient &orient)=0 |
virtual Point3 | getPosition () const=0 |
virtual Orient | getOrientation () const=0 |
virtual void | setVelocity (const Vector3 &v)=0 |
virtual void | setAngVelocity (const Vector3 &w)=0 |
virtual Vector3 | getVelocity () const=0 |
virtual Vector3 | getAngVelocity () const=0 |
virtual void | saveState ()=0 |
virtual void | restoreState ()=0 |
virtual Point3 | getSavedPosition () const=0 |
virtual Orient | getSavedOrientation () const=0 |
virtual Vector3 | getSavedVelocity () const=0 |
virtual Vector3 | getSavedAngVelocity () const=0 |
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 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 | |
Solid () | |
Solid (ref< const Shape > shape, ref< const Material > material) | |
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 | |
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 | 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(). |
|
|
|
|
|
|
|
|
|
|
|
Implemented in physics::ODESolid. |
|
Implemented in physics::ODESolid. |
|
Implemented in physics::ODESolid. |
|
Implemented in physics::ODESolid. |
|
Implemented in physics::ODESolid. |
|
Implemented in physics::ODESolid. |
|
Implemented in physics::ODESolid. |
|
Implemented in physics::ODESolid. |
|
return the name of the object's class type. Must be defined by derived classes. Reimplemented from physics::Body. Reimplemented in physics::ODESolid. |
|
Implemented in physics::ODESolid. |
|
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(). |
|
Reimplemented from gfx::Visual. |
|
If enabled, each call to unreference() will also call virtual method onUnreference() Definition at line 115 of file Referenced. References base::Referenced::onUnreferenceEnabled. |
|
Implemented in physics::ODECollidableBody, physics::ODESolid, physics::ODESolidConnectedCollidableBody, and physics::SolidConnectedCollidableBody. Referenced by physics::operator<<(), and physics::DynamicSpatial::operator=(). |
|
|
Implemented in physics::ODESolid. |
|
Reimplemented in physics::ODESolid. Definition at line 91 of file DynamicSpatial. References physics::PositionableOrientable::getConfiguration(), and base::Point3. |
|
Definition at line 57 of file Solid. References 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::Orientable. Implemented in physics::ODECollidableBody, physics::ODESolid, physics::ODESolidConnectedCollidableBody, and physics::SolidConnectedCollidableBody. Referenced by physics::operator<<(). |
|
get the 2D angle theta (rot. angle about Z-axis)
|
|
Implements physics::Positionable. Implemented in physics::ODECollidableBody, physics::ODESolid, physics::ODESolidConnectedCollidableBody, and physics::SolidConnectedCollidableBody. Referenced by physics::operator<<(). |
|
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. |
|
Implemented in physics::ODECollidableBody, physics::ODESolid, physics::ODESolidConnectedCollidableBody, and physics::SolidConnectedCollidableBody. Referenced by physics::DynamicSpatial::operator=(). |
|
Implemented in physics::ODECollidableBody, physics::ODESolid, physics::ODESolidConnectedCollidableBody, and physics::SolidConnectedCollidableBody. Referenced by physics::DynamicSpatial::operator=(). |
|
Implemented in physics::ODECollidableBody, physics::ODESolid, physics::ODESolidConnectedCollidableBody, and physics::SolidConnectedCollidableBody. Referenced by physics::DynamicSpatial::operator=(). |
|
Implemented in physics::ODECollidableBody, physics::ODESolid, physics::ODESolidConnectedCollidableBody, and physics::SolidConnectedCollidableBody. Referenced by physics::DynamicSpatial::operator=(). |
|
Definition at line 45 of file Body. Referenced by createCollidable(), and physics::CollidableBody::getBoundingBox(). |
|
Implemented in physics::ODESolid. |
|
Implemented in physics::ODECollidableBody, physics::ODESolid, physics::ODESolidConnectedCollidableBody, and physics::SolidConnectedCollidableBody. Referenced by physics::operator<<(), and physics::DynamicSpatial::operator=(). |
|
Implemented in physics::ODESolid. |
|
|
|
Definition at line 52 of file ReferencedObject. |
|
Reimplemented in physics::ODESolid. |
|
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(). |
|
Implemented in physics::ODECollidableBody, physics::ODESolid, physics::ODESolidConnectedCollidableBody, and physics::SolidConnectedCollidableBody. |
|
Implemented in physics::ODECollidableBody, physics::ODESolid, physics::ODESolidConnectedCollidableBody, and physics::SolidConnectedCollidableBody. Referenced by physics::DynamicSpatial::operator=(). |
|
Implemented in physics::ODECollidableBody, physics::ODESolid, physics::ODESolidConnectedCollidableBody, and physics::SolidConnectedCollidableBody. Referenced by physics::DynamicSpatial::operator=(). |
|
|
Implemented in physics::ODESolid. |
|
Reimplemented from base::Named. Definition at line 54 of file Solid. References base::Named::setName(). |
|
Implements physics::Orientable. Implemented in physics::ODECollidableBody, physics::ODESolid, physics::ODESolidConnectedCollidableBody, and physics::SolidConnectedCollidableBody. Referenced by physics::DynamicSpatial::operator=(). |
|
Implements physics::Positionable. Implemented in physics::ODECollidableBody, physics::ODESolid, physics::ODESolidConnectedCollidableBody, and physics::SolidConnectedCollidableBody. Referenced by physics::DynamicSpatial::operator=(). |
|
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(). |
|
|
|
Implemented in physics::ODECollidableBody, physics::ODESolid, physics::ODESolidConnectedCollidableBody, and physics::SolidConnectedCollidableBody. Referenced by physics::DynamicSpatial::operator=(). |
|
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 in physics::ODESolid. |
|
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(). |
|
|
|
Definition at line 93 of file Solid. Referenced by getMaterial(). |
|
|
|
Definition at line 137 of file Referenced. Referenced by base::Referenced::enableOnUnreferenceCall(), base::Referenced::Referenced(), and base::Referenced::unreference(). |
|
|
|
|
|
transforms visual to current solid position/orientation
|