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

physics::ODEJoint Class Reference

Inheritance diagram for physics::ODEJoint:

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

Collaboration graph
[legend]
List of all members.

Public Member Functions

 ODEJoint ()
virtual ~ODEJoint ()
virtual void attach (ref< Body > body1, ref< Body > body2)
 attach this constraint to two bodies

virtual ref< BodygetBody (Int index)
 get Body (index is 1 or 2); returns null if unattached

virtual ref< const BodygetBody (Int index) const
virtual void attachMotor (Int dof, ref< Motor > motor)
 attach Motor to dof n, or remove if motor==0

virtual ref< MotorgetMotor (Int dof)
 get Motor on dof n, or 0 if none

virtual ref< const MotorgetMotor (Int dof) const
virtual void setParameter (const String &name, Real value, Int dof=1)
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

Protected Member Functions

void checkAddedAndAttached () const
virtual bool hasMotor (Int dof) const=0
 implemented by concrete ODEJoint classes to indicate which DOF's can have a Motor attached

virtual void setMotorTargetVel (Int dof, Real vel)=0
 implemented by concrete ODEJoint classes

virtual void setMotorMaxForce (Int dof, Real force)=0
 implemented by concrete ODEJoint classes

virtual void onConstraintGroupAdd (ref< ConstraintGroup > g)=0
 called by ConstraintGroup::addConstraint()

virtual void setJointID (dJointID jointID)

Protected Attributes

ref< Bodybody1
ref< Bodybody2
ref< ODEMotormotors [6]
int _refCount
bool onUnreferenceEnabled
ref< ConstraintGroupgroup
dJointID jointID

Friends

class ODEMotor
class ODEConstraintGroup

Constructor & Destructor Documentation

physics::ODEJoint::ODEJoint  ) 
 

virtual physics::ODEJoint::~ODEJoint  )  [virtual]
 


Member Function Documentation

virtual void physics::ODEJoint::attach ref< Body body1,
ref< Body body2
[virtual]
 

attach this constraint to two bodies

Implements physics::Joint.

virtual void physics::ODEJoint::attachMotor Int  dof,
ref< Motor motor
[virtual]
 

attach Motor to dof n, or remove if motor==0

Implements physics::Joint.

void physics::ODEJoint::checkAddedAndAttached  )  const [inline, protected]
 

Definition at line 53 of file ODEJoint.

References Assertm.

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.

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<const Body> physics::ODEJoint::getBody Int  index  )  const [virtual]
 

Implements physics::Joint.

virtual ref<Body> physics::ODEJoint::getBody Int  index  )  [virtual]
 

get Body (index is 1 or 2); returns null if unattached

Implements physics::Joint.

virtual ref<const Motor> physics::ODEJoint::getMotor Int  dof  )  const [virtual]
 

Implements physics::Joint.

virtual ref<Motor> physics::ODEJoint::getMotor Int  dof  )  [virtual]
 

get Motor on dof n, or 0 if none

Implements physics::Joint.

virtual bool physics::ODEJoint::hasMotor Int  dof  )  const [protected, pure virtual]
 

implemented by concrete ODEJoint classes to indicate which DOF's can have a Motor attached

Implemented in physics::ODEBallJoint, physics::ODEDoubleHingeJoint, physics::ODEHingeJoint, physics::ODESliderJoint, and physics::ODEUniversalJoint.

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 physics::ODEConstraint::onConstraintGroupAdd ref< ConstraintGroup g  )  [protected, pure virtual, inherited]
 

called by ConstraintGroup::addConstraint()

Implemented in physics::ODEBallJoint, physics::ODEContactConstraint, physics::ODEDoubleHingeJoint, physics::ODEFixedConstraint, physics::ODEHingeJoint, physics::ODESliderJoint, and physics::ODEUniversalJoint.

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

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::ODEConstraint::setJointID dJointID  jointID  )  [inline, protected, virtual, inherited]
 

Parameters:
jointID  call in derived when ODE joint created (dJointDestroy() called by destructor)

Definition at line 45 of file ODEConstraint.

virtual void physics::ODEJoint::setMotorMaxForce Int  dof,
Real  force
[protected, pure virtual]
 

implemented by concrete ODEJoint classes

Implemented in physics::ODEBallJoint, physics::ODEDoubleHingeJoint, physics::ODEHingeJoint, physics::ODESliderJoint, and physics::ODEUniversalJoint.

virtual void physics::ODEJoint::setMotorTargetVel Int  dof,
Real  vel
[protected, pure virtual]
 

implemented by concrete ODEJoint classes

Implemented in physics::ODEBallJoint, physics::ODEDoubleHingeJoint, physics::ODEHingeJoint, physics::ODESliderJoint, and physics::ODEUniversalJoint.

virtual void physics::Constraint::setParameter const String &  name,
Real  value,
Int  dof = 1
[inline, virtual, inherited]
 

Reimplemented in physics::ContactConstraint, physics::FixedConstraint, physics::ODEContactConstraint, physics::ODEDoubleHingeJoint, physics::ODEFixedConstraint, physics::ODEHingeJoint, and physics::ODESliderJoint.

Definition at line 42 of file Constraint.

References Exception.

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.


Friends And Related Function Documentation

friend class ODEConstraintGroup [friend, inherited]
 

Definition at line 51 of file ODEConstraint.

friend class ODEMotor [friend]
 

Definition at line 68 of file ODEJoint.


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

ref<Body> physics::ODEJoint::body1 [protected]
 

Definition at line 59 of file ODEJoint.

ref<Body> physics::ODEJoint::body2 [protected]
 

Definition at line 60 of file ODEJoint.

ref<ConstraintGroup> physics::ODEConstraint::group [protected, inherited]
 

Definition at line 48 of file ODEConstraint.

dJointID physics::ODEConstraint::jointID [protected, inherited]
 

Definition at line 49 of file ODEConstraint.

ref<ODEMotor> physics::ODEJoint::motors[6] [protected]
 

Definition at line 66 of file ODEJoint.

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


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