[ODE] auto-enable problem solutions?

Aras Pranckevicius nearaz at interamotion.com
Mon Mar 1 18:09:21 MST 2004


> If I construct e.g. high tower and set it disabled by default and 
> then slowly push the lowest box somewhat ahead, then some boxes are 
> left floating in the air, upper boxes are not re-enabled because no 
> contacts occur with the enabled lower boxes.

I haven't tried this (i.e. building a tower or a wall), but if your ERP is 
<1.0, then shouldn't there always be a contact between boxes? This way, once 
you re-enable the lowest box (push it), it collides with the rest 
immediately - hence all get re-enabled.

That's theory, of course. In practice, some box might be pushed into a state 
that it doesn't collide with the lower box (due to various inaccuracies), and 
get disabled then.


> 1. extend a reenabled body's AABB a little, and checking
> which disabled bodies' AABBs are now intersecting, then re-enabling 
> those (comment from ql at ntlworld.com)
> 
> 2. same than upper but temporarily expand the raw geom's dimensions 
> (comment from adam)

These are a bit hacky. Not only that, but it ties dynamic and collision in 
some way. Where do you check AABBs? Where do you expand/restore them? 
Besides, bodies don't have AABBs, geoms do (and a body can have any number of 
geoms in funky configurations)...


Aras Pranckevicius aka NeARAZ
http://www.gim.ktu.lt/nesnausk/nearaz/



More information about the ODE mailing list