#include <joint.h>
Inherited by BallJoint, FixedJoint, and OneAxisJoint.
Inheritance diagram for Joint:


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 Primitive * | getPart1 () const |
| const Primitive * | getPart2 () 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 | |
| static osg::Matrix | anchorAxisPose (const osg::Vec3 &anchor, const Axis &axis) |
Protected Attributes | |
| dJointID | joint |
| Primitive * | part1 |
| Primitive * | part2 |
| osg::Vec3 | anchor |
| ~Joint | ( | ) | [virtual] |
| const osg::Vec3 getAnchor | ( | ) | const [inline] |
| dJointID getJoint | ( | ) | const [inline] |
| virtual int getNumberAxes | ( | ) | const [pure virtual] |
| 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] |
| 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] |
| 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.
dJointID joint [protected] |
1.4.7