Public Types | Public Member Functions | Static Public Member Functions

MAnimControl Class Reference

Search for all occurrences

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.

#include <MAnimControl.h>

List of all members.

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

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

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] newMode an element of MAnimControl::PlaybackMode
Returns:
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] newMode an element of MAnimControl::PlaybackViewMode
Returns:
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] newTime a double containing the new increment
Returns:
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.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.cpp.
MStatus setMinTime ( MTime  newMinTime ) [static]

Set the first frame of the current playback time range.

Parameters:
[in] newMinTime an MTime containing the frame
Returns:
MStatus setMaxTime ( MTime  newMaxTime ) [static]

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

Parameters:
[in] newMaxTime an MTime containing the new frame
Returns:
MStatus setMinMaxTime ( MTime  min,
MTime  max 
) [static]

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

Parameters:
[in] min an MTime containing the new first frame
[in] max an 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
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
MStatus setAnimationStartTime ( MTime  newStartTime ) [static]

Set the value of the first frame in the animation.

Parameters:
[in] newStartTime an MTime containing the new first frame
Returns:
MStatus setAnimationEndTime ( MTime  newEndTime ) [static]

Set the value of the last frame in the animation.

Parameters:
[in] newEndTime an MTime containing the new last frame
Returns:
MStatus setAnimationStartEndTime ( MTime  newStartTime,
MTime  newEndTime 
) [static]

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

Parameters:
[in] newStartTime an MTime containing the new first frame
[in] newEndTime an 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 currentTime ( ) [static]

Return an MTime instance containing the current animation frame.

Returns:
An MTime containing the current animation frame
Examples:
animInfoCmd.cpp.
MStatus setCurrentTime ( const MTime newTime ) [static]

Set the current animation frame.

Parameters:
[in] newTime an MTime containing the new animation frame
Returns:
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] newSpeed the new speed factor
Returns:
MStatus playForward ( ) [static]

Start playing the current animation forwards.

Returns:
MStatus playBackward ( ) [static]

Start playing the current animation backwards.

Returns:
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
MStatus stop ( ) [static]

Stop playing the current animation.

Returns:
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] mode a boolean specifying the new mode
Returns:
MFnAnimCurve::TangentType globalInTangentType ( MStatus ReturnStatus = NULL ) [static]

Return the current global in tangent type.

Parameters:
[out] ReturnStatus Status Code (see below)
Returns:
Status Codes:
MStatus setGlobalInTangentType ( const MFnAnimCurve::TangentType tangentType ) [static]

Set the current global in tangent type.

Parameters:
[in] tangentType the 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] ReturnStatus Status Code (see below)
Returns:
The current global out tangent type
Status Codes:
MStatus setGlobalOutTangentType ( const MFnAnimCurve::TangentType tangentType ) [static]

Set the current global out tangent type.

Parameters:
[in] tangentType the 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] ReturnStatus Status Code
Returns:
  • true the tangents on the Anim Curve are weighted
  • false the tangents on the Anim Curve are not weighted
Status Codes:
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] weightState a boolean specifying whether tangents should be weighted or not
Returns:

MAnimControl MAnimControl MAnimControl MAnimControl MAnimControl MAnimControl MAnimControl MAnimControl MAnimControl MAnimControl
MAnimControl MAnimControl MAnimControl MAnimControl MAnimControl MAnimControl MAnimControl MAnimControl MAnimControl MAnimControl