[ODE] dGeomCylinderPointDepth function

David Walters hidden.asbestos at googlemail.com
Fri Jan 12 02:23:30 MST 2007

> I've done a dGeomCylinderPointDepth function for ODE (which was missing).

Hi, I've just had a look at this patch using "test_heightfield" @ SVN # 1145.

Unfortunately I found that this function doesn't behave correctly in
that test, if you press the 't' key to show contacts and drop a
cylinder you'll see that the contact points aren't always on the
surface of the cylinder (use ctrl+p to pause for a closer look).

If you compare this to the contact points generated by a capsule then
you'll see that the heightfield _seems_ to be calling the
dGeomCapsulePointDepth function with sensible values and getting
correct results.  (Obviously this might not be the case.)

I hope you can look into this problem because it'd be great to have
this function working - and if it turns out that the heightfield is
passing in "bad" points to get depths from then maybe we should have a
look at what is acceptable behaviour, e.g. for a point outside the
primitive (which is probably what is happening).

Your contribution is very worthwhile, as the default case for a
primitive without a point depth function is to do a ray cast which is
obviously not nearly the best way of handling this.

David Walters

More information about the ODE mailing list