@brief Set the Universal axis2 as if the 2 bodies were already at
offset1 and offset2 appart with respect to axis1 and axis2.
@ingroup joints
This function initialize the axis2 and the relative orientation of
each body as if body1 was rotated around the axis1 by the offset1
value and as if body2 was rotated around the new axis2 by offset2. \br
Ex:
<PRE>
dJointSetHuniversalAxis2(jId, 0, 1, 0);
// If you request the position you will have: dJointGetUniversalAngle1(jId) == 0
// If you request the position you will have: dJointGetUniversalAngle2(jId) == 0
dJointSetHuniversalAxis2Offset(jId, 0, 1, 0, 0.2, 0.17);
// If you request the position you will have: dJointGetUniversalAngle1(jId) == 0.2
// If you request the position you will have: dJointGetUniversalAngle2(jId) == 0.17
</PRE>
@param j The Hinge joint ID for which the axis will be set
@param x The X component of the axis in world frame
@param y The Y component of the axis in world frame
@param z The Z component of the axis in world frame
@param angle The angle for the offset of the relative orientation.
As if body1 was rotated by angle when the Axis was set (see below).
The rotation is around the new Hinge axis.
@note Usually the function dJointSetHingeAxis set the current position of body1
and body2 as the zero angle position. This function set the current position
as the if the 2 bodies where \b offsets appart.
@note Any previous offsets are erased.
@warning Calling dJointSetUniversalAnchor, dJointSetUnivesalAxis1,
dJointSetUniversalAxis2, dJointSetUniversalAxis2Offset
will reset the "zero" angle position.
@brief Set the Universal axis2 as if the 2 bodies were already at offset1 and offset2 appart with respect to axis1 and axis2. @ingroup joints
This function initialize the axis2 and the relative orientation of each body as if body1 was rotated around the axis1 by the offset1 value and as if body2 was rotated around the new axis2 by offset2. \br Ex: <PRE> dJointSetHuniversalAxis2(jId, 0, 1, 0); // If you request the position you will have: dJointGetUniversalAngle1(jId) == 0 // If you request the position you will have: dJointGetUniversalAngle2(jId) == 0 dJointSetHuniversalAxis2Offset(jId, 0, 1, 0, 0.2, 0.17); // If you request the position you will have: dJointGetUniversalAngle1(jId) == 0.2 // If you request the position you will have: dJointGetUniversalAngle2(jId) == 0.17 </PRE>
@param j The Hinge joint ID for which the axis will be set @param x The X component of the axis in world frame @param y The Y component of the axis in world frame @param z The Z component of the axis in world frame @param angle The angle for the offset of the relative orientation. As if body1 was rotated by angle when the Axis was set (see below). The rotation is around the new Hinge axis.
@note Usually the function dJointSetHingeAxis set the current position of body1 and body2 as the zero angle position. This function set the current position as the if the 2 bodies where \b offsets appart.
@note Any previous offsets are erased.
@warning Calling dJointSetUniversalAnchor, dJointSetUnivesalAxis1, dJointSetUniversalAxis2, dJointSetUniversalAxis2Offset will reset the "zero" angle position.