Jump to content
  • Advertisement
Sign in to follow this  
FlyingDemon

ODE and dGeomTriMeshDataSet

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

If you intended to correct an error in the post then please contact us.

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->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 this post


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

Share this post


Link to post
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 this post


Link to post
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 this post


Link to post
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.

Share this post


Link to post
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.

Share this post


Link to post
Share on other sites
Sign in to follow this  

  • Advertisement
×

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

We are the game development community.

Whether you are an indie, hobbyist, AAA developer, or just trying to learn, GameDev.net is the place for you to learn, share, and connect with the games industry. Learn more About Us or sign up!

Sign me up!