[ODE] Problem with ode .39 vs .35

Jeff Weber jeffreyweber at hotmail.com
Wed Sep 3 18:01:02 2003


When I compile and run v .39 it behaves differently then v .35

More specifically, i'm getting a different return value for 
dBodyGetRotation(). I'm assuming the internals are doing something they 
weren't before.

Here are the details:

I have a .Net wrapper for ode.(i'm pretty sure it's not a wrapper problem)  
I call the a constructor to new-up a body object:

//constructor
Body::Body(ManagedODE::World * world)
	{
		_world = world;
		_id = dBodyCreate (world->Id);
		_geomList = new BodyGeomList(this);
	}

Then, as a test I immediatly make a call to retrieve the rotation matrix for 
the body:

Matrix3 Body::get_Rotation()
	{
		const dReal * rotation;
		rotation = dBodyGetRotation(_id);
		Matrix3 mat = Matrix3(rotation);
		return mat;
	}

The test app is identical, the only difference is one is using v.35 compiled 
to use doubles and the other is using v.39 and is also complied to use 
doubles.

Here is what the mat looks like in each case:

v.35:
http://www.farseer.com/ode35double.jpg

v.39
http://www.farseer.com/ode39double.jpg

Obviously the value i'm getting back from dBodyGetRotation is messed up or 
at least different then it was in .35  Anyone have any ideas what might have 
changed??

_________________________________________________________________
Get MSN 8 and enjoy automatic e-mail virus protection.  
http://join.msn.com/?page=features/virus