[ODE] ODE 0.50 distribution

John Miles jmiles at pop.net
Wed Jun 9 13:17:32 MST 2004


Couple of issues with the new 0.50 release:

--------------------------
1) Can you (Russ) please include a .zip source distribution in the archive?
No utility I have on my Win2K box will deal directly with ode-0.5.tgz.  I
have to un-gzip the ode-0.5 file, manually rename it to ode-0.5.tar, and
unzip *that*.

Failing that, can you add an explicit .tar suffix to the gzipped .tar file?

--------------------------
2) dGeomRaySetParams() is still declared in the 0.50 headers, but not
exported from the Win32 .DLL.  It should be added to config\msvcdefs.def and
config\msvcdefs-trimesh.def, and probably the .def file in the VC6 directory
as well.

--------------------------
3) It would be nice if the following exported function could be added to
collision_trimesh.cpp:

	int dGeomTriMeshGetTriangleCount(dGeomID g)
		{
		dxTriMesh* Geom = (dxTriMesh*)g;

   		return Geom->Data->Mesh.GetNbTriangles();
		}

Without this, there's no way for the app to tell what range of Index
parameters can be passed to dGeomTriMeshGetTriangle() without violating
encapsulation or keeping redundant polygon-count variables around.

--------------------------
4) This might be a bug in my code, but am I the only one who found Erwin de
Vries's latest collision_trimesh_ccylinder.cpp and collision_trimesh_box.cpp
versions (plus his subsequent trimesh_ccylinder patch) to generate
superior-quality collisions compared to the later rewrites of these two
files by the Croteam contributors?

I had to copy those  two .cpp files from my \ode039 directory back into the
\ode50 directory to fix "mushy" collisions and severe fall-through
tendencies in both box-trimesh and ccylinder-trimesh collisions.

If I'm the only one who's noticed degraded trimesh-collision quality with
the newer box and ccylinder colliders, then there is probably nothing wrong,
and this comment should be ignored.  However, if anyone else has had a
similar experience, I wonder if we should restore Erwin's .cpp files to the
/contrib directory as an optional solution.  The difference is not subtle at
all: Erwin's implementation is usable in my application, and the stock 0.50
implementation is not.

Thanks! -- john



More information about the ODE mailing list