![]() | kNextPos |
![]() | create ( const MTypeId &typeId, MObject & parent = MObject::kNullObj , MStatus * ReturnStatus = NULL ) |
![]() | create ( const MTypeId &typeId, const MString &name, MObject & parent = MObject::kNullObj , MStatus * ReturnStatus = NULL ) |
![]() | create ( const MString &type, MObject & parent = MObject::kNullObj , MStatus * ReturnStatus = NULL ) |
![]() | create ( const MString &type, const MString &name, MObject & parent = MObject::kNullObj , MStatus * ReturnStatus = NULL ) |
![]() | parentCount ( MStatus * ReturnStatus = NULL ) const |
![]() | parent ( unsigned int i, MStatus * ReturnStatus = NULL ) const |
![]() | addChild ( MObject & child , unsigned int index = kNextPos , bool keepExistingParents = false ) |
![]() | removeChild ( MObject & child ) |
![]() | removeChildAt ( unsigned int index ) |
![]() | childCount ( MStatus * ReturnStatus = NULL ) const |
![]() | child ( unsigned int i, MStatus * ReturnStatus = NULL ) const |
![]() | dagRoot ( MStatus * ReturnStatus = NULL ) |
![]() | hasParent ( const MObject & node, MStatus * ReturnStatus = NULL ) const |
![]() | hasChild (const MObject & node, MStatus * ReturnStatus = NULL ) const |
![]() | isChildOf (const MObject & node, MStatus * ReturnStatus = NULL ) const |
![]() | isParentOf (const MObject & node, MStatus * ReturnStatus = NULL ) const |
![]() | inUnderWorld ( MStatus * ReturnStatus = NULL ) const |
![]() | inModel ( MStatus * ReturnStatus = NULL ) const |
![]() | isInstanceable ( MStatus * ReturnStatus=NULL ) const |
![]() | setInstanceable ( const bool how ) |
![]() | isInstanced ( bool indirect = true, MStatus * ReturnStatus = NULL ) const |
![]() | isInstancedAttribute ( const MObject & attr, MStatus * ReturnStatus = NULL ) const |
![]() | instanceCount ( bool total, MStatus * ReturnStatus = NULL ) const |
![]() | duplicate ( bool instance = false, bool instanceLeaf = false, MStatus * ReturnStatus = NULL ) const |
![]() | getPath ( MDagPath & path ) |
![]() | getAllPaths ( MDagPathArray & paths ) |
![]() | fullPathName ( MStatus *ReturnStatus = NULL) |
![]() | partialPathName ( MStatus *ReturnStatus = NULL) |
![]() | transformationMatrix ( MStatus * ReturnStatus = NULL ) const |
![]() | isIntermediateObject ( MStatus * ReturnStatus = NULL ) const |
![]() | setIntermediateObject ( bool isIntermediate ) |
![]() | objectColor ( MStatus * ReturnStatus = NULL ) const |
![]() | setObjectColor ( int color ) |
![]() | usingObjectColor ( MStatus * ReturnStatus = NULL ) const |
![]() | setUseObjectColor ( bool useObjectColor ) |
![]() | boundingBox ( MStatus * ReturnStatus = NULL ) const |
![]() | dagPath ( MStatus * ReturnStatus = NULL ) const |
![]() | setObject ( const MDagPath & path ) |
![]() | setObject ( MObject & object ) |
![]() | model ( MStatus * ReturnStatus = NULL ) const |
![]() | setObject ( const MObject & object ) |
![]() | type () const | ||||
![]() | MAttrClass
| ||||
![]() | create ( const MTypeId & typeId , MStatus * ReturnStatus = NULL ) | ||||
![]() | create ( const MTypeId & typeId , const MString & name , MStatus * ReturnStatus = NULL ) | ||||
![]() | create ( const MString & type , MStatus * ReturnStatus = NULL ) | ||||
![]() | create ( const MString & type , const MString & name , MStatus * ReturnStatus = NULL ) | ||||
![]() | typeId ( MStatus * ReturnStatus = NULL ) const | ||||
![]() | typeName ( MStatus * ReturnStatus = NULL ) const | ||||
![]() | name ( MStatus * ReturnStatus = NULL ) const | ||||
![]() | setName ( const MString & name , MStatus * ReturnStatus = NULL ) | ||||
![]() | getConnections ( MPlugArray & array ) const | ||||
![]() | attributeCount ( MStatus * ReturnStatus=NULL) const | ||||
![]() | attribute ( unsigned int index, MStatus * ReturnStatus=NULL) const | ||||
![]() | reorderedAttribute ( unsigned int index, MStatus * ReturnStatus=NULL) const | ||||
![]() | attribute ( const MString & attrName, MStatus * ReturnStatus=NULL) const | ||||
![]() | attributeClass ( const MObject & attr, MStatus * ReturnStatus=NULL) const | ||||
![]() | getAffectedAttributes ( const MObject & attr, MObjectArray & affectedAttributes ) const | ||||
![]() | getAffectedByAttributes ( const MObject & attr, MObjectArray & affectedByAttributes ) const | ||||
![]() | findPlug ( const MObject & attr, bool wantNetworkedPlug, MStatus * ReturnStatus=NULL) const | ||||
![]() | findPlug ( const MString & attrName, bool wantNetworkedPlug, MStatus * ReturnStatus=NULL) const | ||||
![]() | findPlug ( const MObject & attr, MStatus * ReturnStatus=NULL) const | ||||
![]() | findPlug ( const MString & attrName, MStatus * ReturnStatus=NULL) const | ||||
![]() | addAttribute ( const MObject & attr, MAttrClass type = kLocalDynamicAttr ) | ||||
![]() | removeAttribute ( const MObject & attr, MAttrClass type = kLocalDynamicAttr ) | ||||
![]() | userNode ( MStatus * ReturnStatus=NULL ) const | ||||
![]() | isFromReferencedFile ( MStatus * ReturnStatus=NULL) const | ||||
![]() | isShared ( MStatus * ReturnStatus=NULL) const | ||||
![]() | hasUniqueName ( MStatus * ReturnStatus=NULL) const | ||||
![]() | parentNamespace ( MStatus * ReturnStatus=NULL) const | ||||
![]() | isLocked ( MStatus * ReturnStatus=NULL) const | ||||
![]() | setLocked ( bool locked ) | ||||
![]() | classification ( const MString & nodeTypeName ) | ||||
![]() | isNewAttribute ( const MObject & attr, MStatus * ReturnStatus=NULL) const | ||||
![]() | allocateFlag ( const MString pluginName, MStatus * ReturnStatus=NULL ) | ||||
![]() | deallocateFlag (const MString pluginName, unsigned int flag) | ||||
![]() | deallocateAllFlags (const MString pluginName) | ||||
![]() | setFlag (unsigned int flag, bool state) | ||||
![]() | isFlagSet (unsigned int flag, MStatus * ReturnStatus=NULL) const | ||||
![]() | isDefaultNode ( MStatus * ReturnStatus=NULL) const | ||||
![]() | setDoNotWrite ( bool flag ) | ||||
![]() | canBeWritten ( MStatus * ReturnStatus=NULL) const | ||||
![]() | hasAttribute (const MString & name , MStatus * ReturnStatus=NULL) const | ||||
![]() | getAliasAttr (bool force, MStatus * ReturnStatus=NULL) | ||||
![]() | setAlias (const MString & alias,const MString & name , const MPlug & plug, bool add=true, MStatus * ReturnStatus=NULL) | ||||
![]() | findAlias (const MString & alias, MObject & attrObj, MStatus * ReturnStatus=NULL) const | ||||
![]() | getAliasList ( MStringArray & strArray, MStatus * ReturnStatus=NULL) | ||||
![]() | plugsAlias (const MPlug & plug, MStatus * ReturnStatus=NULL) | ||||
![]() | public | ||||
![]() | getPlugsAlias (const MPlug & plug, MString & aliasName, MStatus * ReturnStatus=NULL) |
![]() | type () const |
![]() | hasObj ( MFn::Type ) const |
![]() | hasObj ( const MObject & ) const |
![]() | object ( MStatus * ReturnStatus = NULL ) const |
![]() | setObject ( MObject & object ) |
![]() | setObject ( const MObject & object ) |
-1 -1 [Sp]x[S]x[Sh]x[Sp]x[St]x[Rp]x[Ro]x[R]x[Rp]x[Rt]x[T]where 'x' denotes matrix multiplication and '-1' denotes matrix inversion
Sp = | 1 0 0 0 | St = | 1 0 0 0 | | 0 1 0 0 | | 0 1 0 0 | | 0 0 1 0 | | 0 0 1 0 | | spx spy spz 1 | | sptx spty sptz 1 | S = | sx 0 0 0 | Sh = | 1 0 0 0 | | 0 sy 0 0 | | shxy 1 0 0 | | 0 0 sz 0 | | shxz shyz 1 0 | | 0 0 0 1 | | 0 0 0 1 | Rp = | 1 0 0 0 | Rt = | 1 0 0 0 | | 0 1 0 0 | | 0 1 0 0 | | 0 0 1 0 | | 0 0 1 0 | | rpx rpy rpz 1 | | rptx rpty rptz 1 | Ro = AX * AY * AZ AX = | 1 0 0 0 | AY = | cy 0 -sy 0 | | 0 cx sx 0 | | 0 1 0 0 | | 0 -sx cx 0 | | sy 0 cy 0 | | 0 0 0 1 | | 0 0 0 1 | AZ = | cz sz 0 0 | sx = sin(rax), cx = cos(rax) | -sz cz 0 0 | sy = sin(ray), cx = cos(ray) | 0 0 1 0 | sz = sin(raz), cz = cos(raz) | 0 0 0 1 | R = RX * RY * RZ (Note: order is determined by rotateOrder) RX = | 1 0 0 0 | RY = | cy 0 -sy 0 | | 0 cx sx 0 | | 0 1 0 0 | | 0 -sx cx 0 | | sy 0 cy 0 | | 0 0 0 1 | | 0 0 0 1 | RZ = | cz sz 0 0 | sx = sin(rx), cx = cos(rx) | -sz cz 0 0 | sy = sin(ry), cx = cos(ry) | 0 0 1 0 | sz = sin(rz), cz = cos(rz) | 0 0 0 1 | T = | 1 0 0 0 | | 0 1 0 0 | | 0 0 1 0 | | tx ty tz 1 |Note that internally the Maya transform does not store the individual component values in matrices. It stores them in the data structure which makes the most sense for that component. For example, translation is stored as a vector. The accessor methods on MFnTransform provide the data in their native structure rather than as a matrix. Additionally, each transform can save a temporary "rest position" matrix using the setRestPosition method. The rest position is not used internally by Maya. It is exclusively for use from the API as a temporary cache, which can be set and restored within a single Maya session. Note that the rest position is not saved with the scene.
Autodesk® Maya® 2008 © 1997-2007 Autodesk, Inc. All rights reserved. | doc++ Copyright |