C++ API Reference
MAnimControl Class Reference

Control over animation playback and values. More...

#include <MAnimControl.h>

Public Types

enum  PlaybackMode { kPlaybackOnce, kPlaybackLoop, kPlaybackOscillate }
 Animation playback modes. More...
 
enum  PlaybackViewMode { kPlaybackViewAll, kPlaybackViewActive }
 Animation playback viewing modes. More...
 

Public Member Functions

 MAnimControl ()
 Class constructor.
 
virtual ~MAnimControl ()
 Class destructor.
 

Static Public Member Functions

static bool isValid ()
 Return if the AnimControl is valid. More...
 
static MAnimControl::PlaybackMode playbackMode ()
 Return the playback mode currently in effect. More...
 
static MStatus setPlaybackMode (PlaybackMode newMode)
 Set the current playback mode. More...
 
static MAnimControl::PlaybackViewMode viewMode ()
 Return the viewing mode currently in effect. More...
 
static MStatus setViewMode (PlaybackViewMode newMode)
 Set the current viewing mode. More...
 
static double playbackBy ()
 Return a double specifying the increment between times viewed during the playing of the animation. More...
 
static MStatus setPlaybackBy (const double &newTime)
 Specify the increment between times viewed during the playing of the animation. More...
 
static MTime minTime ()
 Return an MTime specifying the first frame of the current playback time range. More...
 
static MTime maxTime ()
 Return an MTime specifying the last frame of the current playback time range. More...
 
static MStatus setMinTime (MTime newMinTime)
 Set the first frame of the current playback time range. More...
 
static MStatus setMaxTime (MTime newMaxTime)
 Set the value of the last frame of the current playback time range. More...
 
static MStatus setMinMaxTime (MTime min, MTime max)
 Set the values of the first and last frames of the playback time range. More...
 
static MTime animationStartTime ()
 Return an MTime specifying the first frame of the animation, as specified by the Maya user in the Range Slider UI. More...
 
static MTime animationEndTime ()
 Return an MTime specifying the last frame of the animation, as specified by the Maya user in the Range Slider UI. More...
 
static MStatus setAnimationStartTime (MTime newStartTime)
 Set the value of the first frame in the animation. More...
 
static MStatus setAnimationEndTime (MTime newEndTime)
 Set the value of the last frame in the animation. More...
 
static MStatus setAnimationStartEndTime (MTime newStartTime, MTime newEndTime)
 Set the values of the first and last frames in the animation. More...
 
static MTime currentTime ()
 Return an MTime instance containing the current animation frame. More...
 
static MStatus setCurrentTime (const MTime &newTime)
 Set the current animation frame. More...
 
static double playbackSpeed ()
 Return the speed with with to play the animation. More...
 
static MStatus setPlaybackSpeed (double newSpeed)
 Set the desired speed factor at which the animation will play back. More...
 
static MStatus playForward ()
 Start playing the current animation forwards. More...
 
static MStatus playBackward ()
 Start playing the current animation backwards. More...
 
static bool isPlaying ()
 Return a value indicating whether Maya is currently playing the animation. More...
 
static bool isScrubbing ()
 Return a value indicating whether interactive scrubbing is occuring while Maya is not currently playing an animation. More...
 
static MStatus stop ()
 Stop playing the current animation. More...
 
static bool autoKeyMode ()
 Return the autoKeyMode. More...
 
static MStatus setAutoKeyMode (bool mode)
 Set the autoKeyMode. More...
 
static MFnAnimCurve::TangentType globalInTangentType (MStatus *ReturnStatus=NULL)
 Return the current global in tangent type. More...
 
static MStatus setGlobalInTangentType (const MFnAnimCurve::TangentType &tangentType)
 Set the current global in tangent type. More...
 
static MFnAnimCurve::TangentType globalOutTangentType (MStatus *ReturnStatus=NULL)
 Return the current global out tangent type. More...
 
static MStatus setGlobalOutTangentType (const MFnAnimCurve::TangentType &tangentType)
 Set the current global out tangent type. More...
 
static bool weightedTangents (MStatus *ReturnStatus=NULL)
 Determine whether or not the tangents on the Anim Curve are weighted. More...
 
static MStatus setWeightedTangents (bool weightState)
 Sets whether or not the tangents on the Anim Curve are weighted. More...
 

Detailed Description

Control over animation playback and values.

This class provide access to the values that control how an animation is played. This includes the minimum and maximum frames included in the playback, whether the playback loops, and whether the animation runs in all views, or only the active view, etc.

Methods also exist that mirror the functionality of the controls found on the time slider in the UI to start and stop the playback.

Examples:
AbcImport/util.cpp.

Member Enumeration Documentation

Animation playback modes.

Enumerator
kPlaybackOnce 

Play once then stop.

kPlaybackLoop 

Play continuously.

kPlaybackOscillate 

Play forwards, then backwards continuously.

Animation playback viewing modes.

Enumerator
kPlaybackViewAll 

Playback in all views.

kPlaybackViewActive 

Playback in only the active view.

Member Function Documentation

bool isValid ( )
static

Return if the AnimControl is valid.

Returns
True if valid
MAnimControl::PlaybackMode playbackMode ( )
static

Return the playback mode currently in effect.

Returns
An element of the MAnimControl::PlaybackMode enum.
MStatus setPlaybackMode ( PlaybackMode  newMode)
static

Set the current playback mode.

Parameters
[in]newModean element of MAnimControl::PlaybackMode
Returns
  • MS::kSuccess mode was changed successfully
  • MS::kFailure the mode was not changed
MAnimControl::PlaybackViewMode viewMode ( )
static

Return the viewing mode currently in effect.

Returns
An element of the MAnimControl::PlaybackViewMode enum.
MStatus setViewMode ( PlaybackViewMode  newMode)
static

Set the current viewing mode.

Controls whether the animation is run in only the active view, or simultaneously in all views.

Parameters
[in]newModean element of MAnimControl::PlaybackViewMode
Returns
  • MS::kSuccess mode was changed successfully
  • MS::kFailure the mode was not changed
double playbackBy ( )
static

Return a double specifying the increment between times viewed during the playing of the animation.

Returns
A double containing the increment
MStatus setPlaybackBy ( const double &  newTime)
static

Specify the increment between times viewed during the playing of the animation.

Parameters
[in]newTimea double containing the new increment
Returns
  • MS::kSuccess the increment was changed successfully
  • MS::kFailure the increment was not changed
MTime minTime ( )
static

Return an MTime specifying the first frame of the current playback time range.

This corresponds to the minTime which can also be set and queried using the playbackOptions mel command. It does not represent the first frame of the total animation time unless the two coincide.

Returns
An MTime instance specifying the first frame of the playback time range
Examples:
animInfoCmd/animInfoCmd.cpp.
MTime maxTime ( )
static

Return an MTime specifying the last frame of the current playback time range.

This corresponds to the maxTime which can also be set and queried using the playbackOptions mel command. It does not represent the final frame of the total animation time unless the two coincide.

Returns
An MTime instance specifying the last frame of the playback time range
Examples:
animInfoCmd/animInfoCmd.cpp.
MStatus setMinTime ( MTime  newMinTime)
static

Set the first frame of the current playback time range.

Parameters
[in]newMinTimean MTime containing the frame
Returns
  • MS::kSuccess the minTime was changed successfully
  • MS::kFailure the minTime was not changed.
Examples:
AbcImport/util.cpp.
MStatus setMaxTime ( MTime  newMaxTime)
static

Set the value of the last frame of the current playback time range.

Parameters
[in]newMaxTimean MTime containing the new frame
Returns
  • MS::kSuccess the maxTime was changed successfully
  • MS::kFailure the maxTime was not changed.
Examples:
AbcImport/util.cpp.
MStatus setMinMaxTime ( MTime  min,
MTime  max 
)
static

Set the values of the first and last frames of the playback time range.

Parameters
[in]minan MTime containing the new first frame
[in]maxan MTime containing the new last frame
Returns
  • MS::kSuccess the first and last frames were changed successfully
  • MS::kFailure neither the first or last frames were changed
MTime animationStartTime ( )
static

Return an MTime specifying the first frame of the animation, as specified by the Maya user in the Range Slider UI.

This corresponds to the animationStartTime which can also be set and queried using the playbackOptions mel command.

Returns
An MTime instance specifying the first frame of the animation
Examples:
atomImportExport/atomFileUtils.cpp, atomImportExport/atomImportExport.cpp, and gpuCache/gpuCacheCmd.cpp.
MTime animationEndTime ( )
static

Return an MTime specifying the last frame of the animation, as specified by the Maya user in the Range Slider UI.

This corresponds to the animationEndTime which can also be set and queried using the playbackOptions mel command.

Returns
An MTime instance specifying the last frame in the animation
Examples:
atomImportExport/atomFileUtils.cpp, atomImportExport/atomImportExport.cpp, and gpuCache/gpuCacheCmd.cpp.
MStatus setAnimationStartTime ( MTime  newStartTime)
static

Set the value of the first frame in the animation.

Parameters
[in]newStartTimean MTime containing the new first frame
Returns
  • MS::kSuccess the first frame was changed successfully
  • MS::kFailure the first frame was not changed.
Examples:
AbcImport/util.cpp.
MStatus setAnimationEndTime ( MTime  newEndTime)
static

Set the value of the last frame in the animation.

Parameters
[in]newEndTimean MTime containing the new last frame
Returns
  • MS::kSuccess the last frame was changed successfully
  • MS::kFailure the last frame was not changed.
Examples:
AbcImport/util.cpp.
MStatus setAnimationStartEndTime ( MTime  newStartTime,
MTime  newEndTime 
)
static

Set the values of the first and last frames in the animation.

Parameters
[in]newStartTimean MTime containing the new first frame
[in]newEndTimean MTime containing the new last frame
Returns
  • MS::kSuccess the first and last frames were changed successfully
  • MS::kFailure neither the first or last frames were changed
MStatus setCurrentTime ( const MTime newTime)
static

Set the current animation frame.

Parameters
[in]newTimean MTime containing the new animation frame
Returns
  • MS::kSuccess the current frame was set successfully successfully
  • MS::kFailure the current frame was not changed.
Examples:
blast2Cmd/blast2Cmd.cpp, captureViewRenderCmd/captureViewRenderCmd.cpp, and gpuCache/gpuCacheCmd.cpp.
double playbackSpeed ( )
static

Return the speed with with to play the animation.

Returns
The desired playback speed factor
MStatus setPlaybackSpeed ( double  newSpeed)
static

Set the desired speed factor at which the animation will play back.

Parameters
[in]newSpeedthe new speed factor
Returns
  • MS::kSuccess the new speed was set successfully
  • MS::kFailure the new speed was not set changed
MStatus playForward ( )
static

Start playing the current animation forwards.

Returns
  • MS::kSuccess the animation started successfully
  • MS::kFailure the animation did not start
MStatus playBackward ( )
static

Start playing the current animation backwards.

Returns
  • MS::kSuccess the animation started successfully
  • MS::kFailure the animation did not start
bool isPlaying ( )
static

Return a value indicating whether Maya is currently playing the animation.

Returns
  • true the animation is currently playing
  • false the animation is not currently playing
Examples:
rawfootPrintNode/rawfootPrintNode.cpp.
bool isScrubbing ( )
static

Return a value indicating whether interactive scrubbing is occuring while Maya is not currently playing an animation.

Returns
  • true scrubbing is occuring.
  • false scrubbing is not occuring.
Examples:
rawfootPrintNode/rawfootPrintNode.cpp.
MStatus stop ( )
static

Stop playing the current animation.

Returns
  • MS::kSuccess the animation stopped successfully
  • MS::kFailure the animation did not stop
bool autoKeyMode ( )
static

Return the autoKeyMode.

Returns
  • true the autoKeyMode is on
  • false the autoKeyMode is off
MStatus setAutoKeyMode ( bool  mode)
static

Set the autoKeyMode.

Parameters
[in]modea boolean specifying the new mode
Returns
  • MS::kSuccess the autoKeyMode was set successfully
  • MS::kFailure the autoKeyMode was not changed
MFnAnimCurve::TangentType globalInTangentType ( MStatus ReturnStatus = NULL)
static

Return the current global in tangent type.

Parameters
[out]ReturnStatusStatus Code (see below)
Returns
Status Codes:
  • MS::kSuccess Success
  • MS::kFailure Could not find globalInTangent preference
MStatus setGlobalInTangentType ( const MFnAnimCurve::TangentType tangentType)
static

Set the current global in tangent type.

Parameters
[in]tangentTypethe global in tangent type to set [Note: MFnAnimCurve::kTangentGlobal and MFnAnimCurve::kTangentFixed are not valid arguments]
Returns
  • MS::kSuccess the current global in tangent type was set successfully
  • MS::kFailure the current global in tangent type was not changed
MFnAnimCurve::TangentType globalOutTangentType ( MStatus ReturnStatus = NULL)
static

Return the current global out tangent type.

Parameters
[out]ReturnStatusStatus Code (see below)
Returns
The current global out tangent type
Status Codes:
  • MS::kSuccess Success
  • MS::kFailure Could not find globalOuttangent preference
MStatus setGlobalOutTangentType ( const MFnAnimCurve::TangentType tangentType)
static

Set the current global out tangent type.

Parameters
[in]tangentTypethe global out tangent type to set [Note: MFnAnimCurve::kTangentGlobal and MFnAnimCurve::kTangentFixed are not valid arguments]
Returns
  • MS::kSuccess the current global out tangent type was set successfully
  • MS::kFailure the current global out tangent type was not changed
bool weightedTangents ( MStatus ReturnStatus = NULL)
static

Determine whether or not the tangents on the Anim Curve are weighted.

Parameters
[out]ReturnStatusStatus Code
Returns
  • true the tangents on the Anim Curve are weighted
  • false the tangents on the Anim Curve are not weighted
Status Codes:
  • MS::kSuccess Success
  • MS::kFailure When the method fails
MStatus setWeightedTangents ( bool  weightState)
static

Sets whether or not the tangents on the Anim Curve are weighted.

Note: switching a curve from weightedTangents true to false and back to true again will not preserve fixed tangents properly. Use undo instead.

Parameters
[in]weightStatea boolean specifying whether tangents should be weighted or not
Returns
  • MS::kSuccess the tangent weight state was set successfully
  • MS::kFailure the tangent weight state was not changed

The documentation for this class was generated from the following files: