Robot Simulator of the Robotics Group for Self-Organization of Control: Joint Class Reference

# Joint Class Reference

`#include <joint.h>`

Inherited by BallJoint, FixedJoint, and OneAxisJoint.

Collaboration diagram for Joint:
[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, bool ignoreColl=true)
| 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

## 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.

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]`

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.

void init | ( | const OdeHandle & | odeHandle,
|  | const OsgHandle & | osgHandle,
|  | bool | withVisual = `true`,
|  | double | visualSize = `0.2`,
|  | bool | ignoreColl = `true` |
| ) |  |  | `[virtual]`

initialises (and creates) the joint.

If visual is true then the joints is also drawn. visualSize is the size of the visual representation. If ignoreColl is true then the pair of connected parts is ignored at collision handling. The member variable odeHandle is set to the given handle. (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.

## Member Data Documentation

osg::Vec3 anchor`[protected]`

dJointID joint`[protected]`

OdeHandle odeHandle

Primitive* part1`[protected]`

Primitive* part2`[protected]`

The documentation for this class was generated from the following files:

- joint.h
- joint.cpp