[ODE] hierarchial spaces

David McClurg dmcclurg at pandemicstudios.com.au
Thu Sep 26 18:23:02 2002

currently, spaces don't treat geom groups any differently from other geoms.  this has the following dis-advantages...

- in a hash space, the geoms in a group don't get the same treatment as the geoms in the space.  that means many more AABB tests for a large group.
- when a geom group is processed by the space, the near callback must decide whether to collide with the entire group or not at all.

i'm using a group for all my static tri-lists so they do not self-intersect.  this is different from the application suggested by the user guide (eg, a collection of geometry objects that are located together in space) but i still think it's a good use of groups.  here is my recommended solution...

- implement hash space testing in groups.  perhaps flag it on a per-group level.  maybe a space is really just a group!

- as you traverse the tree of groups and geoms in dSpaceCollide(), issue the near callback at each node.  that gives the caller the ability to filter out which geoms are passed to dCollide().