Rotate an ODE object around a point.


Currently, I am trying to rotate an ODE object (with an ODE body, ODE mass and ODE geom) around a given point, not necessarily in the object.

What would be the best way to do this? I am currently stuck in the Panda3d API, which doesn’t seem to document functions as setOffsetPosition()

I can throw everything around by manipulating the ODE geom, but I wonder if this moves the mass as well. I’m also completely lost on how to transform the object correctly.

Is there someone with tips/ideas?

What do you mean? The mass is just an information for ODE.

Also, technically you’re not supposed to transform ODE bodies directly. You’re meant to move them around by applying forces and connecting them with joints.

If you want to transform the object directly, chances are you don’t need a body on that object, but just an ODE geom for collision detection.

Problem solved.

Apparently the joints were the problem. After moving the body, the joints moved them back immediately. Breaking the joints, moving the body and creating new joints solved the issue. (which is in hindsight sooo obvious)

You were right in that what you say is probably a common mistake, but that’s not what I was doing in my application. I needed to transform the model in a way the joints didn’t allow.

Thanks anyway! Your help is appreciated!