vcanim.gif (8357 bytes)SAA_chainGetPrevPseudoFirstJnt
Home ] Sales ] Products ] Services ] Support ] Downloads ]

 

 


SAA_chainGetPrevPseudoFirstJnt

Retrieves the first joint of the previous subchain.

Given an effector or joint, SAA_chainGetPrevPseudoFirstJnt searches up the hierarchy for the first joint of a subchain, starting with the previous limb.

When you use inverse kinematics, you need the pseudo first joint to set the Up Vector and Preferred Axis constraints on a subchain.

set scene [SAA_AllocScene]

set limb [SAA_AllocElem]

.

.

.

set first [SAA_AllocElem]

SAA_chainGetPrevPseudoFirstJnt  $scene $limb $first nbJoints
limb
Effector or joint of a chain. If limb is a root, or if its parent is a root, then SAA_chainGetNextPseudoFirstJoint() returns SI_ERR_ELEM_CHNROOT.
first
Returns the previous first joint (which may be a real or pseudo first joint).
nbJoints
Returns the number of joints in the subchain between limb and first, including first but not limb.

Return Value

Return correct usage if incorrect parameters are passed

Notes

A pseudo first joint is a joint that behaves like the first joint of a subchain. Chains can be broken into subchains by:

  • Applying a Position constraint to a joint.
  • Keyframing the explicit translation or translation attributes of a joint.
  • Applying path animation to a joint.

For example, when you apply a Position constraint to a joint in a chain, you break the chain into two subchains. The constrained joint is the pseudo effector of one subchain (and the pseudo first joint of the other subchain).

Figure 8-2 : Chain broken into two subchains

The chain in Figure 8-1 includes the following subchains:

  • chn1 -> jnt4_1 -> jnt4_2 -> jnt4_3, where jnt4_3 is the pseudo effector of the subchain.
  • jnt4_3 -> jnt4_4 -> eff4, where jnt4_3 is the pseudo first joint of the subchain.

SAA Index ] Examples SAA calls index ]

copyright Video-Collage Inc.