IAnimTrack Class Reference
 
 
 
IAnimTrack Class Reference

#include <iTrackSet.h>

Inheritance diagram for IAnimTrack:
FPMixinInterface FPInterface BaseInterface InterfaceServer MaxHeapOperators

Class Description

Interface of a parameter track object, a member of a track set.

The IAnimTrack interface provides access to a member of a track set and represents one track in the track view, for instance, the X position of a node. A track is defined by a node and then a path of subanims, from the node down to a leaf controller. For instance the track for the X position of a node would keep the subAnims of the PRS control, then of the indePos and of the X position. At the moment only tracks that are under a node can belong to a track set.

Public Types

enum   {
  get_node, sub_anim_count, get_sub_anim, get_sub_anim_index,
  get_path_name, set
}

Public Member Functions

virtual INode GetNode () const =0
  Returns the node to which the parameter track belongs.
virtual int  SubAnimCount () const =0
  Returns the number of subanims for this track, from the node to the leaf controller.
virtual Animatable GetSubAnim (int index) const =0
  Returns the desired subanim.
virtual int  GetSubAnimIndex (int index) const =0
  Returns the desired subanim index.
virtual const MSTR GetPathName () const =0
  Returns a string describing the track, e.g.
virtual void  Set (const MCHAR *pathname)=0
  Sets the animation track from a string.
virtual void  Set (MCHAR *pathname) sealed
virtual Control GetLeafController () const =0
  Retrieves the leaf controller of a track.
FPInterfaceDesc GetDesc ()

Static Public Member Functions

static IAnimTrack GetInterface (InterfaceServer &is)
  Retrieves the IAnimTrack interface from an object.

Member Enumeration Documentation


Member Function Documentation

virtual INode* GetNode ( ) const [pure virtual]

Returns the node to which the parameter track belongs.

Returns:
- the node to which the parameter belongs
virtual int SubAnimCount ( ) const [pure virtual]

Returns the number of subanims for this track, from the node to the leaf controller.

Returns:
- the number of subanims in this track
virtual Animatable* GetSubAnim ( int  index ) const [pure virtual]

Returns the desired subanim.

For instance GetSubAnim(0) on the track "Cone01\Transform\Position\X Position" would return the PRS controller under Cone01

Parameters:
[in] index - zero-based index of the subanim
virtual int GetSubAnimIndex ( int  index ) const [pure virtual]

Returns the desired subanim index.

For instance GetSubAnim(0) on the track "Cone01\Transform\Position\X Position" would return the subanim index of the PRS controller under Cone01

Parameters:
[in] index - zero-based index of the subanim
virtual const MSTR& GetPathName ( ) const [pure virtual]

Returns a string describing the track, e.g.

"Cone01\Transform\Position\X Position"

Returns:
- a string describing the track
virtual void Set ( const MCHAR *  pathname ) [pure virtual]

Sets the animation track from a string.

The string will be parsed as a node followed with a backslash-separated list of subanims

Parameters:
[in] pathname - string describing the track
See also:
IAnimTrack::GetSubAnim()
virtual void Set ( MCHAR *  pathname ) [inline, sealed, virtual]
Deprecated:
Deprecated method in terms of implementation as of 3ds Max 2013 - re-implement with const MCHAR* method signature
{ return Set(const_cast<const MCHAR*>(pathname)); }
virtual Control* GetLeafController ( ) const [pure virtual]

Retrieves the leaf controller of a track.

Returns:
- Pointer to the controller or NULL
static IAnimTrack* GetInterface ( InterfaceServer is ) [inline, static]

Retrieves the IAnimTrack interface from an object.

Parameters:
[in] is - Pointer to an object
Returns:
- Pointer to the IAnimTrack interface of the object or NULL if the object does not support the animation track interface
                                                             {
                return static_cast<IAnimTrack*>(is.GetInterface(IID_ANIM_TRACK));
        };
FPInterfaceDesc* GetDesc ( ) [virtual]
Remarks:
Returns a pointer to the class which contains the interface metadata.

Implements FPInterface.