#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) |
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 |
Primitive * | getPart1 () |
const Primitive * | getPart2 () const |
Primitive * | getPart2 () |
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) |
Public Attributes | |
OdeHandle | odeHandle |
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.
Primitive* getPart1 | ( | ) | [inline] |
const Primitive* getPart1 | ( | ) | const [inline] |
Primitive* getPart2 | ( | ) | [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] |
void init | ( | const OdeHandle & | odeHandle, | |
const OsgHandle & | osgHandle, | |||
bool | withVisual = true , |
|||
double | visualSize = 0.2 | |||
) | [virtual] |
initialises (and creates) the joint.
If visual is true then the joints is also drawn. visualSize is the size of the visual representation. Also member variable odeHandle should be set. (To be overloaded, but this init should be called always from children!)
Reimplemented 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] |