I've done this function for my own use. It works for me but I'm not sure if it's working 100% as expected for other people. (I'm using ".group" but really I don't know what it is)
It allows to move an object(not just an element) for a certain distance(x,y,z) from its previous position.
Code:
void raydium_ode_object_move_relative_3f( int obj, float x, float y, float z)
{
dReal *refp;
dReal pos[3];
refp=(dReal *)dGeomGetPosition(dSpaceGetGeom(raydium_ode_object[obj].group,0));
pos[0]=refp[0]+x;
pos[1]=refp[1]+y;
pos[2]=refp[2]+z;
raydium_ode_object_move(obj, pos);
}
void raydium_ode_object_move_name_relative_3f( char *name, float x, float y, float z)
{
raydium_ode_object_move_relative_3f(raydium_ode_object_find(name),x,y,z);
}
It's ok? Should I commit this?