#include <MFnIkJoint.h>
This is the function set for joints.
The transformation matrix for a joint node is below.
These matrices are defined as follows:
Public Member Functions  
virtual MFn::Type  type () const 
Function set type.  
virtual  ~MFnIkJoint () 
Destructor.  
MFnIkJoint ()  
Default constructor.  
MFnIkJoint (MObject &object, MStatus *ReturnStatus=NULL)  
Constructor.  
MFnIkJoint (const MDagPath &object, MStatus *ret=NULL)  
Constructor.  
MObject  create (MObject parent=MObject::kNullObj, MStatus *ReturnStatus=NULL) 
MStatus  getOrientation (MQuaternion &quaternion) const 
MStatus  setOrientation (const MQuaternion &quaternion) 
MStatus  getOrientation (MEulerRotation &rotation) const 
MStatus  setOrientation (const MEulerRotation &rotation) 
MStatus  getOrientation (double rotation[3], MTransformationMatrix::RotationOrder &order) const 
MStatus  setOrientation (const double rotation[3], MTransformationMatrix::RotationOrder order) 
MStatus  getScaleOrientation (MQuaternion &quaternion) const 
MStatus  setScaleOrientation (const MQuaternion &quaternion) 
MStatus  getScaleOrientation (double rotation[3], MTransformationMatrix::RotationOrder &order) const 
MStatus  setScaleOrientation (const double rotation[3], MTransformationMatrix::RotationOrder order) 
MStatus  getSegmentScale (double scale[3]) const 
MStatus  setSegmentScale (const double scale[3]) 
MStatus  getStiffness (double stiffness[3]) const 
MStatus  setStiffness (const double stiffness[3]) 
MStatus  getPreferedAngle (double rotation[3]) const 
MStatus  setPreferedAngle (const double rotation[3]) 
MStatus  getDegreesOfFreedom (bool &freeInX, bool &freeInY, bool &freeInZ) const 
MStatus  setDegreesOfFreedom (bool freeInX, bool freeInY, bool freeInZ) 
double  minRotateDampXRange (MStatus *ReturnStatus=NULL) const 
double  minRotateDampYRange (MStatus *ReturnStatus=NULL) const 
double  minRotateDampZRange (MStatus *ReturnStatus=NULL) const 
double  maxRotateDampXRange (MStatus *ReturnStatus=NULL) const 
double  maxRotateDampYRange (MStatus *ReturnStatus=NULL) const 
double  maxRotateDampZRange (MStatus *ReturnStatus=NULL) const 
MStatus  setMinRotateDampXRange (double angle) 
MStatus  setMinRotateDampYRange (double angle) 
MStatus  setMinRotateDampZRange (double angle) 
MStatus  setMaxRotateDampXRange (double angle) 
MStatus  setMaxRotateDampYRange (double angle) 
MStatus  setMaxRotateDampZRange (double angle) 
double  minRotateDampXStrength (MStatus *ReturnStatus=NULL) const 
double  minRotateDampYStrength (MStatus *ReturnStatus=NULL) const 
double  minRotateDampZStrength (MStatus *ReturnStatus=NULL) const 
double  maxRotateDampXStrength (MStatus *ReturnStatus=NULL) const 
double  maxRotateDampYStrength (MStatus *ReturnStatus=NULL) const 
double  maxRotateDampZStrength (MStatus *ReturnStatus=NULL) const 
MStatus  setMinRotateDampXStrength (double angle) 
MStatus  setMinRotateDampYStrength (double angle) 
MStatus  setMinRotateDampZStrength (double angle) 
MStatus  setMaxRotateDampXStrength (double angle) 
MStatus  setMaxRotateDampYStrength (double angle) 
MStatus  setMaxRotateDampZStrength (double angle) 
MString  hikJointName (MStatus *ReturnStatus=NULL) const 
MFnIkJoint (const MObject &object, MStatus *ret=NULL)  
Constructor.  
MStatus  getHikJointName (MString &name) const 
NO SCRIPT SUPPORT.  
Protected Member Functions  
virtual const char *  className () const 
Class name. 
MFnIkJoint::~MFnIkJoint  (  )  [virtual] 
Destructor.
Class destructor.
Constructor.
Class constructor that initializes the function set to the given MObject.
[in]  object  The MObject to attach the function set to 
[out]  ReturnStatus  the return status 
Constructor.
Class constructor that initializes the function set to the given constant MDagPath object.
[in]  object  The const MDagPath to attach the function set to 
[out]  ReturnStatus  The return status 
Constructor.
Class constructor that initializes the function set to the given MObject.
[in]  object  The MObject to attach the function set to 
[out]  ReturnStatus  the return status 
MFn::Type MFnIkJoint::type  (  )  const [virtual] 
const char * MFnIkJoint::className  (  )  const [protected, virtual] 
MObject MFnIkJoint::create  (  MObject  parent = MObject::kNullObj , 

MStatus *  ReturnStatus = NULL  
) 
Create a new joint in a skeleton. In maya, skeletons are defined entirely by DAG hierarchy. So, giving the joint you want to attach to as a parent will add this joint to that skeleton.
[in]  parent  the parent object for this in the dag. A value of NULL specifies the world dag node as parent. 
[out]  ReturnStatus  Status Code (see below) 
Reimplemented from MFnTransform.
MStatus MFnIkJoint::getOrientation  (  MQuaternion &  quaternion  )  const 
Get the joint orientation. This corresponds to the jointOrient attribute on the joint, which is stored internally as a quaternion. It is different from the rotation orientation defined in the transform node. Modifying the jointOrient changes the coordinate axes, which affects how scaling a joint behaves.
The matrix equations used to combine the jointOrient with the other transformation attributes of the joint are described in the description for the MFnIkJoint class.
[out]  quaternion  the quaternion representing the jointOrient 
MStatus MFnIkJoint::setOrientation  (  const MQuaternion &  quaternion  ) 
Set the jointOrient value. This corresponds to the jointOrient attribute on the joint, which is stored internally as a quaternion. It is different from the rotation orientation defined in the transform node. Modifying the jointOrient changes the coordinate axes, which affects how scaling a joint behaves.
The matrix equations used to combine the jointOrient with the other transformation attributes of the joint are described in the description for the MFnIkJoint class.
[in]  quaternion  the joint orientation 
MStatus MFnIkJoint::getOrientation  (  MEulerRotation &  rotation  )  const 
Get the orientation of the coordinate axes.
[out]  rotation  the euler rotation into which we will store the orientation 
MStatus MFnIkJoint::setOrientation  (  const MEulerRotation &  rotation  ) 
Set the orientation of the coordinate axes.
[in]  rotation  the orientation 
MStatus MFnIkJoint::getOrientation  (  double  rotation[3],  
MTransformationMatrix::RotationOrder &  order  
)  const 
Get the orientation of the coordinate axes.
[out]  rotation  the array into which we will store the angles 
[out]  order  storage for the order to do the rotation in 
MStatus MFnIkJoint::setOrientation  (  const double  rotation[3],  
MTransformationMatrix::RotationOrder  order  
) 
Set the orientation of the coordinate axes.
[in]  rotation  the orientation 
[in]  order  the order to do the rotation in 
MStatus MFnIkJoint::getScaleOrientation  (  MQuaternion &  quaternion  )  const 
Get the orientation of the coordinate axes for rotation. This is equivalent to calling the MFnTransform::rotateOrientation method, and corresponds to the rotateAxis attribute on the joint node.
[out]  quaternion  the quaternion into which we will store the rotate orientation 
MStatus MFnIkJoint::setScaleOrientation  (  const MQuaternion &  quaternion  ) 
Set the orientation of the coordinate axes for rotation. This is equivalent to calling the MFnTransform::setRotateOrientation method, and corresponds to the rotateAxis attribute on the joint node. The matrix equations used to combine the rotateAxis with the other transformation attributes of the joint are described in the description for the MFnIkJoint class.
[out]  quaternion  the rotate orientation 
MStatus MFnIkJoint::getScaleOrientation  (  double  rotation[3],  
MTransformationMatrix::RotationOrder &  order  
)  const 
Get the orientation of the coordinate axes for rotation. This is equivalent to calling the MFnTransform::rotateOrientation method but returns the Euler rotation rather than the quaternion rotation. The matrix equations used to combine the rotateAxis with the other transformation attributes of the joint are described in the description for the MFnIkJoint class.
[out]  rotation  the array into which we will store the angles 
[out]  order  storage for the order to do the rotation in 
MStatus MFnIkJoint::setScaleOrientation  (  const double  rotation[3],  
MTransformationMatrix::RotationOrder  order  
) 
Set the orientation of the coordinate axes for rotation. This is equivalent to calling the MFnTransform::setRotateOrientation method, and corresponds to the rotateAxis attribute on the joint node. The matrix equations used to combine the rotateAxis with the other transformation attributes of the joint are described in the description for the MFnIkJoint class.
[in]  rotation  the rotate orientation 
[in]  order  the order to do the rotation in 
MStatus MFnIkJoint::getSegmentScale  (  double  scale[3]  )  const 
Get the local space scale values for the joint segment (bone). This is equivalent to calling MFnTransform::getScale.
[out]  scale  Storage for the scale values 
MStatus MFnIkJoint::setSegmentScale  (  const double  scale[3]  ) 
Set the local space scale values for the joint segment (bone). This is equivalent to calling Ttransform::setScale.
[in]  scale  the new scale values to set 
MStatus MFnIkJoint::getStiffness  (  double  stiffness[3]  )  const 
Get the stiffness (from 0 to 100.0) for the joint. The stiffness attribute is used by ik solvers to generate a resistance to a joint motion. The higher the stiffness the less it will rotate. Stiffness works in relative sense: it determines the willingness of this joint to rotate with respect to the other joint in the ik chain.
[out]  stiffness  storage for the stiffness values 
MStatus MFnIkJoint::setStiffness  (  const double  stiffness[3]  ) 
Set the stiffness (from 0 to 100.0) for the joint. The stiffness attribute is used by ik solvers to generate a resistance to a joint motion. The higher the stiffness the less it will rotate. Stiffness works in relative sense: it determines the willingness of this joint to rotate with respect to the other joint in the ik chain.
[in]  stiffness  the X, Y, and Z stiffness values 
MStatus MFnIkJoint::getPreferedAngle  (  double  rotation[3]  )  const 
Get the preferred orientation for this joint (in XYZ order)
[out]  rotation  the array into which we will store the angles 
MStatus MFnIkJoint::setPreferedAngle  (  const double  rotation[3]  ) 
Set the preferred orientation for this joint (in XYZ order)
[in]  rotation  the array into which we will store the angles 
MStatus MFnIkJoint::getDegreesOfFreedom  (  bool &  freeInX,  
bool &  freeInY,  
bool &  freeInZ  
)  const 
Get degrees of freedom of this joint
[out]  freeInX  the first degree of freedom 
[out]  freeInY  the second degree of freedom 
[out]  freeInZ  the third degree of freedom 
MStatus MFnIkJoint::setDegreesOfFreedom  (  bool  freeInX,  
bool  freeInY,  
bool  freeInZ  
) 
Set the degrees of freedom of this joint by specifying which axes are allowed to rotate.
[in]  freeInX  the first degree of freedom 
[in]  freeInY  the second degree of freedom 
[in]  freeInZ  the third degree of freedom 
double MFnIkJoint::minRotateDampXRange  (  MStatus *  ReturnStatus = NULL 
)  const 
Get the minimum of the damping range in X. This corresponds to the minRotateDampXRange attribute on the joint.
The minRotateDampRange and minRotateDampStrength are attributes used by ik to apply resistance to a joint rotation as it approaches the lower boundary of its rotation limits. This functionality allows joint motion to slow down smoothly until the joint reaches its rotation limits instead of stopping abruptly. The minRotateDampRange specifies when the deceleration should start, and the minRotateDampStrength defines the rate of deceleration.
[out]  ReturnStatus  Status Code (see below) 
double MFnIkJoint::minRotateDampYRange  (  MStatus *  ReturnStatus = NULL 
)  const 
Get the minimum of the damping range in Y. This corresponds to the minRotateDampYRange attribute on the joint.
The minRotateDampRange and minRotateDampStrength are attributes used by ik to apply resistance to a joint rotation as it approaches the lower boundary of its rotation limits. This functionality allows joint motion to slow down smoothly until the joint reaches its rotation limits instead of stopping abruptly. The minRotateDampRange specifies when the deceleration should start, and the minRotateDampStrength defines the rate of deceleration.
[out]  ReturnStatus  Status Code (see below) 
double MFnIkJoint::minRotateDampZRange  (  MStatus *  ReturnStatus = NULL 
)  const 
Get the minimum of the damping range in Z. This corresponds to the minRotateDampZRange attribute on the joint.
The minRotateDampRange and minRotateDampStrength are attributes used by ik to apply resistance to a joint rotation as it approaches the lower boundary of its rotation limits. This functionality allows joint motion to slow down smoothly until the joint reaches its rotation limits instead of stopping abruptly. The minRotateDampRange specifies when the deceleration should start, and the minRotateDampStrength defines the rate of deceleration.
[out]  ReturnStatus  Status Code (see below) 
double MFnIkJoint::maxRotateDampXRange  (  MStatus *  ReturnStatus = NULL 
)  const 
Get the maximum of the damping range in X. This corresponds to the maxRotateDampXRange attribute on the joint.
The minRotateDampRange and minRotateDampStrength are attributes used by ik to apply resistance to a joint rotation as it approaches the upper boundary of its rotation limits. This functionality allows joint motion to slow down smoothly until the joint reaches its rotation limits instead of stopping abruptly. The maxRotateDampRange specifies when the deceleration should start, and the maxRotateDampStrength defines the rate of deceleration.
[out]  ReturnStatus  Status Code (see below) 
double MFnIkJoint::maxRotateDampYRange  (  MStatus *  ReturnStatus = NULL 
)  const 
Get the maximum of the damping range in Y. This corresponds to the maxRotateDampYRange attribute on the joint.
The minRotateDampRange and minRotateDampStrength are attributes used by ik to apply resistance to a joint rotation as it approaches the upper boundary of its rotation limits. This functionality allows joint motion to slow down smoothly until the joint reaches its rotation limits instead of stopping abruptly. The maxRotateDampRange specifies when the deceleration should start, and the maxRotateDampStrength defines the rate of deceleration.
[out]  ReturnStatus  Status Code (see below) 
double MFnIkJoint::maxRotateDampZRange  (  MStatus *  ReturnStatus = NULL 
)  const 
Get the maximum of the damping range in Z. This corresponds to the maxRotateDampZRange attribute on the joint.
The minRotateDampRange and minRotateDampStrength are attributes used by ik to apply resistance to a joint rotation as it approaches the upper boundary of its rotation limits. This functionality allows joint motion to slow down smoothly until the joint reaches its rotation limits instead of stopping abruptly. The maxRotateDampRange specifies when the deceleration should start, and the maxRotateDampStrength defines the rate of deceleration.
[out]  ReturnStatus  Status Code (see below) 
MStatus MFnIkJoint::setMinRotateDampXRange  (  double  angle  ) 
Set the minimum of the damping range in X
[in]  angle  The damping range to set 
MStatus MFnIkJoint::setMinRotateDampYRange  (  double  angle  ) 
Set the minimum of the damping range in Y
[in]  angle  the damping range to set 
MStatus MFnIkJoint::setMinRotateDampZRange  (  double  angle  ) 
Set the minimum of the damping range in Z
[in]  angle  the damping range to set 
MStatus MFnIkJoint::setMaxRotateDampXRange  (  double  angle  ) 
Set the maximum of the damping range in X
[in]  angle  the damping range to set 
MStatus MFnIkJoint::setMaxRotateDampYRange  (  double  angle  ) 
Set the maximum of the damping range in Y
[in]  angle  the damping range to set 
MStatus MFnIkJoint::setMaxRotateDampZRange  (  double  angle  ) 
Set the maximum of the damping range in Z
[in]  angle  the damping range to set 
double MFnIkJoint::minRotateDampXStrength  (  MStatus *  ReturnStatus = NULL 
)  const 
Get the minimum of the damping strength in X.
[out]  ReturnStatus  Status Code (see below) 
double MFnIkJoint::minRotateDampYStrength  (  MStatus *  ReturnStatus = NULL 
)  const 
Get the minimum of the damping strength in X.
[out]  ReturnStatus  Status Code (see below) 
double MFnIkJoint::minRotateDampZStrength  (  MStatus *  ReturnStatus = NULL 
)  const 
Get the minimum of the damping strength in X.
[out]  ReturnStatus  Status Code (see below) 
double MFnIkJoint::maxRotateDampXStrength  (  MStatus *  ReturnStatus = NULL 
)  const 
Get the minimum of the damping strength in X.
[out]  ReturnStatus  Status Code (see below) 
double MFnIkJoint::maxRotateDampYStrength  (  MStatus *  ReturnStatus = NULL 
)  const 
Get the minimum of the damping strength in X.
[out]  ReturnStatus  Status Code (see below) 
double MFnIkJoint::maxRotateDampZStrength  (  MStatus *  ReturnStatus = NULL 
)  const 
Get the minimum of the damping strength in X.
[out]  ReturnStatus  Status Code (see below) 
MStatus MFnIkJoint::setMinRotateDampXStrength  (  double  angle  ) 
Set the maximum of the damping strength in Z.
[in]  angle  The new damping strength value 
MStatus MFnIkJoint::setMinRotateDampYStrength  (  double  angle  ) 
Set the maximum of the damping strength in Y.
[in]  angle  The new damping strength value 
MStatus MFnIkJoint::setMinRotateDampZStrength  (  double  angle  ) 
Set the minimum of the damping strength in Z.
[in]  angle  The new damping strength value 
MStatus MFnIkJoint::setMaxRotateDampXStrength  (  double  angle  ) 
Set the maximum of the damping strength in X.
[in]  angle  The new damping strength value 
MStatus MFnIkJoint::setMaxRotateDampYStrength  (  double  angle  ) 
Set the maximum of the damping strength in Y.
[in]  angle  The new damping strength value 
MStatus MFnIkJoint::setMaxRotateDampZStrength  (  double  angle  ) 
Set the maximum of the damping strength in Z.
[in]  angle  The new damping strength value 
Get the name that the HumanIK solver uses to identify this joint.
[out]  ReturnStatus  Status code (see below) 
NO SCRIPT SUPPORT.
Get the name that the HumanIK solver uses to identify this joint.
Python Notes
This method is not supported in Python. See the version which returns a string.
[out]  name  The name used to identify this joint for HumanIK 
Autodesk® Maya® 2009 © 19972008 Autodesk, Inc. All rights reserved.  Generated with 1.5.6 