[ODE] optimization for disabled objects

Jon Watte hplus-ode at mindcontrol.org
Sun Sep 19 14:22:54 MST 2004


> Hi, I think I've discovered an undocumented and fairly important quirk of
> the ode collision callback system regarding autodisable.

> What it seems, is even if a body is disabled, the ode collision callback
> still passes it's geoms in for evaluation and contact generation.

This is documented and expected. The reason is that a collision with 
an auto-disabled body is what wakes it up. And, just because a body 
is not moving, it still shouldn't be possible to drive through it. 
If you don't want to collide with disabled bodies, you should use a 
specific geom flag for disabled geoms, and make sure that geoms with 
that flag get culled by setting the query flags correctly.

> Technically, if everything is asleep, there should be zero contacts needed
> between two sleeping bodys.

You could, where you create the contacts, decide not to create contacts 
between two bodies that are mutually sleeping. However, if some live 
body comes along and wakes up one of those bodies later in that same 
step, then there won't be anything preventing the live body from 
pushing the resting body into the other resting body.

Cheers,

			/ h+




More information about the ODE mailing list