[ODE] Box/Trimesh contact filtering and oblong geoms

Julien LOLLIVIER julien.lollivier at quiris.com
Wed Apr 27 00:03:00 MST 2005


It seems you're right : with a test like "< FLT_EPSILON", all is perfectly stable, and it filters more contacts than with "== 0". (gcc 3.3.2, x86)
I've learned something new today, thanks ;)

I think it's obvious, but since I'm using single precision, EPSILON and DBL_EPSILON does not produce a correct behavior.

The same system is used for normals:
if (fabs(dDOT(in_Normal, Contact->normal)) > 0.99) { ... }
Correct formulation is something like "> ((dReal)1)-ODE_EPSILON" ?

--
Julien 'Xfennec' Lollivier,
CQFD Corp. - Quiris
http://raydium.cqfd-corp.org/

On Tue, 26 Apr 2005 15:17:00 -0600
Rodrigo Hernandez <kwizatz at aeongames.com> wrote:

> 
> That sounds like it should be changed to EPSILON, either FLT_EPSILON, 
> DBL_EPISILON or an aproximation if float.h is not available.
> There is no check for EPSILON on the configure script, but I could 
> easily add it to autotools, could you try changing your test 0 for an 
> EPSILON and see what happens then?
> 
> Thanks.
> 


More information about the ODE mailing list