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

physics::SolidSystem Class Reference

Inheritance diagram for physics::SolidSystem:

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

Collaboration graph
[legend]
List of all members.

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< SolidcreateSolid (ref< const Shape > shape, ref< const Material > material)=0
 create a new Solid

virtual ref< ConstraintGroupcreateConstraintGroup ()=0
 new ConstraintGroup

virtual ref< BallJointcreateBallJoint ()=0
 new Ball & Socket joint constraint

virtual ref< HingeJointcreateHingeJoint ()=0
 new Hinge joint constraint

virtual ref< DoubleHingeJointcreateDoubleHingeJoint ()=0
 new Double Hinge joint constraint

virtual ref< SliderJointcreateSliderJoint ()=0
 new Slider joint constraint

virtual ref< UniversalJointcreateUniversalJoint ()=0
 new Universal joint constraint

virtual ref< FixedConstraintcreateFixedConstraint ()=0
 new FixedConstraint

virtual ref< ContactConstraintcreateContactConstraint ()=0
 new ContactConstraint

virtual ref< MotorcreateMotor ()=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< SolidgetGround () 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< CollisionCullergetCollisionCuller () const=0
 get the current CollisionCuller

virtual void setCollisionDetector (ref< CollisionDetector > collisionDetector)=0
 called to detect collisions

virtual ref< CollisionDetectorgetCollisionDetector () const=0
 get the current CollisionDetector (or null if none)

virtual void setCollisionResponseHandler (ref< CollisionResponseHandler > collisionResponseHandler)=0
 called to handle collisions

virtual ref< CollisionResponseHandlergetCollisionResponseHandler () 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< CollidablecreateCollidable (CollidableFlags flags=0)=0

Static Public Attributes

const Real minSimStepSize
const Int OSGVisual = 1

Protected Attributes

int _refCount
bool onUnreferenceEnabled

Member Typedef Documentation

typedef Int gfx::Visual::Attributes [inherited]
 

Definition at line 39 of file Visual.

Referenced by gfx::Visual::createOSGVisual().

typedef Int physics::CollidableProvider::CollidableFlag [inherited]
 

Definition at line 45 of file CollidableProvider.

typedef std::bitset<sizeof(Int)*8 physics::CollidableProvider::CollidableFlags) [inherited]
 

Definition at line 44 of file CollidableProvider.

typedef Int gfx::Visual::VisualType [inherited]
 

Definition at line 44 of file Visual.

Referenced by gfx::Visual::visualTypeSupported().


Member Enumeration Documentation

enum gfx::Visual::AttributeFlags [inherited]
 

Enumeration values:
ShowAxes 
ShowBounds 
ShowCollisions 
ShowCollisionModel 
ShowCollisionDetection 
ShowEdges 
ShowNormals 
VerticesOnly 

Definition at line 40 of file Visual.


Constructor & Destructor Documentation

physics::SolidSystem::SolidSystem  ) 
 

physics::SolidSystem::SolidSystem const SolidSystem ss  ) 
 

virtual physics::SolidSystem::~SolidSystem  )  [virtual]
 


Member Function Documentation

virtual void physics::SolidSystem::addConstraintGroup ref< ConstraintGroup group  )  [pure virtual]
 

add a constraint group to the system

Implemented in physics::ODESolidSystem.

virtual void physics::SolidSystem::addSolid ref< Solid solid  )  [pure virtual]
 

add solid to the system (Solid must be from createSolid()

Implemented in physics::ODESolidSystem.

virtual String base::Object::className  )  const [pure virtual, inherited]
 

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

Implemented in base::Application, base::BinarySerializer, base::Cache, base::CacheDirectory, base::CacheFile, base::ConstantExpression, base::CosExpression, base::DifferenceExpression, base::Directory, base::Expression, base::Externalizer, base::File, base::LineSegPathRep, base::LineSegTrajectoryRep, base::Math, base::NegateExpression, base::ParametricPathRep, base::ParametricTrajectoryRep, base::Path, base::PathComponent, base::PathName, base::ProductExpression, base::QuotientExpression, base::SimpleXMLSerializer, base::SinExpression, base::StdFileSystem, base::SumExpression, base::Time, base::Trajectory, base::Universe, base::VariableExpression, base::VDirectory, base::WaypointPathRep, base::WaypointTrajectoryRep, base::World, gfx::IndexedPoint3Array, gfx::OSGWorld, gfx::TriangleIterator, gfx::VisualPath, gfx::VisualTriangles, gfx::VisualTriangles::TriangleArrayIteratorState, physics::Body, physics::Box, physics::Capsule, physics::CollidableGroup, physics::CollisionModel::ModelState, physics::CollisionState, physics::Cone, physics::Cylinder, physics::DynamicSpatial, physics::GJKCollisionDetector, physics::GJKCollisionDetector::GJKCollisionState, physics::GJKCollisionModel, physics::HeightField, physics::LODTerrain, physics::MassProperties, physics::Material, physics::NullCollisionResponseHandler, physics::OBBCollisionDetector, physics::OBBCollisionDetector::OBBCollisionState, physics::OBBCollisionModel, physics::ODEBallJoint, physics::ODECollidableBody, physics::ODECollidableBody::BodyState, physics::ODECollidableGroup, physics::ODECollisionCuller, physics::ODECollisionDetector, physics::ODECollisionDetector::ODECollisionState, physics::ODECollisionModel, physics::ODECollisionResponseHandler, physics::ODEConstraintGroup, physics::ODEContactConstraint, physics::ODEDoubleHingeJoint, physics::ODEFixedConstraint, physics::ODEHingeJoint, physics::ODEMotor, physics::ODESliderJoint, physics::ODESolid, physics::ODESolidConnectedCollidableBody, physics::ODESolidSystem, physics::ODEUniversalJoint, physics::Polyhedron, physics::Polyhedron::Vertex, physics::Polyhedron::Edge, physics::Polyhedron::Polygon, physics::SimpleCollisionCuller, physics::SimpleTerrain, physics::Solid, physics::SOLIDCollisionDetector, physics::SOLIDCollisionDetector::SOLIDCollisionState, physics::SOLIDCollisionModel, physics::SolidCollisionResponseHandler, physics::SpatialGroup, physics::SpatialTransform, physics::Sphere, physics::Torus, physics::VisualDebugUtil, robot::AggregateControlInterface, robot::control::ControllableAdaptor, robot::control::ControllableAdaptor::AdaptorControlInterface, robot::control::kinematics::AnalyticLagrangianFSBetaOptimizer, robot::control::kinematics::AnalyticLagrangianNullSpaceBetaOptimizer, robot::control::kinematics::BetaFormConstraints::BetaFormConstraint, robot::control::kinematics::BetaFormConstraints, robot::control::kinematics::IKOR, robot::control::kinematics::IKOR::JointLimitBetaConstraint, robot::control::kinematics::IKOR::PushAwayBetaConstraint, robot::control::kinematics::IKOR::RankLossBetaConstraint, robot::control::kinematics::IKORController, robot::control::kinematics::IKORController::EEPositionControlInterface, robot::control::kinematics::IKORController::LinkPositionsControlInterface, robot::control::kinematics::IKORFullSpaceSolver, robot::control::kinematics::LeastNormIKSolver, robot::control::kinematics::MPPseudoInvSolver, robot::control::kinematics::OldIKOR, robot::control::kinematics::ReferenceOpVectorFormObjective, robot::control::kinematics::SVDFullSpaceSolver, robot::control::ManipulatorPIDPositionController, robot::control::ManipulatorPIDPositionController::PositionInterface, robot::JFKengine, robot::KinematicChain::Link, robot::KinematicChain, robot::ManipulatorDescription, robot::ManipulatorJointTrajectory, robot::NumericKinematicEvaluator, robot::PlatformDescription, robot::RobotDescription, robot::sim::BasicEnvironment, robot::sim::BasicEnvironment::Tool, robot::sim::BasicEnvironment::Obstacle, robot::sim::Environment, robot::sim::IKORTest, robot::sim::IKORTest::Test, robot::sim::IKORTester, robot::sim::SimulatedBasicEnvironment, robot::sim::SimulatedKinematicChain::ProximityCollisionResponseHandler, robot::sim::SimulatedManipulatorDescription, robot::sim::SimulatedPlatform, robot::sim::SimulatedRobot, robot::sim::SimulatedRobot::ManipulatorControlInterface, robot::sim::SimulatedRobot::ToolControlInterface, robot::sim::SimulatedRobot::PlatformControlInterface, robot::sim::SimulatedRobot::ProximitySensorInterface, robot::sim::SimulatedRobotDescription, robot::sim::SimulatedSerialManipulator, robot::sim::SimulatedTool, robot::sim::TestBasicEnvironment, robot::sim::VisualIKORTest, robot::TestRobot, robot::TestRobot::ManipulatorControlInterface, robot::TestRobot::ToolControlInterface, robot::TestRobot::PlatformControlInterface, robot::TestRobot::ProximitySensorInterface, and robot::ToolDescription.

virtual ref<BallJoint> physics::SolidSystem::createBallJoint  )  [pure virtual]
 

new Ball & Socket joint constraint

Implemented in physics::ODESolidSystem.

virtual ref<Collidable> physics::CollidableProvider::createCollidable CollidableFlags  flags = 0  )  [pure virtual, inherited]
 

Implemented in physics::ODESolidSystem, physics::Solid, robot::sim::SimulatedPlatform, robot::sim::SimulatedRobot, robot::sim::SimulatedSerialManipulator, and robot::sim::SimulatedTool.

virtual ref<ConstraintGroup> physics::SolidSystem::createConstraintGroup  )  [pure virtual]
 

new ConstraintGroup

Implemented in physics::ODESolidSystem.

virtual ref<ContactConstraint> physics::SolidSystem::createContactConstraint  )  [pure virtual]
 

new ContactConstraint

Implemented in physics::ODESolidSystem.

virtual ref<DoubleHingeJoint> physics::SolidSystem::createDoubleHingeJoint  )  [pure virtual]
 

new Double Hinge joint constraint

Implemented in physics::ODESolidSystem.

virtual ref<FixedConstraint> physics::SolidSystem::createFixedConstraint  )  [pure virtual]
 

new FixedConstraint

Implemented in physics::ODESolidSystem.

virtual ref<HingeJoint> physics::SolidSystem::createHingeJoint  )  [pure virtual]
 

new Hinge joint constraint

Implemented in physics::ODESolidSystem.

virtual ref<Motor> physics::SolidSystem::createMotor  )  [pure virtual]
 

new Joint Motor

Implemented in physics::ODESolidSystem.

virtual osg::Node* gfx::Visual::createOSGVisual Visual::Attributes  visualAttributes = 0  )  const [inline, virtual, inherited]
 

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.

virtual ref<SliderJoint> physics::SolidSystem::createSliderJoint  )  [pure virtual]
 

new Slider joint constraint

Implemented in physics::ODESolidSystem.

virtual ref<Solid> physics::SolidSystem::createSolid ref< const Shape shape,
ref< const Material material
[pure virtual]
 

create a new Solid

Implemented in physics::ODESolidSystem.

virtual ref<UniversalJoint> physics::SolidSystem::createUniversalJoint  )  [pure virtual]
 

new Universal joint constraint

Implemented in physics::ODESolidSystem.

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<CollisionCuller> physics::SolidSystem::getCollisionCuller  )  const [pure virtual]
 

get the current CollisionCuller

Implemented in physics::ODESolidSystem.

virtual ref<CollisionDetector> physics::SolidSystem::getCollisionDetector  )  const [pure virtual]
 

get the current CollisionDetector (or null if none)

Implemented in physics::ODESolidSystem.

virtual ref<CollisionResponseHandler> physics::SolidSystem::getCollisionResponseHandler  )  const [pure virtual]
 

Implemented in physics::ODESolidSystem.

virtual ref<Solid> physics::SolidSystem::getGround  )  const [pure virtual]
 

Get the ground Solid.

Implemented in physics::ODESolidSystem.

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().

virtual void base::Simulatable::preSimulate  )  [pure virtual, inherited]
 

Implemented in base::Universe, physics::ODESolidSystem, robot::sim::SimulatedBasicEnvironment, and robot::sim::TestBasicEnvironment.

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::SolidSystem::removeConstraintGroup ref< const ConstraintGroup group  )  [pure virtual]
 

remove constraint group from the system

Implemented in physics::ODESolidSystem.

virtual void physics::SolidSystem::removeSolid ref< const Solid solid  )  [pure virtual]
 

remove solid from the system

Implemented in physics::ODESolidSystem.

virtual void physics::SolidSystem::setCollidable ref< Collidable collidable  )  [pure virtual]
 

Implemented in physics::ODESolidSystem.

virtual void physics::SolidSystem::setCollisionCuller ref< CollisionCuller collisionCuller  )  [pure virtual]
 

called to cull Collidables from collision detection

Implemented in physics::ODESolidSystem.

virtual void physics::SolidSystem::setCollisionDetector ref< CollisionDetector collisionDetector  )  [pure virtual]
 

called to detect collisions

Implemented in physics::ODESolidSystem.

virtual void physics::SolidSystem::setCollisionResponseHandler ref< CollisionResponseHandler collisionResponseHandler  )  [pure virtual]
 

called to handle collisions

Implemented in physics::ODESolidSystem.

virtual void physics::SolidSystem::setGravity const Vector3 v  )  [pure virtual]
 

set acceleration due to gravity (e.g. Vector3(0,0,-9.8))

Implemented in physics::ODESolidSystem.

virtual void physics::SolidSystem::setGround ref< Solid ground,
const Point3 position
[pure virtual]
 

Set the ground Solid (which is fixed to the world frame and doesn't move from position).

Implemented in physics::ODESolidSystem.

virtual void physics::SolidSystem::setParameter const String &  name,
Real  value
[inline, virtual]
 

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.

void base::Simulatable::simulateForRealTime const Time dt,
Real  simTimeStepSize = minSimStepSize
[inherited]
 

Reimplemented in base::Universe.

virtual void base::Simulatable::simulateForSimTime const Time dt  )  [pure virtual, inherited]
 

Implemented in base::Universe.

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.

virtual bool gfx::Visual::visualTypeSupported VisualType  type  )  const [inline, virtual, inherited]
 

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.


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().

const Real base::Simulatable::minSimStepSize [static, inherited]
 

Definition at line 39 of file Simulatable.

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().

const Int gfx::Visual::OSGVisual = 1 [static, inherited]
 

Definition at line 45 of file Visual.


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