JV-ODE Physics Thread 4

Blitz3D Forums/Blitz3D Userlibs/JV-ODE Physics Thread 4

The Forum Archive is locked. These are the original blitzbasic.com forums, kept so their posts can still be read and searched. No new topics, replies or edits can be made here. To join the conversation, head over to the Blitz3D+ forums.

Can someone tell me the best way to disable an ODE Body so it doesn't react to collisions or forces, but it's geom still acts? I want objects that move around at first but can come to a standstill on contact with other certain objects, and when they do no amount of force will move them.

dBodyDisable() won't work because the moment the object is hit it's enabled. I'm thinking maybe moving the object into a different space could work somehow, but I can't see how to do it. Seems if there's a body object it has to partake in collisions. The other alternative is to delete the body, but I might want to be able to have the object moving again which would require creating another body, all of which sound a bit awkward. Or can I destroy the Contact Joint of a disabled object to stop being automatical updated? Or create a Fixed joint to hold it on the spot, but can't these be overcome with powerful forces? As the manual says...

The fixed joint maintains a fixed relative position and orientation between two bodies, or between a body
and the static environment.(~ sounding perfect ~). Using this joint is almost never a good idea in practice (~ boo ~), except when debugging.
If you need two bodies to be glued together it is better to represent that as a single body.