Joint Class Reference

#include <joint.h>

Inherited by BallJoint, FixedJoint, and OneAxisJoint.

Inheritance diagram for Joint:

Inheritance graph
[legend]
Collaboration diagram for Joint:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 Joint (Primitive *part1, Primitive *part2, const osg::Vec3 &anchor)
virtual ~Joint ()
virtual void init (const OdeHandle &odeHandle, const OsgHandle &osgHandle, bool withVisual=true, double visualSize=0.2)=0
 initialises (and creates) the joint.
virtual void update ()=0
 should syncronise the Ode stuff and the OSG notes (if any)
virtual void setParam (int parameter, double value)=0
 sets the ODE joint parameter (see ODE manual)
virtual double getParam (int parameter) const =0
 return the ODE joint parameter (see ODE manual)
dJointID getJoint () const
const PrimitivegetPart1 () const
const PrimitivegetPart2 () const
const osg::Vec3 getAnchor () const
virtual int getNumberAxes () const =0
 returns the number of Axes
virtual std::list< double > getPositions () const
 returns the positions of all Axes
virtual std::list< double > getPositionRates () const
 returns the position rates of all Axes
virtual int getPositions (double *sensorarray) const
 stores the positions of all Axes into sensorarray and returns the number of written entries
virtual int getPositionRates (double *sensorarray) const
 stores the position rates of all Axes into sensorarray and returns the number of written entries

Static Public Member Functions

osg::Matrix anchorAxisPose (const osg::Vec3 &anchor, const Axis &axis)

Protected Attributes

dJointID joint
Primitivepart1
Primitivepart2
osg::Vec3 anchor

Constructor & Destructor Documentation

Joint Primitive part1,
Primitive part2,
const osg::Vec3 anchor
[inline]
 

~Joint  )  [virtual]
 


Member Function Documentation

Matrix anchorAxisPose const osg::Vec3 anchor,
const Axis axis
[static]
 

const osg::Vec3 getAnchor  )  const [inline]
 

dJointID getJoint  )  const [inline]
 

virtual int getNumberAxes  )  const [pure virtual]
 

returns the number of Axes

Implemented in OneAxisJoint, TwoAxisJoint, FixedJoint, and BallJoint.

virtual double getParam int  parameter  )  const [pure virtual]
 

return the ODE joint parameter (see ODE manual)

Implemented in FixedJoint, HingeJoint, Hinge2Joint, UniversalJoint, BallJoint, and SliderJoint.

const Primitive* getPart1  )  const [inline]
 

const Primitive* getPart2  )  const [inline]
 

virtual int getPositionRates double *  sensorarray  )  const [inline, virtual]
 

stores the position rates of all Axes into sensorarray and returns the number of written entries

Reimplemented in OneAxisJoint, and TwoAxisJoint.

virtual std::list<double> getPositionRates  )  const [inline, virtual]
 

returns the position rates of all Axes

Reimplemented in OneAxisJoint, and TwoAxisJoint.

virtual int getPositions double *  sensorarray  )  const [inline, virtual]
 

stores the positions of all Axes into sensorarray and returns the number of written entries

Reimplemented in OneAxisJoint, and TwoAxisJoint.

virtual std::list<double> getPositions  )  const [inline, virtual]
 

returns the positions of all Axes

Reimplemented in OneAxisJoint, and TwoAxisJoint.

virtual void init const OdeHandle odeHandle,
const OsgHandle osgHandle,
bool  withVisual = true,
double  visualSize = 0.2
[pure virtual]
 

initialises (and creates) the joint.

If visual is true then the joints is also drawn. visualSize is the size of the visual representation. (To be overloaded)

Implemented in FixedJoint, HingeJoint, Hinge2Joint, UniversalJoint, BallJoint, and SliderJoint.

virtual void setParam int  parameter,
double  value
[pure virtual]
 

sets the ODE joint parameter (see ODE manual)

Implemented in FixedJoint, HingeJoint, Hinge2Joint, UniversalJoint, BallJoint, and SliderJoint.

virtual void update  )  [pure virtual]
 

should syncronise the Ode stuff and the OSG notes (if any)

Implemented in FixedJoint, HingeJoint, Hinge2Joint, UniversalJoint, BallJoint, and SliderJoint.


Member Data Documentation

osg::Vec3 anchor [protected]
 

dJointID joint [protected]
 

Primitive* part1 [protected]
 

Primitive* part2 [protected]
 


The documentation for this class was generated from the following files:
Generated on Tue Jan 16 02:14:51 2007 for Robotsystem of the Robot Group Leipzig by doxygen 1.3.8