# ODE and dGeomTriMeshDataSet

This topic is 4716 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

## Recommended Posts

In the documentation it says to manually give the TriMehs's its last transformation matrix using this function: dGeomTriMeshDataSet(...);
// This requires the user to update these variables at every timestep.
// This update is performed outside of ODE, so it is not included in
// ODE itself. The code to do this looks something like this:

const double *DoubleArrayPtr =
Bodies[BodyIndex].TransformationMatrix-&gt;GetArray();

dGeomTriMeshDataSet(TriMeshData,
TRIMESH_LAST_TRANSFORMATION,
(void *) DoubleArrayPtr );

// The transformation matrix is the standard 4x4 homogeneous transform
// matrix, and the "DoubleArray" is the standard flattened array of the
// 16 matrix values.


However it seams that the function does not exist. I checked the header file, its in there, but its not in the lib file for the dll.Was this dropped from ODE or is it yet to exist? - Everything else so far worked with ODE. DevCpp says: [Linker Error] Undefined reference to 'dGeomTriMeshDatSet'

##### Share on other sites
Are you using the single precision version of ODE? IIRC the double precision version doesn't do trimesh stuff.

##### Share on other sites
Using the single precision one, cause it has the TriMesh. Everything else works for the trimeshs just not that function. My collision responses with Trimeshs are way off right know and I think thats the function I need to make it more stable.

I just checked the source code for the samples and they have that line commented out.

Has anyone used dGeomTriMeshDataSet()??

##### Share on other sites
Wierd. When it's compiled with double precision the function exists, but in single it doesn't. I've looked through the sources and I don't see why it's not being compiled in.

##### Share on other sites
Hmm. I just found in the config file where I have to tell it where the OPCODE directory is before it'll enable trimeshes. Once I did that and recompiled ODE dGeomTriMeshDataSet() worked.

Wow. Thanks. ++

##### Share on other sites
This sucks. I can't completly compile ODE with DevCpp, because i also have to compile OPCODE. And Opcode has assembly formatted for non - Mingw compilers.

Then i went online to find some Mingw versions of ODE allready compiled, i found some but using them made my trimesh stop colliding with eachother.

• 23
• 10
• 19
• 15
• 14