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 | |
SolidSystem () | |
SolidSystem (const SolidSystem &ss) | |
virtual | ~SolidSystem () |
virtual ref< Solid > | createSolid (ref< const Shape > shape, ref< const Material > material)=0 |
create a new Solid | |
virtual ref< ConstraintGroup > | createConstraintGroup ()=0 |
new ConstraintGroup | |
virtual ref< BallJoint > | createBallJoint ()=0 |
new Ball & Socket joint constraint | |
virtual ref< HingeJoint > | createHingeJoint ()=0 |
new Hinge joint constraint | |
virtual ref< DoubleHingeJoint > | createDoubleHingeJoint ()=0 |
new Double Hinge joint constraint | |
virtual ref< SliderJoint > | createSliderJoint ()=0 |
new Slider joint constraint | |
virtual ref< UniversalJoint > | createUniversalJoint ()=0 |
new Universal joint constraint | |
virtual ref< FixedConstraint > | createFixedConstraint ()=0 |
new FixedConstraint | |
virtual ref< ContactConstraint > | createContactConstraint ()=0 |
new ContactConstraint | |
virtual ref< Motor > | createMotor ()=0 |
new Joint Motor | |
virtual void | setGround (ref< Solid > ground, const Point3 &position)=0 |
Set the ground Solid (which is fixed to the world frame and doesn't move from position). | |
virtual ref< Solid > | getGround () const=0 |
Get the ground Solid. | |
virtual void | setGravity (const Vector3 &v)=0 |
set acceleration due to gravity (e.g. Vector3(0,0,-9.8)) | |
virtual void | addSolid (ref< Solid > solid)=0 |
add solid to the system (Solid must be from createSolid() | |
virtual void | removeSolid (ref< const Solid > solid)=0 |
remove solid from the system | |
virtual void | addConstraintGroup (ref< ConstraintGroup > group)=0 |
add a constraint group to the system | |
virtual void | removeConstraintGroup (ref< const ConstraintGroup > group)=0 |
remove constraint group from the system | |
virtual void | setCollidable (ref< Collidable > collidable)=0 |
virtual void | setCollisionCuller (ref< CollisionCuller > collisionCuller)=0 |
called to cull Collidables from collision detection | |
virtual ref< CollisionCuller > | getCollisionCuller () const=0 |
get the current CollisionCuller | |
virtual void | setCollisionDetector (ref< CollisionDetector > collisionDetector)=0 |
called to detect collisions | |
virtual ref< CollisionDetector > | getCollisionDetector () const=0 |
get the current CollisionDetector (or null if none) | |
virtual void | setCollisionResponseHandler (ref< CollisionResponseHandler > collisionResponseHandler)=0 |
called to handle collisions | |
virtual ref< CollisionResponseHandler > | getCollisionResponseHandler () const=0 |
virtual void | setParameter (const String &name, Real value) |
Set implementation specific parameters. Unknown names will throw a std::invald_argument exception. | |
virtual void | preSimulate ()=0 |
virtual void | simulateForSimTime (const Time &dt)=0 |
void | simulateForRealTime (const Time &dt, Real simTimeStepSize=minSimStepSize) |
virtual bool | isSameKindAs (const ReferencedObject &) const |
virtual bool | isSameKindAs (const Object &) const |
virtual String | className () const=0 |
void | reference () const |
bool | unreference () const |
const int | referenceCount () const |
void | enableOnUnreferenceCall (bool enabled) |
virtual void | onUnreference () const |
virtual bool | visualTypeSupported (VisualType type) const |
virtual osg::Node * | createOSGVisual (Visual::Attributes visualAttributes=0) const |
virtual ref< Collidable > | createCollidable (CollidableFlags flags=0)=0 |
Static Public Attributes | |
const Real | minSimStepSize |
const Int | OSGVisual = 1 |
Protected Attributes | |
int | _refCount |
bool | onUnreferenceEnabled |
|
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(). |
|
|
|
|
|
|
|
|
|
add a constraint group to the system
Implemented in physics::ODESolidSystem. |
|
add solid to the system (Solid must be from createSolid()
Implemented in physics::ODESolidSystem. |
|
|
new Ball & Socket joint constraint
Implemented in physics::ODESolidSystem. |
|
Implemented in physics::ODESolidSystem, physics::Solid, robot::sim::SimulatedPlatform, robot::sim::SimulatedRobot, robot::sim::SimulatedSerialManipulator, and robot::sim::SimulatedTool. |
|
new ConstraintGroup
Implemented in physics::ODESolidSystem. |
|
Implemented in physics::ODESolidSystem. |
|
new Double Hinge joint constraint
Implemented in physics::ODESolidSystem. |
|
new FixedConstraint
Implemented in physics::ODESolidSystem. |
|
new Hinge joint constraint
Implemented in physics::ODESolidSystem. |
|
Implemented in physics::ODESolidSystem. |
|
Reimplemented in physics::GJKCollisionDetector, physics::OBBCollisionModel, physics::ODECollisionModel, physics::ODESolidSystem, physics::Solid, physics::SOLIDCollisionModel, and robot::sim::SimulatedBasicEnvironment. Definition at line 49 of file Visual. References gfx::Visual::Attributes, Logln, and NewObj. |
|
new Slider joint constraint
Implemented in physics::ODESolidSystem. |
|
create a new Solid
Implemented in physics::ODESolidSystem. |
|
new Universal joint constraint
Implemented in physics::ODESolidSystem. |
|
If enabled, each call to unreference() will also call virtual method onUnreference() Definition at line 115 of file Referenced. References base::Referenced::onUnreferenceEnabled. |
|
get the current CollisionCuller
Implemented in physics::ODESolidSystem. |
|
get the current CollisionDetector (or null if none)
Implemented in physics::ODESolidSystem. |
|
Implemented in physics::ODESolidSystem. |
|
Get the ground Solid.
Implemented in physics::ODESolidSystem. |
|
|
|
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(). |
|
Implemented in base::Universe, physics::ODESolidSystem, robot::sim::SimulatedBasicEnvironment, and robot::sim::TestBasicEnvironment. |
|
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(). |
|
remove constraint group from the system
Implemented in physics::ODESolidSystem. |
|
remove solid from the system
Implemented in physics::ODESolidSystem. |
|
Implemented in physics::ODESolidSystem. |
|
called to cull Collidables from collision detection
Implemented in physics::ODESolidSystem. |
|
called to detect collisions
Implemented in physics::ODESolidSystem. |
|
called to handle collisions
Implemented in physics::ODESolidSystem. |
|
set acceleration due to gravity (e.g. Vector3(0,0,-9.8))
Implemented in physics::ODESolidSystem. |
|
Set the ground Solid (which is fixed to the world frame and doesn't move from position).
Implemented in physics::ODESolidSystem. |
|
Set implementation specific parameters. Unknown names will throw a std::invald_argument exception.
Reimplemented in physics::ODESolidSystem. Definition at line 101 of file SolidSystem. References Exception. |
|
Reimplemented in base::Universe. |
|
Implemented in base::Universe. |
|
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. |
|
Reimplemented in gfx::OSGWorld, gfx::VisualPath, physics::Box, physics::Capsule, physics::Cone, physics::Cylinder, physics::GJKCollisionDetector, physics::LODTerrain, physics::OBBCollisionModel, physics::ODECollisionModel, physics::ODESolidSystem, physics::Polyhedron, physics::Solid, physics::SOLIDCollisionModel, physics::Sphere, physics::Torus, physics::VisualDebugUtil, and robot::sim::VisualIKORTest. Definition at line 47 of file Visual. References gfx::Visual::VisualType. |
|
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 39 of file Simulatable. |
|
Definition at line 137 of file Referenced. Referenced by base::Referenced::enableOnUnreferenceCall(), base::Referenced::Referenced(), and base::Referenced::unreference(). |
|
|