class MFnClip

Jump to documentation

: public MFnDependencyNode clip function set (OpenMayaAnim) (OpenMayaAnim.py)

Inheritance:

MFnClip < MFnDependencyNode < MFnBase

public members:

MFnClip ()
MFnClip ( MObject & object, MStatus * ReturnStatus = NULL )
virtual ~MFnClip ()
virtual MFn::Type type () const
MObject createSourceClip ( const MTime & sourceStart, const MTime & sourceDuration, MDGModifier & dgMod, MStatus * ReturnStatus = NULL )
MObject createInstancedClip ( MObject & sourceClip , const MTime & start, MDGModifier & dgMod, MStatus * ReturnStatus = NULL, bool absolute = 1, double postCycle = 0.0, double weight = 1.0, double scale = 1.0, double preCycle = 0.0 )
bool isInstancedClip ( MStatus *ReturnStatus = NULL)
bool isPose ( MStatus *ReturnStatus = NULL)
MObject sourceClip ( MStatus *ReturnStatus = NULL)
double getPreCycle ( MStatus *ReturnStatus = NULL)
double getPostCycle ( MStatus *ReturnStatus = NULL)
double getCycle ( MStatus *ReturnStatus = NULL)
OBSOLETE
double getWeight ( MStatus *ReturnStatus = NULL)
double getScale ( MStatus *ReturnStatus = NULL)
bool getAbsolute ( MStatus *ReturnStatus = NULL)
OBSOLETE
bool getEnabled ( MStatus *ReturnStatus = NULL)
MTime getStartFrame ( MStatus *ReturnStatus = NULL)
MTime getSourceStart ( MStatus *ReturnStatus = NULL)
MTime getSourceDuration ( MStatus *ReturnStatus = NULL)
MStatus getMemberAnimCurves ( MObjectArray & curves, MPlugArray & associatedAttrs)
MStatus getAbsoluteChannelSettings ( MIntArray & absoluteChannels)
int getTrack ( MStatus *ReturnStatus = NULL)
MStatus setPoseClip (bool state, MDGModifier * mod = NULL)
MStatus setPreCycle (double cycle, MDGModifier * mod = NULL)
MStatus setPostCycle (double cycle, MDGModifier * mod = NULL)
MStatus setCycle (double cycle, MDGModifier * mod = NULL)
OBSOLETE
MStatus setWeight (double wt, MDGModifier * mod = NULL)
MStatus setScale (double scale, MDGModifier * mod = NULL)
MStatus setAbsolute (bool abs, MDGModifier * mod = NULL)
OBSOLETE
MStatus setEnabled (bool val, MDGModifier * mod = NULL)
MStatus setStartFrame (const MTime & start, MDGModifier * mod = NULL)
MStatus setSourceData (const MTime & start,const MTime & duration, MDGModifier * mod = NULL)
MStatus setTrack (int index, MDGModifier * mod = NULL)
MStatus setAbsoluteChannelSettings (const MIntArray & absoluteChannels, MDGModifier * mod = NULL)
MFnClip ( const MObject & object, MStatus * ReturnStatus = NULL )

Inherited from MFnDependencyNode:

public members:

virtual MFn::Type type () const
enum MAttrClass
kGlobalDynamicAttr
kLocalDynamicAttr
MObject create ( const MTypeId & typeId , MStatus * ReturnStatus = NULL )
MObject create ( const MTypeId & typeId , const MString & name , MStatus * ReturnStatus = NULL )
MObject create ( const MString & type , MStatus * ReturnStatus = NULL )
MObject create ( const MString & type , const MString & name , MStatus * ReturnStatus = NULL )
MTypeId typeId ( MStatus * ReturnStatus = NULL ) const
MString typeName ( MStatus * ReturnStatus = NULL ) const
MString name ( MStatus * ReturnStatus = NULL ) const
MString setName ( const MString & name , MStatus * ReturnStatus = NULL )
MStatus getConnections ( MPlugArray & array ) const
unsigned int attributeCount ( MStatus * ReturnStatus=NULL) const
MObject attribute ( unsigned int index, MStatus * ReturnStatus=NULL) const
MObject reorderedAttribute ( unsigned int index, MStatus * ReturnStatus=NULL) const
MObject attribute ( const MString & attrName, MStatus * ReturnStatus=NULL) const
MAttrClass attributeClass ( const MObject & attr, MStatus * ReturnStatus=NULL) const
MStatus getAffectedAttributes ( const MObject & attr, MObjectArray & affectedAttributes ) const
MStatus getAffectedByAttributes ( const MObject & attr, MObjectArray & affectedByAttributes ) const
MPlug findPlug ( const MObject & attr, bool wantNetworkedPlug, MStatus * ReturnStatus=NULL) const
MPlug findPlug ( const MString & attrName, bool wantNetworkedPlug, MStatus * ReturnStatus=NULL) const
MPlug findPlug ( const MObject & attr, MStatus * ReturnStatus=NULL) const
MPlug findPlug ( const MString & attrName, MStatus * ReturnStatus=NULL) const
MStatus addAttribute ( const MObject & attr, MAttrClass type = kLocalDynamicAttr )
MStatus removeAttribute ( const MObject & attr, MAttrClass type = kLocalDynamicAttr )
MPxNode * userNode ( MStatus * ReturnStatus=NULL ) const
bool isFromReferencedFile ( MStatus * ReturnStatus=NULL) const
bool isShared ( MStatus * ReturnStatus=NULL) const
bool hasUniqueName ( MStatus * ReturnStatus=NULL) const
MString parentNamespace ( MStatus * ReturnStatus=NULL) const
bool isLocked ( MStatus * ReturnStatus=NULL) const
MStatus setLocked ( bool locked )
static MString classification ( const MString & nodeTypeName )
bool isNewAttribute ( const MObject & attr, MStatus * ReturnStatus=NULL) const
static unsigned int allocateFlag ( const MString pluginName, MStatus * ReturnStatus=NULL )
static MStatus deallocateFlag (const MString pluginName, unsigned int flag)
static MStatus deallocateAllFlags (const MString pluginName)
MStatus setFlag (unsigned int flag, bool state)
bool isFlagSet (unsigned int flag, MStatus * ReturnStatus=NULL) const
bool isDefaultNode ( MStatus * ReturnStatus=NULL) const
MStatus setDoNotWrite ( bool flag )
bool canBeWritten ( MStatus * ReturnStatus=NULL) const
bool hasAttribute (const MString & name , MStatus * ReturnStatus=NULL) const
MObject getAliasAttr (bool force, MStatus * ReturnStatus=NULL)
bool setAlias (const MString & alias,const MString & name , const MPlug & plug, bool add=true, MStatus * ReturnStatus=NULL)
bool findAlias (const MString & alias, MObject & attrObj, MStatus * ReturnStatus=NULL) const
bool getAliasList ( MStringArray & strArray, MStatus * ReturnStatus=NULL)
MString plugsAlias (const MPlug & plug, MStatus * ReturnStatus=NULL)
public
bool getPlugsAlias (const MPlug & plug, MString & aliasName, MStatus * ReturnStatus=NULL)

Inherited from MFnBase:

public members:

virtual MFn::Type type () const
bool hasObj ( MFn::Type ) const
bool hasObj ( const MObject & ) const
MObject object ( MStatus * ReturnStatus = NULL ) const
virtual MStatus setObject ( MObject & object )
virtual MStatus setObject ( const MObject & object )

Documentation

MFnClip is the function set for creating, querying and editing animation clips.
Description

Maya uses animation clips as the building block of its nonlinear animation system, "Trax". An animation clip allows the user to bundle a set of animation curves independent of time so that they can be reused multiple times, with different timing then the original clip.

Character sets (MFnCharacter) are integral to Maya's clip architecture, since a clip contains whatever attributes of the character were animated when the clip was created. For more information on character sets, refer to the MFnCharacter documentation.

Clips in maya can be of two types: source clips and scheduled clips. In the Maya UI, source clips are visible in the Visor while scheduled clips are visible in Trax. A source clip contains the animation curves for the clip. A scheduled clip contains data about the placement of an instance of a source clip in the Maya timeline. In this context, an "instance" means that the animation curves from the source clip are shared by the scheduled clip. Scheduled clips never contain their own animation curves, they always refer to a source clip's curves.

For example, if you create a clip called "run" in maya that lasts from frames 1-20, a source clip node will be created with a start of 1, a duration of 19, and dependency graph connections to all of the animation curves that make up the "run". If you then place an instance of the run clip at frame 5 and another instance of the run clip at frame 20, you have 2 scheduled clips: one with a start frame of 5 and one with a start frame of 20. As mentioned in the previous paragraph, only a single set of animation curves exist for the run regardless of the number of times the run is scheduled.

Trax also allows you to create "blends" between clips, which enable you to control the transition between the clips. A blend is represented in the dependency graph by an "animBlendInOut" node, which uses an animation curve to determine the transition type.

In the dependency graph, when a character has animation clips, the character node will always be connected to a "clipLibrary" node and a "clipScheduler" node. The clipLibrary node is connected to all of the source clips and their animation curves. The clipScheduler node is connected to the scheduled clips and blends. It is the clipScheduler that computes the final animation by looking at the placement and overlap of the clips and feeding the attribute data back into the character set.

To create a source clip, the typical steps are:

1. If the attributes are not already in a character, create a character containing the attributes.

2. Create a source clip using MFnClip::createSourceClip 3. Attach the clip to a character using MFnCharacter::attachSourceToCharacter 4. Attach animation curves to the clip using MFnCharacter::addCurveToClip

To create a scheduled clip so that it appears in the Trax Editor, the typical steps are:

1. Create an instanced animClip node using MFnClip::createInstancedClip, and associate it with the source clip that you want to instance.

2. Attach the clip instance to the character using MFnCharacter::attachInstanceToCharacter

Functions

MFnClip:: MFnClip ()

Description

Default class constructor. The function set is not attached to an MObject.

MFnClip:: MFnClip ( MObject & object, MStatus * ReturnStatus )

Description

Class constructor that initializes the function set to the given MObject.

Arguments

  • object the MObject to attach the function set to
  • ReturnStatus the return status
    • MS::kSuccess if the function set is successfully attached
    • MS::kInvalidParameter if the MObject does not represent a valid Maya object or if the function set is not allowed to attach to this MObject

MFnClip:: MFnClip ( const MObject & object, MStatus * ReturnStatus )

Description

Class constructor that initializes the function set to the given constant MObject.

Arguments

  • object the const MObject to attach the function set to
  • ReturnStatus the return status
    • MS::kSuccess if the function set is successfully attached
    • MS::kInvalidParameter if the MObject does not represent a valid Maya object or if the function set is not allowed to attach to this MObject

MFnClip:: ~MFnClip ()

Description

The class destructor.

MFn::Type MFnClip:: type () const

Description

Return the type of this function set.

Return Value

  • the constant MFn::kClip

MObject MFnClip:: createSourceClip ( const MTime & sourceStart, const MTime & sourceDuration, MDGModifier & dgMod, MStatus * ReturnStatus )

Description

Creates a source clip node and associates it with this function set. Each animation clip has a single source clip, which defines the startFrame and duration of the clip's animation curves. The startFrame and duration act as a window onto the animation curves, defining the range of animation that is considered part of the clip. After a source clip node is created, it can be passed to a MFnCharacter along with the clip animCurves in order to associate the clip with the character.

Arguments

  • sourceStart time on clip animCurves that represents clip start
  • sourceDuration time extent of the clip
  • dgMod command modifier used for undo and redo
  • ReturnStatus return status

Return Value

  • the newly created clip

Status Codes

  • MS::kSuccess operation successful
  • MS::kFailure operation failed
  • MS::kInsufficientMemory out of memory

MObject MFnClip:: createInstancedClip ( MObject & sourceClip , const MTime & start, MDGModifier & dgMod, MStatus * ReturnStatus , bool absolute, double postCycle, double weight, double scale, double preCycle )

Description

Creates an instance of a clip that will be viewable in the Trax editor.

Arguments

  • sourceClip the source clip node
  • start start frame where the instance will be scheduled
  • dgMod command modifier used for undo and redo
  • ReturnStatus return status
  • absolute whether the clip is absolute (1) or relative (0)
  • preCycle pre cycle for the clip
  • postCycle post cycle for the clip
  • weight weight for the clip
  • scale scale for the clip

Return Value

  • the newly created clip

Status Codes

  • MS::kSuccess operation successful
  • MS::kFailure invalid source clip was provided
  • MS::kInsufficientMemory out of memory

bool MFnClip:: isInstancedClip ( MStatus * ReturnStatus )

Description

Return true or false as to whether the clip node represents the source clip or an instanced clip. All clips maintained by the clipScheduler node and visible in the TraX editor are instanced clips. All clips maintained by the clipLibrary node and visible in the Visor are non-instanced clips, also called "Source Clips". Each instanced clip has a corresponding source clip.

Arguments

  • ReturnStatus return status

Return Value

  • true or false as to whether the clip is an instanced clip

Status Codes

  • MS::kSuccess operation successful
  • MS::kFailure this function set does not have a valid clip object

bool MFnClip:: isPose ( MStatus * ReturnStatus )

Description

Return true or false as to whether the clip node represents a pose.

Arguments

  • ReturnStatus return status

Return Value

  • true or false as to whether the clip is a pose

Status Codes

  • MS::kSuccess operation successful
  • MS::kFailure this function set does not have a valid clip object

MObject MFnClip:: sourceClip ( MStatus *ReturnStatus )

Description

Return the source clip associated with the MFnClip's clip

Arguments

  • ReturnStatus return status

Return Value

  • MObject containing the associated source clip

Status Codes

  • MS::kSuccess operation successful
  • MS::kObjectDoesNotExist this clip does not have an associated source clip
  • MS::kFailure this function set does not have a valid clip object

double MFnClip:: getPreCycle ( MStatus *ReturnStatus )

Description

Return the value of this clip's pre cycle attribute

Arguments

  • ReturnStatus return status

Return Value

  • the value of this clip's pre cycle attribute

Status Codes

  • MS::kSuccess operation successful
  • MS::kFailure this function set does not have a valid clip object

double MFnClip:: getPostCycle ( MStatus *ReturnStatus )

Description

Return the value of this clip's post cycle attribute

Arguments

  • ReturnStatus return status

Return Value

  • the value of this clip's post cycle attribute

Status Codes

  • MS::kSuccess operation successful
  • MS::kFailure this function set does not have a valid clip object

double MFnClip:: getCycle ( MStatus *ReturnStatus )

Description

THIS IS AN OBSOLETE METHOD

This method is obsolete. Please use the method "getPostCycle" instead.

Arguments

  • ReturnStatus return status

Return Value

  • the value of this clip's cycle attribute

Status Codes

  • MS::kSuccess operation successful
  • MS::kFailure this function set does not have a valid clip object

double MFnClip:: getWeight ( MStatus *ReturnStatus )

Description

Return the value of this clip's weight attribute

Arguments

  • ReturnStatus return status

Return Value

  • the value of this clip's weight attribute

Status Codes

  • MS::kSuccess operation successful
  • MS::kFailure this function set does not have a valid clip object

double MFnClip:: getScale ( MStatus *ReturnStatus )

Description

Return the value of this clip's scale attribute

Arguments

  • ReturnStatus return status

Return Value

  • the value of this clip's scale attribute

Status Codes

  • MS::kSuccess operation successful
  • MS::kFailure this function set does not have a valid clip object

bool MFnClip:: getAbsolute ( MStatus *ReturnStatus )

Description

THIS IS AN OBSOLETE METHOD

This method is obsolete. Please use the method "getAbsoluteChannelSettings" instead.

Arguments

  • ReturnStatus return status

Return Value

  • the value of this clip's offset attribute

Status Codes

  • MS::kSuccess operation successful
  • MS::kFailure this function set does not have a valid clip object

bool MFnClip:: getEnabled ( MStatus *ReturnStatus )

Description

Return the value of this clip's enable attribute

Arguments

  • ReturnStatus return status

Return Value

  • the value of this clip's enable attribute

Status Codes

  • MS::kSuccess operation successful
  • MS::kFailure this function set does not have a valid clip object

MTime MFnClip:: getStartFrame ( MStatus *ReturnStatus )

Description

Return the value of this clip's start frame

Arguments

  • ReturnStatus return status

Return Value

  • the value of this clip's start frame

Status Codes

  • MS::kSuccess operation successful
  • MS::kFailure this function set does not have a valid clip object

MTime MFnClip:: getSourceStart ( MStatus *ReturnStatus )

Description

Return the value of the start frame of this clip's source clip. The sourceStart and sourceDuration define the region of the animCurve that is treated as the clip.

Arguments

  • ReturnStatus return status

Return Value

  • the value of this clip's source start frame

Status Codes

  • MS::kSuccess operation successful
  • MS::kFailure this function set does not have a valid clip object
  • MS::kObjectDoesNotExist this clip does not have an associated source clip

MTime MFnClip:: getSourceDuration ( MStatus *ReturnStatus )

Description

Return the value of the start frame of this clip's source duration. The sourceStart and sourceDuration define the region of the animCurve that is treated as the clip.

Arguments

  • ReturnStatus return status

Return Value

  • the value of this clip's source duration

Status Codes

  • MS::kSuccess operation successful
  • MS::kFailure this function set does not have a valid clip object
  • MS::kObjectDoesNotExist this clip does not have an associated source clip

MStatus MFnClip:: setPoseClip (bool state, MDGModifier * mod )

Description

Specify whether or not this clip node should be tagged as a pose rather than a clip. By default, clip nodes are not poses.

Arguments

  • state true, to tag the clip as a pose
  • mod modifier to use when calling this method from commands that support undo

Return Value

  • return status

Status Codes

  • MS::kSuccess operation successful
  • MS::kFailure this function set does not have a valid clip object

MStatus MFnClip:: setPreCycle (double cycle, MDGModifier * mod )

Description

Specify the pre cycle value for the clip.

Arguments

  • cycle cycle value
  • mod modifier to use when calling this method from commands that support undo

Return Value

  • return status

Status Codes

  • MS::kSuccess operation successful
  • MS::kFailure this function set does not have a valid clip object

MStatus MFnClip:: setPostCycle (double cycle, MDGModifier * mod )

Description

Specify the post cycle value for the clip.

Arguments

  • cycle cycle value
  • mod modifier to use when calling this method from commands that support undo

Return Value

  • return status

Status Codes

  • MS::kSuccess operation successful
  • MS::kFailure this function set does not have a valid clip object

MStatus MFnClip:: setCycle (double cycle, MDGModifier * mod )

Description

THIS IS AN OBSOLETE METHOD

This method is obsolete. Please use the method "setPostCycle" instead.

Arguments

  • cycle cycle value
  • mod modifier to use when calling this method from commands that support undo

Return Value

  • return status

Status Codes

  • MS::kSuccess operation successful
  • MS::kFailure this function set does not have a valid clip object

MStatus MFnClip:: setWeight (double wt, MDGModifier * mod )

Description

Specify a weight value for the clip.

Arguments

  • wt weight value
  • mod modifier to use when calling this method from commands that support undo

Return Value

  • return status

Status Codes

  • MS::kSuccess operation successful
  • MS::kFailure this function set does not have a valid clip object

MStatus MFnClip:: setScale (double scale, MDGModifier * mod )

Description

Specify a scale value for the clip.

Arguments

  • scale scale value
  • mod modifier to use when calling this method from commands that support undo

Return Value

  • return status

Status Codes

  • MS::kSuccess operation successful
  • MS::kFailure this function set does not have a valid clip object

MStatus MFnClip:: setEnabled (bool val, MDGModifier * mod )

Description

Specify whether or not the clip is enabled. Note: should not be called for source clips since the enabled attribute is ignored on source clips.

Arguments

  • val enable value
  • mod modifier to use when calling this method from commands that support undo

Return Value

  • return status

Status Codes

  • MS::kSuccess operation successful
  • MS::kFailure this function set does not have a valid clip object

MStatus MFnClip:: setStartFrame (const MTime & start, MDGModifier * mod )

Description

Specify the start frame for the instanced clip. Note: should not be called for source clips since the start frame attribute is ignored on source clips.

Arguments

  • start start frame value
  • mod modifier to use when calling this method from commands that support undo

Return Value

  • return status

Status Codes

  • MS::kSuccess operation successful
  • MS::kFailure this function set does not have a valid clip object

MStatus MFnClip:: setAbsolute (bool abs, MDGModifier * mod )

Description

THIS IS AN OBSOLETE METHOD

This method is obsolete. Please use the method "setAbsoluteChannelSettings" instead.

Arguments

  • abs true if absolute, false if relative
  • mod modifier to use when calling this method from commands that support undo

Return Value

  • return status

Status Codes

  • MS::kSuccess operation successful
  • MS::kFailure this function set does not have a valid clip object

MStatus MFnClip:: setSourceData (const MTime & start, const MTime & duration, MDGModifier * mod )

Description

Specify the start frame and duration for the source clip associated with this clip.

Arguments

  • start source start frame value
  • duration source duration value
  • mod modifier to use when calling this method from commands that support undo

Return Value

  • return status

Status Codes

  • MS::kSuccess operation successful
  • MS::kFailure this function set does not have a valid clip object
  • MS::kObjectDoesNotExist this clip does not have an associated source clip

MStatus MFnClip:: getMemberAnimCurves ( MObjectArray & curves, MPlugArray & associatedAttrs)

Description

Return two arrays: the first contains the animCurves associated with this clip. The second contains the character member that is driven by this animCurve.

Arguments

  • curves array to store the result curves
  • associatedAttrs array to store the character members

Return Value

  • return status

Status Codes

  • MS::kSuccess operation successful
  • MS::kFailure this function set does not have a valid clip object
  • MS::kObjectDoesNotExist this clip does not have an associated source clip

MStatus MFnClip:: getAbsoluteChannelSettings ( MIntArray & absoluteChannels)

Description

Return an array indicating which channels of the clip are absolute and which are relative. The length of the array is equal to the members in the character. A value of one in the array indicates absolute and a value of 0 indicates relative.

Arguments

  • absoluteChannels array to store the result

Return Value

  • return status

Status Codes

  • MS::kSuccess operation successful
  • MS::kFailure this function set does not have a valid clip object

MStatus MFnClip:: setAbsoluteChannelSettings (const MIntArray & absoluteChannels, MDGModifier * mod )

Description

Set which channels of the clip are absolute and which are relative. The length of the specified array should be equal to the number of members in the character. A value of one in the array indicates absolute and a value of 0 indicates relative.

Arguments

  • absoluteChannels array containing the absolute channels to be set
  • mod modifier to use when calling this method from commands that support undo

Return Value

  • return status

Status Codes

  • MS::kSuccess operation successful
  • MS::kObjectDoesNotExist this function set does not have a valid clip object

int MFnClip:: getTrack ( MStatus * ReturnStatus )

Description

Return the track number for the clip. Track indices are one-based. If a track index of zero is returned, it indicates that a track has not yet been assigned to the clip.

Arguments

  • ReturnStatus return status

Return Value

  • the index of this clip's track

Status Codes

  • MS::kSuccess operation successful
  • MS::kFailure this clip is a source clip and does not have a track
  • MS::kObjectDoesNotExist this function set does not have a valid clip object

MStatus MFnClip:: setTrack (int trackIndex, MDGModifier * mod )

Description

Specify the one-based track number for the clip.

Arguments

  • trackIndex the track number for the clip
  • mod modifier to use when calling this method from commands that support undo

Return Value

  • return status

Status Codes

  • MS::kSuccess operation successful
  • MS::kFailure this function set does not have a valid clip object
  • MS::kObjectDoesNotExist clip track value cannot be set

This class has no child classes.


Autodesk® Maya® 2008 © 1997-2007 Autodesk, Inc. All rights reserved. doc++ Copyright