[ODE] new Auto Disable feature "TeeterFactor"

Christoph Beyer boernerb at web.de
Fri Nov 3 07:11:30 MST 2006


The idea is, that if a box teeters, it has a very low average velocity, 
but is still moving/rotating!
To avoid it from disabling, the auto-disable handler checks, if the body 
has less or equal than 2 contactjoint,
and then, the "teeter - totter" - situation appears. bodys in teetering 
conditions has an additional factor,
which affects all thresholds.
this is, because teetering bodys needs a lower threshold, to avoid 
disabling them to soon.

This patch adds the feature to the revision 1127!

the API gets four new functions:

ODE_API dReal dBodyGetAutoDisableTeeterFactor (dBodyID);
ODE_API void dBodySetAutoDisableTeeterFactor (dBodyID, dReal teeter_factor);
ODE_API dReal dWorldGetAutoDisableTeeterFactor (dWorldID);
ODE_API void dWorldSetAutoDisableTeeterFactor (dWorldID, dReal 
teeter_factor );

by default the teeter_factor is 1, this means, that teeter-feature is 
like disabled.

this patch fixes also a little bug:
the "not freeze in mid-air"-check is now only for contactjoints, other 
joints are ignored.


If you know a better name than "teeter", please replace it ;-)


cheers

Christoph


More information about the ODE mailing list