I’ve now created issues in IssueZilla for all the improvements to Odejava that are currently on “my list” such as multi-geom support. This is so their progress can be tracked and people can volunteer to do the coding to help me (anyone interested?).
Currently Bodies can only be added to a world on creation.
Idealy they would be able to be created - then added to a world later. This
means the contstructor arguments must be stored locally. Unlike with Geom and
Space - I don’t think they can easily be removed and added but can only be
created and destroyed. This isn’t a large issue except that their values will
need to be cached locally on creation and destruction.
[/quote]
ODE itself creates bodies with a World parameter which is mandatory. ODE public API does not support moving Bodies from a world into another.
You could defer object creation at the Odejava lowlevel side and separate Body creation from body.setWorld(worldId), but then you hit the problem that setWorld cannot be called another time.
So inheritly I’d go with ODE’s own way in these cases. It’s not pretty but it’s simple. I wouldn’t try to abstrahate ODE’s own pecularities, ideal solution is something that ODE does not support. It’s API is pretty wierd from some places (imho).
Yep, this would be good to do. Also there’s some obsolete SWIG classes that need to be removed.