Hello folks

As I said in a previews message I add the joint to my new ode integration.

I also apply a "soyaisation" of the whole ode tool :

*** I try to "always assumes by default the most common use-case" to ease the use of the ode part. ***

For example if you don't specified the ODE World (which is only a soya.World with ode property activated) which will manage your Body, soya will travel up the world tree looking for a Ode manager World. If none is found the root will be activated as a Ode manager World. Another example : ready the gravity of a No-OdeManager worl will return None, setting it to a value will activate the OdeManagement on this World

        *** I made all the coordinate managed by soya's vector***

All coordinates given or returned by ode's function is now soya.Vector and may be express in any CoordSyst.
For example :
HingeJoint.axis is no more a 3 float tuple express into the ode_world CoordSyst but a soya.Vector it should ease the use of all coordinate related operation especially when a a complexe world tree are used.
        Now world.gravity is express with soya's Vector too.

# a _xyz version of every function should be available to prevent the creation of a single use vector (But are not yet created).

        *** simplified the way to attach body to a join ***

The Joint constructor signature is now Joint (body1=None,body2=None,world=None,group= None) °body1° and °body2° is the two BODY attach by the join. I applied the Greg patch so if one of these two body are set to None it will attach to the environment. (°world° is a optional argument you have to set if no Body is set. otherwise the World containing the Joint is determine from the body provided.)

So you can create a Joint already attach to Body. Moreover : the two property Joint.body1 and Joint.body2 can now be read and write to change de attach of a Joint.

I need some tester to get some feedback about what could be improve or to point wrong simplification choise. If one or two people can try to do few thing with the new implementation and mail me they opinions I'll be very pleased

My branche can be dl at svn -R 180 export svn://svn.gna.org/svn/soya/ branches/ode-integration/soya

- you need an external ODE installed
- Collision is not yet implemented (I'm currently working on them)
- Ode managed object can not yet be serialized.

thx

marmoute
_______________________________________________
Soya-user mailing list
[email protected]
https://mail.gna.org/listinfo/soya-user

Reply via email to