CrystalSpace

Public API Reference

Main Page | Modules | Class Hierarchy | Alphabetical List | Class List | File List | Class Members | File Members | Related Pages

iODEDynamicSystemState Struct Reference

This class exposes parameters specific to odedynam as an implementation of iDynamics. More...

#include <ivaria/ode.h>

Inheritance diagram for iODEDynamicSystemState:

iBase List of all members.

Public Member Functions

virtual void SetERP (float erp)=0
 Sets ODE's Error Resolution Parameter (see ode docs for details) Setting this in iODEDynamicState will set it for each System Use this only if you want a specific system to behave differently.
virtual void SetCFM (float cfm)=0
 Sets ODE's Constraint Force Mixing (see ode docs for details) Setting this in iODEDynamicState will set it for each System Use this only if you want a specific system to behave differently.
virtual void EnableStepFast (bool enable)=0
 Enables the experimental StepFast code in ode Setting this in ODEDynamicState sets it here Only modify it if you want a specific system to behave differently.
virtual void EnableAutoDisable (bool enable)=0
 Turn on/off AutoDisable functionality.
virtual void SetAutoDisableParams (float linear, float angular, int steps, float time)=0
 Set the parameters for AutoDisable.
virtual void EnableFrameRate (bool enable)=0
 NOTE: This should not be done here if its been done in iODEDynamicState The following code enables a constant framerate on processing this means if you set the frame rate to (default) 50 The stepsize passed into Step is treated as the elapsed time in seconds received from the virtual clock GetElapsedTicks.
virtual void EnableFastObjects (bool enable)=0
 The following enables special robustness checks for fast moving objects to determine if they will tunneling and adjusts the physics frame resolution (rate) to a double for that step (possible doing this recursively down to a potentially infinite resolution for a given step, depending on the speed of the objects being tested) Only enable this if you are experiencing tunneling problems and can't afford to increase the standard FrameRate in the settings above Setting this in iODEDynamicState will set it for each System Use this only if you want a specific system to behave differently.

Detailed Description

This class exposes parameters specific to odedynam as an implementation of iDynamics.

In most cases SystemState should not be modified directly unless you want the behavior of a specific system different from others.

Definition at line 132 of file ode.h.


Member Function Documentation

virtual void iODEDynamicSystemState::EnableAutoDisable bool  enable  )  [pure virtual]
 

Turn on/off AutoDisable functionality.

AutoDisable will stop moving objects if they are stable in order to save processing time.

virtual void iODEDynamicSystemState::EnableFastObjects bool  enable  )  [pure virtual]
 

The following enables special robustness checks for fast moving objects to determine if they will tunneling and adjusts the physics frame resolution (rate) to a double for that step (possible doing this recursively down to a potentially infinite resolution for a given step, depending on the speed of the objects being tested) Only enable this if you are experiencing tunneling problems and can't afford to increase the standard FrameRate in the settings above Setting this in iODEDynamicState will set it for each System Use this only if you want a specific system to behave differently.

virtual void iODEDynamicSystemState::EnableFrameRate bool  enable  )  [pure virtual]
 

NOTE: This should not be done here if its been done in iODEDynamicState The following code enables a constant framerate on processing this means if you set the frame rate to (default) 50 The stepsize passed into Step is treated as the elapsed time in seconds received from the virtual clock GetElapsedTicks.

The physics will iterate a number of steps at 1/50th of a second until enough time has passed to account for the time Beware the default setting for frame limit is 10, which means if the stepsize passed to Step is longer than 1/10 a second the physics will stop iterating and slow down. Never set this parameter to 0 or else you could incur cycle of death where the number of physics steps increases the amount of elapsed time between frames which increases the number of physics steps toward infinity

virtual void iODEDynamicSystemState::EnableStepFast bool  enable  )  [pure virtual]
 

Enables the experimental StepFast code in ode Setting this in ODEDynamicState sets it here Only modify it if you want a specific system to behave differently.

virtual void iODEDynamicSystemState::SetAutoDisableParams float  linear,
float  angular,
int  steps,
float  time
[pure virtual]
 

Set the parameters for AutoDisable.

/param linear Maximum linear movement to disable a body /param angular Maximum angular movement to disable a body /param steps Minimum number of steps the body meets linear and angular requirements before it is disabled. /param time Minimum time the body needs to meet linear and angular movement requirements before it is disabled.

virtual void iODEDynamicSystemState::SetCFM float  cfm  )  [pure virtual]
 

Sets ODE's Constraint Force Mixing (see ode docs for details) Setting this in iODEDynamicState will set it for each System Use this only if you want a specific system to behave differently.

virtual void iODEDynamicSystemState::SetERP float  erp  )  [pure virtual]
 

Sets ODE's Error Resolution Parameter (see ode docs for details) Setting this in iODEDynamicState will set it for each System Use this only if you want a specific system to behave differently.


The documentation for this struct was generated from the following file:
Generated for Crystal Space by doxygen 1.3.9.1