- Main Page
- Modules
- Data Structures
- Files

# Automatic Enabling and Disabling

## Functions
ODE_API void | dWorldSetAutoEnableDepthSF1 (dWorldID, int autoEnableDepth)
| Set the AutoEnableDepth parameter used by the StepFast1 algorithm.
ODE_API int | dWorldGetAutoEnableDepthSF1 (dWorldID)
| Get the AutoEnableDepth parameter used by the StepFast1 algorithm.
ODE_API dReal | dWorldGetAutoDisableLinearThreshold (dWorldID)
| Get auto disable linear threshold for newly created bodies.
ODE_API void | dWorldSetAutoDisableLinearThreshold (dWorldID, dReal linear_threshold)
| Set auto disable linear threshold for newly created bodies.
ODE_API dReal | dWorldGetAutoDisableAngularThreshold (dWorldID)
| Get auto disable angular threshold for newly created bodies.
ODE_API void | dWorldSetAutoDisableAngularThreshold (dWorldID, dReal angular_threshold)
| Set auto disable angular threshold for newly created bodies.
ODE_API dReal | dWorldGetAutoDisableLinearAverageThreshold (dWorldID)
| Get auto disable linear average threshold for newly created bodies.
ODE_API void | dWorldSetAutoDisableLinearAverageThreshold (dWorldID, dReal linear_average_threshold)
| Set auto disable linear average threshold for newly created bodies.
ODE_API dReal | dWorldGetAutoDisableAngularAverageThreshold (dWorldID)
| Get auto disable angular average threshold for newly created bodies.
ODE_API void | dWorldSetAutoDisableAngularAverageThreshold (dWorldID, dReal angular_average_threshold)
| Set auto disable angular average threshold for newly created bodies.
ODE_API int | dWorldGetAutoDisableAverageSamplesCount (dWorldID)
| Get auto disable sample count for newly created bodies.
ODE_API void | dWorldSetAutoDisableAverageSamplesCount (dWorldID, unsigned int average_samples_count)
| Set auto disable average sample count for newly created bodies.
ODE_API int | dWorldGetAutoDisableSteps (dWorldID)
| Get auto disable steps for newly created bodies.
ODE_API void | dWorldSetAutoDisableSteps (dWorldID, int steps)
| Set auto disable steps for newly created bodies.
ODE_API dReal | dWorldGetAutoDisableTime (dWorldID)
| Get auto disable time for newly created bodies.
ODE_API void | dWorldSetAutoDisableTime (dWorldID, dReal time)
| Set auto disable time for newly created bodies.
ODE_API int | dWorldGetAutoDisableFlag (dWorldID)
| Get auto disable flag for newly created bodies.
ODE_API void | dWorldSetAutoDisableFlag (dWorldID, int do_auto_disable)
| Set auto disable flag for newly created bodies.

## Detailed Description

Every body can be enabled or disabled. Enabled bodies participate in the simulation, while disabled bodies are turned off and do not get updated during a simulation step. New bodies are always created in the enabled state.

A disabled body that is connected through a joint to an enabled body will be automatically re-enabled at the next simulation step.

Disabled bodies do not consume CPU time, therefore to speed up the simulation bodies should be disabled when they come to rest. This can be done automatically with the auto-disable feature.

If a body has its auto-disable flag turned on, it will automatically disable itself when

- It has been idle for a given number of simulation steps.
- It has also been idle for a given amount of simulation time.

A body is considered to be idle when the magnitudes of both its linear average velocity and angular average velocity are below given thresholds. The sample size for the average defaults to one and can be disabled by setting to zero with

Thus, every body has six auto-disable parameters: an enabled flag, a idle step count, an idle time, linear/angular average velocity thresholds, and the average samples count.

Newly created bodies get these parameters from world.

## Function Documentation

ODE_API dReal dWorldGetAutoDisableAngularAverageThreshold | ( | dWorldID |  | ) |

Get auto disable angular average threshold for newly created bodies.

Returns:
  the threshold

ODE_API dReal dWorldGetAutoDisableAngularThreshold | ( | dWorldID |  | ) |

Get auto disable angular threshold for newly created bodies.

Returns:
  the threshold

ODE_API int dWorldGetAutoDisableAverageSamplesCount | ( | dWorldID |  | ) |

Get auto disable sample count for newly created bodies.

Returns:
  number of samples used

ODE_API int dWorldGetAutoDisableFlag | ( | dWorldID |  | ) |

Get auto disable flag for newly created bodies.

Returns:
  0 or 1

ODE_API dReal dWorldGetAutoDisableLinearAverageThreshold | ( | dWorldID |  | ) |

Get auto disable linear average threshold for newly created bodies.

Returns:
  the threshold

ODE_API dReal dWorldGetAutoDisableLinearThreshold | ( | dWorldID |  | ) |

Get auto disable linear threshold for newly created bodies.

Returns:
  the threshold

ODE_API int dWorldGetAutoDisableSteps | ( | dWorldID |  | ) |

Get auto disable steps for newly created bodies.

Returns:
  nr of steps

ODE_API dReal dWorldGetAutoDisableTime | ( | dWorldID |  | ) |

Get auto disable time for newly created bodies.

Returns:
  nr of seconds

ODE_API void dWorldSetAutoDisableAngularAverageThreshold | ( | dWorldID | ,
|  | dReal | angular_average_threshold |
| ) |  |  |

Set auto disable angular average threshold for newly created bodies.

Parameters:

  | linear_average_threshold | default is 0.01

ODE_API void dWorldSetAutoDisableAngularThreshold | ( | dWorldID | ,
|  | dReal | angular_threshold |
| ) |  |  |

Set auto disable angular threshold for newly created bodies.

Parameters:

  | linear_threshold | default is 0.01

ODE_API void dWorldSetAutoDisableAverageSamplesCount | ( | dWorldID | ,
|  | unsigned int | average_samples_count |
| ) |  |  |

Set auto disable average sample count for newly created bodies.

Parameters:

  | average_samples_count | Default is 1, meaning only instantaneous velocity is used. Set to zero to disable sampling and thus prevent any body from auto-disabling.

ODE_API void dWorldSetAutoDisableFlag | ( | dWorldID | ,
|  | int | do_auto_disable |
| ) |  |  |

Set auto disable flag for newly created bodies.

Parameters:

  | do_auto_disable | default is false.

ODE_API void dWorldSetAutoDisableLinearAverageThreshold | ( | dWorldID | ,
|  | dReal | linear_average_threshold |
| ) |  |  |

Set auto disable linear average threshold for newly created bodies.

Parameters:

  | linear_average_threshold | default is 0.01

ODE_API void dWorldSetAutoDisableLinearThreshold | ( | dWorldID | ,
|  | dReal | linear_threshold |
| ) |  |  |

Set auto disable linear threshold for newly created bodies.

Parameters:

  | linear_threshold | default is 0.01

ODE_API void dWorldSetAutoDisableSteps | ( | dWorldID | ,
|  | int | steps |
| ) |  |  |

Set auto disable steps for newly created bodies.

Parameters:

  | steps | default is 10

ODE_API void dWorldSetAutoDisableTime | ( | dWorldID | ,
|  | dReal | time |
| ) |  |  |

Set auto disable time for newly created bodies.

Parameters:

  | time | default is 0 seconds