@Barton: The dSpaceDestroy function in the dll uses the original unmodified ode code (ode handles the process internally). It may be that the geoms should be added to the space manually to make this function work correctly? The ODE User Manual will give you some more info on adding geoms to spaces. I'm not sure which way would be best though, that depends on how JV-ODE is being applied to your project. Personally I would build both methods then test them fully to see if there are any issues with each one. Let us know how you get on with it :)
@CopperCircle: Nice game :) For the elasticity, I would experiment with the new geom contact settings to alter the bounce, erp and cfm etc...
dGeomContactSetMode(geom,mode)
dGeomContactGetMode%(geom)
dGeomContactSetMu(geom,mu#)
dGeomContactGetMu#(geom)
dGeomContactSetMu2(geom,mu#)
dGeomContactGetMu2#(geom)
dGeomContactSetBounce(geom,bounce#)
dGeomContactGetBounce#(geom)
dGeomContactSetBounceVel(geom,vel#)
dGeomContactGetBounceVel#(geom)
dGeomContactSetSoftERP(geom,erp#)
dGeomContactGetSoftERP#(geom)
dGeomContactSetSoftCFM(geom,cfm#)
dGeomContactGetSoftCFM#(geom)
dGeomContactSetMotion1(geom,motion#)
dGeomContactGetMotion1#(geom)
dGeomContactSetMotion2(geom,motion#)
dGeomContactGetMotion2#(geom)
dGeomContactSetSlip1(geom,slip#)
dGeomContactGetSlip1#(geom)
dGeomContactSetSlip2(geom,slip#)
dGeomContactGetSlip2#(geom)
dGeomContactSetDefaults(geom)
... also you can try changing the mass of the objects and gravity settings.
To increase stability you can raise the maxcontacts parameter using the dContactSetMaxContacts(max) function. The default is 128, so you could try 256 or 512 or something like that. Don't raise it too high though as this too will make it unstable. You can also reduce the time steps, but this may have an undesirable effect on the overall simulation.
Time for a new thread I think... :)
@CopperCircle: Nice game :) For the elasticity, I would experiment with the new geom contact settings to alter the bounce, erp and cfm etc...
dGeomContactSetMode(geom,mode)
dGeomContactGetMode%(geom)
dGeomContactSetMu(geom,mu#)
dGeomContactGetMu#(geom)
dGeomContactSetMu2(geom,mu#)
dGeomContactGetMu2#(geom)
dGeomContactSetBounce(geom,bounce#)
dGeomContactGetBounce#(geom)
dGeomContactSetBounceVel(geom,vel#)
dGeomContactGetBounceVel#(geom)
dGeomContactSetSoftERP(geom,erp#)
dGeomContactGetSoftERP#(geom)
dGeomContactSetSoftCFM(geom,cfm#)
dGeomContactGetSoftCFM#(geom)
dGeomContactSetMotion1(geom,motion#)
dGeomContactGetMotion1#(geom)
dGeomContactSetMotion2(geom,motion#)
dGeomContactGetMotion2#(geom)
dGeomContactSetSlip1(geom,slip#)
dGeomContactGetSlip1#(geom)
dGeomContactSetSlip2(geom,slip#)
dGeomContactGetSlip2#(geom)
dGeomContactSetDefaults(geom)
... also you can try changing the mass of the objects and gravity settings.
To increase stability you can raise the maxcontacts parameter using the dContactSetMaxContacts(max) function. The default is 128, so you could try 256 or 512 or something like that. Don't raise it too high though as this too will make it unstable. You can also reduce the time steps, but this may have an undesirable effect on the overall simulation.
Time for a new thread I think... :)