[ODE] Quadtree space.

Erwin de Vries erwin at vo.com
Tue Jul 15 10:08:01 2003


> From the new docs:
> "Quadtree space. This uses a pre-allocated hierarchical grid-based AABB
> tree to quickly cull collision checks. It's exceptionally quick for
> large amounts of objects in landscape-shaped worlds.[..]"
>
> Okay, so it truly is a quadtree inside (not an octree as I kinda
> assumed).  Does this imply that it only scales well for objects
> spread primarily over two dimensions?

An octree space would indeed be very useful as well. But quadtrees have
their uses as well. For some cases it might also be possible to create an on
the fly generated AABB tree.

> If so, the critical question is -- which two dimensions?  The
> dimension along which it does not scale would ideally be the
> 'up' dimension for landscapes, sure.  But which dimension this is
> will depend upon whether the user adopts a left-handed or right-
> handed convention, which ODE has traditionally been agnostic
> towards.

This is something that will be fixed in future versions. I already though
about fixing it. We simply let the user define the 2 axii, or we get them by
extracting the largest 2 from the extents parameter from the constructor
(which i think this is the best). Currently it is done by using a define at
the beginning of the collision_quadtreespace.cpp file.

Erwin