[ODE] New additions to CVS

Martin C. Martin martin at metahuman.org
Mon Jun 23 14:01:02 2003


Hi all,

I've added a few utility functions to the ODE cvs, and added documentation
for them, included below.  Russ, I tried to stay in the "style" of ODE as
best I could.  Let me know if you'd like any changes.

Enjoy,
Martin

void dGeomSetQuaternion (dGeomID, const dQuaternion);

Set the quaternion of a placeable geom. This function is analogous to
dBodySetQuaternion(). If the geom is attached to a body, the body's
quaternion will also be changed.

void dGetGetQuaternion (dGeomID, const dQuaternion);

dGeomGetQuaternion() copies the geom's quaternion into the space provided.
If the geom is attached to a body, the body's quaternion will be returned,
i.e. the resulting quaternion will be the same as the result of calling
dBodyGetQuaternion().

void dJointGetBallAnchor2 (dJointID, dVector3 result);
void dJointGetHingeAnchor2 (dJointID, dVector3 result);
void dJointGetHinge2Anchor2 (dJointID, dVector3 result);
void dJointGetUniversalAnchor2 (dJointID, dVector3 result);

Get the joint anchor point, in world coordinates. This returns the point
on body 2. You can think of a ball and socket joint as trying to keep the
result of dJointGetBallAnchor() and dJointGetBallAnchor2() the same. If
the joint is perfectly satisfied, this function will return the same value
as dJointGetBallAnchor() to within roundoff errors. dJointGetBallAnchor2()
can be used, along with dJointGetBallAnchor(), to see how far the joint
has come apart.