Re: 0.8.2 candidate
"Jon Watte (ODE)" <[email protected]>
| Newsgroups | gmane.comp.lib.ode |
|---|---|
| Message-ID | <[email protected]> |
Oleh Derevenko wrote:
>> - in demo_moving_trimesh, when dropping a trimesh with 'm', I get
>> "assertion "dFabs(dVector3Length((dVector3&)*normal) - REAL(1.0)) <
>> dEpsilon" failed in
>> ..\..\ode\src\collision_trimesh_trimesh_new.cpp:328". Is this expected
>> with the new trimesh collider?
>>
>
> Fixed.
> I have loosed tolerance to 1e-2, as precision for float is really poor.
>
An alternative (and perhaps better) solution is to make the epsilon
depend on the magnitude of the values involved. For example, when
testing triangles/planes/rays before, I've used an epsilon like
(max(abs(components)) * 1e-6).
Note that the specific assertion, though, just says "the normal should
be normalized." If you generate a normal that isn't normalized, it might
be better to just normalize it, rather than accept normals that are off
the required length by one whole percent.
Cheers,
/ h+