[ODE] How is body related to geom?

David Walters hidden.asbestos at googlemail.com
Fri Nov 24 15:08:13 MST 2006

Hi, can I direct you to the ODE manual on the wiki :

I learned everything I needed to know from reading this. To answer
your questions:

> How are body and geom related?

A body is related to a geom such that a body can be connected to a
geom to drive its position and rotation (Note that a geom does not
need to have a body attached to it if you just want it to sit there

The body is the intangible part that ODE's dynamic simulation moves
and spins using the constraints (known in ODE as "joints") and forces
present in the system as time passes.

The geom is the tangible part that ODE's collision system uses to
detect where in space a collision has occurred and (typically) this
data is used to generate contact joints (i.e. constraints) which feed
back into the dynamic simulation and cause the whole body/geom pairing
to move around and behave in a physically correct manner.

> When I do dMassSetBox (&m, 1, 4, 4, 4) and dMassSetBox (&m, 1, 14, 14,
> 14) I get different collision results for geom created of
> dTriMeshDataID

The mass property of a body governs its response to forces and torques
generated by the simulation. The distribution of mass within the body
is setup using these helpful functions dMassSetBox, etc. and (although
my knowledge of this area is pretty limited) allow me to tell a body
to spin and accelerate just like a cube with sides of length 4, or
indeed 14.

> How body affects collision?

A body in ODE does not directly affect collision, it can only
indirectly cause it through movement of its attached geoms.

I hope this helps, and if not, read the manual a few more times! - it
took me a while to get to grips with the terminology and concepts -
but once it clicks, it's an elegant system.


More information about the ODE mailing list