[ODE] Regarding CSG

Jon Watte hplus-ode at mindcontrol.org
Tue Oct 5 09:08:06 MST 2004


> could probably create "negative" geoms that remove contacts 
> that fall within them

That won't work. Suppose you have two boxes, where box B 
removes fron box A:


+---------+
|
|  Box A  |
|    +----+----+
|    |         |
+----+  Box B  |
     |         |
     +---------+


Suppose Box A (which is the "existing" box) travels to 
the lower right, and penetrates something with the lower 
right corner, where the "x" in "Box B" is. This will be 
the deepest contact. However, Box B would filter out this 
contact and not create the appropriate substitute 
contacts at the (multiple) cut points between Box B and 
Box A.

You can easily take this example and create new cut points 
where there weren't vertices or edges before, too; especially 
if you subtract more than one other shape from another shape, 
or just punch holes through an object with a slim, long, 
subtractive object.


This is the reason I suggest using a third-party CSG 
triangulation package, and feeding the resulting mesh to 
ODE for collision.


Cheers,

			/ h+




More information about the ODE mailing list