## Public API Reference

- Main Page
- Modules
- Namespaces
- Classes
- Files
- Related Pages

- Alphabetical List
- Class List
- Class Hierarchy
- Class Members

# iODEJointState Struct Reference

General joint state. More...

`#include <ivaria/ode.h>`

Inheritance diagram for iODEJointState:

[legend]
List of all members.

## Public Member Functions

virtual csVector3 | GetBounce ()=0
| Get the bouncyness of the stops.
virtual csVector3 | GetCFM ()=0
| Get the constraint force mixing (CFM) value for joint used when not at a stop.
virtual csVector3 | GetFudgeFactor ()=0
| Get the fudge factor.
virtual csVector3 | GetHiStop ()=0
| Get high stop angle or position.
virtual csVector3 | GetLoStop ()=0
| Get low stop angle or position.
virtual csVector3 | GetMaxForce ()=0
| Get the maximum force or torque that the motor will use to achieve the desired velocity.
virtual csVector3 | GetStopCFM ()=0
| Get the constraint force mixing (CFM) value for joint used by the stops.
virtual csVector3 | GetStopERP ()=0
| Get the error reduction parameter (ERP) used by the stops.
virtual csVector3 | GetSuspensionCFM ()=0
| Get suspension constraint force mixing (CFM) value.
virtual csVector3 | GetSuspensionERP ()=0
| Get suspension error reduction parameter (ERP).
virtual csVector3 | GetVel ()=0
| Get desired motor velocity (this will be an angular or linear velocity).
virtual void | SetBounce (const csVector3 &value)=0
| Set the bouncyness of the stops.
virtual void | SetCFM (const csVector3 &value)=0
| Set the constraint force mixing (CFM) value for joint used when not at a stop.
virtual void | SetFMax (const csVector3 &value)=0
| Set the maximum force or torque that the motor will use to achieve the desired velocity.
virtual void | SetFudgeFactor (const csVector3 &value)=0
| Set the fudge factor.
virtual void | SetHiStop (const csVector3 &value)=0
| Set high stop angle or position.
virtual void | SetLoStop (const csVector3 &value)=0
| Set low stop angle or position.
virtual void | SetStopCFM (const csVector3 &value)=0
| Set the constraint force mixing (CFM) value for joint used by the stops.
virtual void | SetStopERP (const csVector3 &value)=0
| Set the error reduction parameter (ERP) used by the stops.
virtual void | SetSuspensionCFM (const csVector3 &value)=0
| Set suspension constraint force mixing (CFM) value.
virtual void | SetSuspensionERP (const csVector3 &value)=0
| Set suspension error reduction parameter (ERP).
virtual void | SetVel (const csVector3 &value)=0
| Set desired motor velocity (this will be an angular or linear velocity).

## Detailed Description

General joint state.

Here

Definition at line 325 of file ode.h.

## Member Function Documentation

virtual csVector3 iODEJointState::GetBounce | ( |  | ) | `[pure virtual]`

Get the bouncyness of the stops.

virtual csVector3 iODEJointState::GetCFM | ( |  | ) | `[pure virtual]`

Get the constraint force mixing (CFM) value for joint used when not at a stop.

virtual csVector3 iODEJointState::GetFudgeFactor | ( |  | ) | `[pure virtual]`

Get the fudge factor.

virtual csVector3 iODEJointState::GetHiStop | ( |  | ) | `[pure virtual]`

Get high stop angle or position.

virtual csVector3 iODEJointState::GetLoStop | ( |  | ) | `[pure virtual]`

Get low stop angle or position.

virtual csVector3 iODEJointState::GetMaxForce | ( |  | ) | `[pure virtual]`

Get the maximum force or torque that the motor will use to achieve the desired velocity.

virtual csVector3 iODEJointState::GetStopCFM | ( |  | ) | `[pure virtual]`

Get the constraint force mixing (CFM) value for joint used by the stops.

virtual csVector3 iODEJointState::GetStopERP | ( |  | ) | `[pure virtual]`

Get the error reduction parameter (ERP) used by the stops.

virtual csVector3 iODEJointState::GetSuspensionCFM | ( |  | ) | `[pure virtual]`

Get suspension constraint force mixing (CFM) value.

virtual csVector3 iODEJointState::GetSuspensionERP | ( |  | ) | `[pure virtual]`

Get suspension error reduction parameter (ERP).

virtual csVector3 iODEJointState::GetVel | ( |  | ) | `[pure virtual]`

Get desired motor velocity (this will be an angular or linear velocity).

virtual void iODEJointState::SetBounce | ( | const csVector3 & | value | ) | `[pure virtual]`

Set the bouncyness of the stops.

This is a restitution parameter in the range 0..1. 0 means the stops are not bouncy at all, 1 means maximum bouncyness.

virtual void iODEJointState::SetCFM | ( | const csVector3 & | value | ) | `[pure virtual]`

Set the constraint force mixing (CFM) value for joint used when not at a stop.

virtual void iODEJointState::SetFMax | ( | const csVector3 & | value | ) | `[pure virtual]`

Set the maximum force or torque that the motor will use to achieve the desired velocity.

This must always be greater than or equal to zero. Setting this to zero turns off the motor.

virtual void iODEJointState::SetFudgeFactor | ( | const csVector3 & | value | ) | `[pure virtual]`

Set the fudge factor.

The current joint stop/motor implementation has a small problem: when the joint is at one stop and the motor is set to move it away from the stop, too much force may be applied for one time step, causing a ``jumping'' motion. This fudge factor is used to scale this excess force. It should have a value between zero and one (the default value). If the jumping motion is too visible in a joint, the value can be reduced. Making this value too small can prevent the motor from being able to move the joint away from a stop.

virtual void iODEJointState::SetHiStop | ( | const csVector3 & | value | ) | `[pure virtual]`

Set high stop angle or position.

For rotational joints, this stop must be less than pi to be effective. If the high stop is less than the low stop then both stops will be ineffective.

virtual void iODEJointState::SetLoStop | ( | const csVector3 & | value | ) | `[pure virtual]`

Set low stop angle or position.

For rotational joints, this stop must be greater than - pi to be effective.

virtual void iODEJointState::SetStopCFM | ( | const csVector3 & | value | ) | `[pure virtual]`

Set the constraint force mixing (CFM) value for joint used by the stops.

Together with the ERP value this can be used to get spongy or soft stops. Note that this is intended for unpowered joints, it does not really work as expected when a powered joint reaches its limit.

virtual void iODEJointState::SetStopERP | ( | const csVector3 & | value | ) | `[pure virtual]`

Set the error reduction parameter (ERP) used by the stops.

virtual void iODEJointState::SetSuspensionCFM | ( | const csVector3 & | value | ) | `[pure virtual]`

Set suspension constraint force mixing (CFM) value.

virtual void iODEJointState::SetSuspensionERP | ( | const csVector3 & | value | ) | `[pure virtual]`

Set suspension error reduction parameter (ERP).

virtual void iODEJointState::SetVel | ( | const csVector3 & | value | ) | `[pure virtual]`

Set desired motor velocity (this will be an angular or linear velocity).

The documentation for this struct was generated from the following file:

- ivaria/ode.h