[ODE] Destroying Body before Geom

Chris Osborn cwosborn at nps.edu
Wed Oct 19 18:45:17 MST 2005

Hi guys,

How does one correctly destroy a body before the geom associated with 
it? I have a base class with a dGeomID and a derived class with a 
dBodyID . Since the derived classes destructor is called first, 
dBodyDestroy is called before dGeomDestroy.



This results in a access violation in collision_kernel.cpp:

dxGeom *dGeomGetBodyNext (dxGeom *geom)
   return geom->body_next;  //right here, where geom is a bad pointer

I've tried calling dGeomSetBody(mGeomID, 0) prior to dBodyDestory, 
hoping to decouple the two. But then it dies in dxGeom::bodyRemove().

Any ideas?


More information about the ODE mailing list