[ODE] does dBodyAddForce reenable bodies?

Andrzej Szombierski qq at kuku.eu.org
Wed Oct 6 10:49:16 MST 2004


On Tue, 5 Oct 2004, Tyler Streeter wrote:

> I have a box that I can move around with forces. 
> After the box goes to sleep (through ODE's
> autodisabling), dBodyAddForce doesn't work anymore. 
> It looks like there's nothing in the source to handle
> this.  Shouldn't dBodyAddForce reenable the disabled
> body?
> 

No, it shouldn't. But I think it should ignore the request completely if 
the object is disabled. For example - I experimented with implementing 
buoyancy on top of ODE. Before each time step the buoyancy forces were 
calculated and applied with dBodyAddForce[AtPos]. If dBodyAddForce* 
enables the object automatically, objects which are motionless, but inside 
the fluid will be enabled all the time. The current version however is 
also rather surprising, because it accumulates all the force applied when 
the body is asleep. When it gets enabled... the results are disasterous :)

The same would apply to any force-field implemented with dBodyAddForce*.

(the problem is that changing this would break ODE's backwards 
compatibility if some program relies on the current behavior)

-- 
:: Andrzej Szombierski :: qq at kuku.eu.org :: http://kuku.eu.org ::
:: anszom at bezkitu.com  :: radio bez kitu :: http://bezkitu.com ::



More information about the ODE mailing list