[ODE] Bug in dGeomTriMeshGetTriangle and dGeomTriMeshGetPoint

Ivan Baran ivan.baran at vrm.sk
Thu Jul 17 06:05:02 2003


This is a multi-part message in MIME format.

------=_NextPart_000_003B_01C34C74.EE5103F0
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

i tried to draw a triangle... and what i find...  i think that there is =
a
simple bug in collision_trimesh.cpp

    void dGeomTriMeshGetTriangle(dGeomID g, int Index, dVector3* =
v0,dVector3* v1, dVector3* v2){
    ....
        FetchTriangle(Geom, Index, Rotation, Position, v);     // =
Original
        FetchTriangle(Geom, Index, Position, Rotation, v);     // =
Corrected
    ...
    }

and

    void dGeomTriMeshGetPoint(dGeomID g, int Index, dReal u, dReal v,  =
dVector3 Out){
        ....
        FetchTriangle(Geom, Index, Rotation, Position, v);     // =
Original
        FetchTriangle(Geom, Index, Position, Rotation, v);     // =
Corrected
        ...

    }

because function defining in collision_trimesh_internal.h is

inline void FetchTriangle(dxTriMesh* TriMesh, int Index, const dVector3
Position, const dMatrix3 Rotation, dVector3 Out[3])
{
....
}

ivanba
------=_NextPart_000_003B_01C34C74.EE5103F0
Content-Type: text/html;
	charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META http-equiv=3DContent-Type content=3D"text/html; =
charset=3Diso-8859-1">
<META content=3D"MSHTML 6.00.2800.1106" name=3DGENERATOR>
<STYLE></STYLE>
</HEAD>
<BODY bgColor=3D#ffffff>
<DIV>i tried to draw a triangle... and what i find...&nbsp; i think that =
there=20
is a<BR>simple bug in collision_trimesh.cpp<BR><BR>&nbsp;&nbsp;&nbsp; =
void=20
dGeomTriMeshGetTriangle(dGeomID g, int Index, dVector3* v0,dVector3* v1, =

dVector3* v2){<BR>&nbsp;&nbsp;&nbsp;=20
....<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; FetchTriangle(Geom, =
Index,=20
Rotation, Position, v);&nbsp;&nbsp;&nbsp;&nbsp; //=20
Original<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; =
FetchTriangle(Geom,=20
Index, Position, Rotation, v);&nbsp;&nbsp;&nbsp;&nbsp; //=20
Corrected<BR>&nbsp;&nbsp;&nbsp; ...<BR>&nbsp;&nbsp;&nbsp;=20
}<BR><BR>and<BR><BR>&nbsp;&nbsp;&nbsp; void dGeomTriMeshGetPoint(dGeomID =
g, int=20
Index, dReal u, dReal v,&nbsp; dVector3=20
Out){<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=20
....<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; FetchTriangle(Geom, =
Index,=20
Rotation, Position, v);&nbsp;&nbsp;&nbsp;&nbsp; //=20
Original<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; =
FetchTriangle(Geom,=20
Index, Position, Rotation, v);&nbsp;&nbsp;&nbsp;&nbsp; //=20
Corrected<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=20
...<BR><BR>&nbsp;&nbsp;&nbsp; }<BR><BR>because function defining in=20
collision_trimesh_internal.h is<BR><BR>inline void =
FetchTriangle(dxTriMesh*=20
TriMesh, int Index, const dVector3<BR>Position, const dMatrix3 Rotation, =

dVector3 Out[3])<BR>{<BR>....<BR>}<BR><BR>ivanba</DIV></BODY></HTML>

------=_NextPart_000_003B_01C34C74.EE5103F0--