3ds Max C++ API Reference
XMLAnimTreeEntry Class Reference

XMLAnimTreeEntry class that's used for storing a controller track. More...

#include <XMLAnimTreeEntry.h>

+ Inheritance diagram for XMLAnimTreeEntry:

Public Types

enum  Type {
  eNone = 0x0 , eTransform = 0x1 , eBaseObject = 0x2 , eModObject = 0x4 ,
  eNoteTracks = 0x8 , eVisTracks = 0x10 , eMatMaps = 0x20 , eMatParams = 0x40 ,
  eCustomAttributes = 0x80 , eIK = 0x100 , ePos = 0x200 , eRot =0x400 ,
  eScale = 0x800 , ePosX = 0x1000 , ePosY = 0x2000 , ePosZ = 0x4000 ,
  eList = 0x8000 , eKeyable = 0x10000 , eRotX = 0x20000 , eRotY = 0x40000 ,
  eRotZ = 0x80000 , eScaleX = 0x100000 , eScaleY = 0x200000 , eScaleZ = 0x400000 ,
  eExposeWorldTransform = 0x800000 , eLayer = 0x1000000
}
 Enum of type that a controllery can be, e.g position track, rotation y track, note track etc.. More...
 
enum  {
  getAnim , getClient , getSubNum , getName ,
  getUnique , getMapName , getMapUnique , isType
}
 
- Public Types inherited from BaseInterface
enum  LifetimeType { noRelease , immediateRelease , wantsRelease , serverControlled }
 

Public Member Functions

DllExport AnimatableGetAnim () const
 The animatable track. More...
 
DllExport AnimatableGetClient () const
 The animatable track's parent. More...
 
DllExport int GetSubNum () const
 The sub anim number of the anim under the client. More...
 
DllExport const MCHARGetName () const
 The name of the track. More...
 
DllExport int GetUnique () const
 Number used to specify how many other controllers exist before this one in the XMLAnimTreeEntryList with the same name. More...
 
DllExport const MCHARGetMapName () const
 The name of the track that this track is mapped to. More...
 
DllExport int GetMapUnique () const
 Unique number for the track that it is mapped to. More...
 
DllExport bool IsType (int type) const
 Returns true if the object is the passed in type. More...
 
DllExport unsigned int GetType () const
 The possible type of the anim track as defined in the enum Type definition. More...
 
DllExport bool operator== (const XMLAnimTreeEntry &right) const
 
 RO_PROP_FN (getAnim, GetAnimRef, TYPE_REFTARG)
 
 RO_PROP_FN (getClient, GetClientRef, TYPE_REFTARG)
 
 RO_PROP_FN (getSubNum, GetSubNum, TYPE_INT)
 
 RO_PROP_FN (getName, GetName, TYPE_STRING)
 
 RO_PROP_FN (getUnique, GetUnique, TYPE_INT)
 
 RO_PROP_FN (getMapName, GetMapName, TYPE_STRING)
 
 RO_PROP_FN (getMapUnique, GetMapUnique, TYPE_INT)
 
 FN_1 (isType, TYPE_bool, IsType, TYPE_ENUM)
 
DllExport FPInterfaceDescGetDesc ()
 
LifetimeType LifetimeControl ()
 
BaseInterfaceAcquireInterface ()
 
DllExport void ReleaseInterface ()
 
- Public Member Functions inherited from FPMixinInterface
 FPMixinInterface ()
 
virtual CoreExport bool RegisterNotifyCallback (InterfaceNotifyCallback *incb)
 
virtual void UnRegisterNotifyCallback (InterfaceNotifyCallback *incb)
 
CoreExport ~FPMixinInterface ()
 
virtual BaseInterfaceGetInterface (Interface_ID id)
 
virtual FPInterfaceDescGetDescByID (Interface_ID id)
 
virtual Interface_ID GetID ()
 
- Public Member Functions inherited from FPInterface
virtual CoreExport FPStatus Invoke (FunctionID fid, TimeValue t=0, FPParams *params=NULL)
 
virtual FPStatus Invoke (FunctionID fid, FPParams *params)
 
virtual CoreExport FPStatus Invoke (FunctionID fid, TimeValue t, FPValue &result, FPParams *params=NULL)
 
virtual FPStatus Invoke (FunctionID fid, FPValue &result, FPParams *params=NULL)
 
virtual CoreExport FunctionID FindFn (const MCHAR *name)
 
virtual CoreExport BOOL IsEnabled (FunctionID actionID)
 
virtual CoreExport BOOL IsChecked (FunctionID actionID)
 
virtual CoreExport BOOL IsVisible (FunctionID actionID)
 
virtual CoreExport FunctionID GetIsEnabled (FunctionID actionID)
 
virtual CoreExport FunctionID GetIsChecked (FunctionID actionID)
 
virtual CoreExport FunctionID GetIsVisible (FunctionID actionID)
 
virtual ActionTableGetActionTable ()
 
virtual void EnableActions (BOOL onOff)
 
- Public Member Functions inherited from BaseInterface
virtual UtilExport ~BaseInterface ()
 Destructor. More...
 
virtual void DeleteInterface ()
 
virtual BaseInterfaceCloneInterface (void *remapDir=NULL)
 
- Public Member Functions inherited from InterfaceServer
virtual UtilExport ~InterfaceServer ()
 Destructor. More...
 
template<class InterfaceType >
InterfaceType * GetTypedInterface ()
 

Friends

class XMLAnimTreeEntryList
 
class XMLAnimLabelWindow
 
class XMLAnimMapDlg
 
class AnimFileLoader
 
class AnimFileCreator
 
class XMLAnim
 
class XMLTreeListEnum
 
class XMLAnimTreeEntryImp
 

Additional Inherited Members

- Static Public Member Functions inherited from MaxHeapOperators
static UtilExport voidoperator new (size_t size)
 Standard new operator used to allocate objects If there is insufficient memory, an exception will be thrown. More...
 
static UtilExport voidoperator new (size_t size, const std::nothrow_t &e)
 Standard new operator used to allocate objects if there is insufficient memory, NULL will be returned. More...
 
static UtilExport voidoperator new (size_t size, const char *filename, int line)
 New operator used to allocate objects that takes the filename and line number where the new was called If there is insufficient memory, an exception will be thrown. More...
 
static UtilExport voidoperator new (size_t size, int block_type, const char *filename, int line)
 New operator used to allocate objects that takes the type of memory, filename and line number where the new was called If there is insufficient memory, an exception will be thrown. More...
 
static UtilExport voidoperator new (size_t size, const std::nothrow_t &e, const char *filename, int line)
 New operator used to allocate objects that takes the filename and line number where the new was called If there is insufficient memory, NULL will be returned. More...
 
static UtilExport voidoperator new (size_t size, unsigned long flags)
 New operator used to allocate objects that takes extra flags to specify special operations If there is insufficient memory, an exception will be thrown. More...
 
static UtilExport voidoperator new (size_t size, const std::nothrow_t &e, unsigned long flags)
 New operator used to allocate objects that takes extra flags to specify special operations If there is insufficient memory, NULL will be returned. More...
 
static UtilExport voidoperator new[] (size_t size)
 New operator used to allocate arrays of objects If there is insufficient memory, an exception will be thrown. More...
 
static UtilExport voidoperator new[] (size_t size, const std::nothrow_t &e)
 New operator used to allocate arrays of objects If there is insufficient memory, NULL will be returned. More...
 
static UtilExport voidoperator new[] (size_t size, const char *filename, int line)
 New operator used to allocate arrays of objects If there is insufficient memory, an exception will be thrown. More...
 
static UtilExport voidoperator new[] (size_t size, int block_type, const char *filename, int line)
 New operator used to allocate arrays of objects. More...
 
static UtilExport voidoperator new[] (size_t size, const std::nothrow_t &e, const char *filename, int line)
 New operator used to allocate arrays of objects If there is insufficient memory, NULL will be returned. More...
 
static UtilExport voidoperator new[] (size_t size, unsigned long flags)
 New operator used to allocate arrays of objects If there is insufficient memory, an exception will be thrown. More...
 
static UtilExport voidoperator new[] (size_t size, const std::nothrow_t &e, unsigned long flags)
 New operator used to allocate arrays of objects If there is insufficient memory, NULL will be returned. More...
 
static UtilExport void operator delete (void *ptr)
 Standard delete operator used to deallocate an object If the pointer is invalid, an exception will be thrown. More...
 
static UtilExport void operator delete (void *ptr, const std::nothrow_t &e)
 Standard delete operator used to deallocate an object If the pointer is invalid, nothing will happen. More...
 
static UtilExport void operator delete (void *ptr, const char *filename, int line)
 Delete operator used to deallocate an object that takes the filename and line number where the delete was called If the pointer is invalid, an exception will be thrown. More...
 
static UtilExport void operator delete (void *ptr, int block_type, const char *filename, int line)
 Delete operator used to deallocate an object that takes the type of memory, filename and line number where the delete was called If the pointer is invalid, an exception will be thrown. More...
 
static UtilExport void operator delete (void *ptr, const std::nothrow_t &e, const char *filename, int line)
 Delete operator used to deallocate an object that takes the filename and line number where the delete was called If the pointer is invalid, nothing will happen. More...
 
static UtilExport void operator delete (void *ptr, unsigned long flags)
 Delete operator used to deallocate an object that takes extra flags to specify special operations If the pointer is invalid, an exception will be thrown. More...
 
static UtilExport void operator delete (void *ptr, const std::nothrow_t &e, unsigned long flags)
 Delete operator used to deallocate an object that takes extra flags to specify special operations If the pointer is invalid, nothing will happen. More...
 
static UtilExport void operator delete[] (void *ptr)
 Standard delete operator used to deallocate an array of objects If the pointer is invalid, an exception will be thrown. More...
 
static UtilExport void operator delete[] (void *ptr, const std::nothrow_t &e)
 Standard delete operator used to deallocate an array of objects If the pointer is invalid, nothing will happen. More...
 
static UtilExport void operator delete[] (void *ptr, const char *filename, int line)
 Delete operator used to deallocate an array of objects that takes the filename and line number where the delete was called If the pointer is invalid, an exception will be thrown. More...
 
static UtilExport void operator delete[] (void *ptr, int block_type, const char *filename, int line)
 Delete operator used to deallocate an array of objects that takes the type of memory, filename and line number where the delete was called If the pointer is invalid, an exception will be thrown. More...
 
static UtilExport void operator delete[] (void *ptr, const std::nothrow_t &e, const char *filename, int line)
 Delete operator used to deallocate an array of objects that takes the filename and line number where the delete was called If the pointer is invalid, nothing will happen. More...
 
static UtilExport void operator delete[] (void *ptr, unsigned long flags)
 Delete operator used to deallocate an array of objects that takes extra flags to specify special operations If the pointer is invalid, an exception will be thrown. More...
 
static UtilExport void operator delete[] (void *ptr, const std::nothrow_t &e, unsigned long flags)
 Delete operator used to deallocate an array of objects that takes extra flags to specify special operations If the pointer is invalid, an exception will be thrown. More...
 
static UtilExport voidoperator new (size_t size, void *placement_ptr)
 Placement new operator. More...
 
static UtilExport void operator delete (void *ptr, void *placement_ptr)
 Placement delete operator. More...
 
static UtilExport voidaligned_malloc (size_t size, size_t alignment)
 Allocates memory on a specified alignment boundary. More...
 
static UtilExport voidaligned_realloc (void *ptr, size_t size, size_t alignment)
 Reallocates memory on a specified alignment boundary. More...
 
static UtilExport void aligned_free (void *ptr)
 Frees a block of memory that was allocated with aligned_malloc/aligned_realloc. More...
 
- Static Public Attributes inherited from FPInterface
static CoreExport FPInterfaceDesc nullInterface
 
- Protected Member Functions inherited from FPMixinInterface
 FPMixinInterface (const FPMixinInterface &rhs)
 
FPMixinInterfaceoperator= (const FPMixinInterface &rhs)
 
- Protected Member Functions inherited from FPInterface
virtual FPStatus _dispatch_fn (FunctionID fid, TimeValue t, FPValue &result, FPParams *p)
 
- Protected Attributes inherited from FPMixinInterface
Tab< InterfaceNotifyCallback * > * interfaceNotifyCBs
 

Detailed Description

XMLAnimTreeEntry class that's used for storing a controller track.

Class used to specify a controller/animation track that is then used by the load save and mixer systems. They will reside in the XMLAnimTreeEntryList.

See also
XMLAnimTreeEntryList

Member Enumeration Documentation

◆ Type

enum Type

Enum of type that a controllery can be, e.g position track, rotation y track, note track etc..

Enum of type that they can be, The can be more than one type. eNone means it has no type, eTransform means that the track is a transform controller or a child of one, eBaseObject means that the track is under an object, eModObject means the track is under a modifier, eNoteTracks means the track is a NoteTrack, eVisTracks means the track is a visibility track, eMatMaps means the track is under a material map, eMatParams means the track is under a material parameter, eCustomAttributes means the track is under a custom attribute, eIK means the track is under an IK controller, ePos means that track is position controller or one of it's children, eRot means the track is a rotation controller or one of it's children, eScale means the track is a scaleController or one of it's children, ePosX means the track is a position x controller, ePosY means the track is a position y controller, ePosZ means the track is a position z controller, eList means the track is a list controller or one of it's children, eRotX means the track is a rotation x controller, eRotY means the track is a rotation y controller, eRotZ means the track is a rotation z controller, eKeyable means the track is keyable,eScaleX means the track is a scale controller, eScaleY means the track is a scale y controller, eScaleZ means the track is a scale z controller, eExposeWorldTransform means the track is the world TM of a node,eLayer means that the track is a layer controller or a child of one

Enumerator
eNone 
eTransform 
eBaseObject 
eModObject 
eNoteTracks 
eVisTracks 
eMatMaps 
eMatParams 
eCustomAttributes 
eIK 
ePos 
eRot 
eScale 
ePosX 
ePosY 
ePosZ 
eList 
eKeyable 
eRotX 
eRotY 
eRotZ 
eScaleX 
eScaleY 
eScaleZ 
eExposeWorldTransform 
eLayer 
87  {
88  eNone = 0x0,
89  eTransform = 0x1,
90  eBaseObject = 0x2,
91  eModObject = 0x4,
92  eNoteTracks = 0x8,
93  eVisTracks = 0x10,
94  eMatMaps = 0x20,
95  eMatParams = 0x40,
96  eCustomAttributes = 0x80,
97  eIK = 0x100,
98  ePos = 0x200,
99  eRot =0x400,
100  eScale = 0x800,
101  ePosX = 0x1000,
102  ePosY = 0x2000,
103  ePosZ = 0x4000,
104  eList = 0x8000,
105  eKeyable = 0x10000,
106  eRotX = 0x20000,
107  eRotY = 0x40000,
108  eRotZ = 0x80000,
109  eScaleX = 0x100000,
110  eScaleY = 0x200000,
111  eScaleZ = 0x400000,
112  eExposeWorldTransform = 0x800000,
113  eLayer = 0x1000000
114  };
@ eModObject
Definition: XMLAnimTreeEntry.h:91
@ eRot
Definition: XMLAnimTreeEntry.h:99
@ eScale
Definition: XMLAnimTreeEntry.h:100
@ eVisTracks
Definition: XMLAnimTreeEntry.h:93
@ eCustomAttributes
Definition: XMLAnimTreeEntry.h:96
@ eMatMaps
Definition: XMLAnimTreeEntry.h:94
@ eBaseObject
Definition: XMLAnimTreeEntry.h:90
@ eRotY
Definition: XMLAnimTreeEntry.h:107
@ eRotX
Definition: XMLAnimTreeEntry.h:106
@ eTransform
Definition: XMLAnimTreeEntry.h:89
@ ePosY
Definition: XMLAnimTreeEntry.h:102
@ eNoteTracks
Definition: XMLAnimTreeEntry.h:92
@ eExposeWorldTransform
Definition: XMLAnimTreeEntry.h:112
@ eNone
Definition: XMLAnimTreeEntry.h:88
@ eLayer
Definition: XMLAnimTreeEntry.h:113
@ eKeyable
Definition: XMLAnimTreeEntry.h:105
@ ePosX
Definition: XMLAnimTreeEntry.h:101
@ eMatParams
Definition: XMLAnimTreeEntry.h:95
@ eRotZ
Definition: XMLAnimTreeEntry.h:108
@ ePos
Definition: XMLAnimTreeEntry.h:98
@ eScaleY
Definition: XMLAnimTreeEntry.h:110
@ eList
Definition: XMLAnimTreeEntry.h:104
@ ePosZ
Definition: XMLAnimTreeEntry.h:103
@ eScaleX
Definition: XMLAnimTreeEntry.h:109
@ eScaleZ
Definition: XMLAnimTreeEntry.h:111
@ eIK
Definition: XMLAnimTreeEntry.h:97

◆ anonymous enum

anonymous enum

!

Enumerator
getAnim 
getClient 
getSubNum 
getName 
getUnique 
getMapName 
getMapUnique 
isType 
@ getMapUnique
Definition: XMLAnimTreeEntry.h:159
@ isType
Definition: XMLAnimTreeEntry.h:159
@ getUnique
Definition: XMLAnimTreeEntry.h:159
@ getClient
Definition: XMLAnimTreeEntry.h:159
@ getName
Definition: XMLAnimTreeEntry.h:159
@ getSubNum
Definition: XMLAnimTreeEntry.h:159
@ getMapName
Definition: XMLAnimTreeEntry.h:159
@ getAnim
Definition: XMLAnimTreeEntry.h:159

Member Function Documentation

◆ GetAnim()

DllExport Animatable* GetAnim ( ) const
inline

The animatable track.

Returns
The animatable track
118 {return anim;}

◆ GetClient()

DllExport Animatable* GetClient ( ) const
inline

The animatable track's parent.

Returns
The animatable track's parent
122 {return client;}

◆ GetSubNum()

DllExport int GetSubNum ( ) const
inline

The sub anim number of the anim under the client.

Returns
The sub anim number of the anim under the client
126 {return subNum;}

◆ GetName()

DllExport const MCHAR* GetName ( void  ) const
inline

The name of the track.

This plus the unique identifier is used to uniquely identify a track.

Returns
The name of the track. This plus the unique identifier is used to uniquely identify a track
130 {return name.data();}
const wchar_t * data() const

◆ GetUnique()

DllExport int GetUnique ( ) const
inline

Number used to specify how many other controllers exist before this one in the XMLAnimTreeEntryList with the same name.

Returns
The number used to specify how many other controllers exist before this one in the XMLAnimTreeEntryList with the same name
134 {return unique;}

◆ GetMapName()

DllExport const MCHAR* GetMapName ( ) const
inline

The name of the track that this track is mapped to.

Returns
The name of the track that this track is mapped to
138 {return mapName.data();}

◆ GetMapUnique()

DllExport int GetMapUnique ( ) const
inline

Unique number for the track that it is mapped to.

Returns
The unique number for the track that it is mapped to.
142 {return mapUnique;}

◆ IsType()

DllExport bool IsType ( int  type) const

Returns true if the object is the passed in type.

See also
XMLAnimTreeEntry::Type
Parameters
[in]typeThe type to check against
Returns
True if that type, false otherwise

◆ GetType()

DllExport unsigned int GetType ( ) const
inline

The possible type of the anim track as defined in the enum Type definition.

Stored as an int instead of as an enum in order to speed up comparison operations.

Returns
The type
153 {return type;}

◆ operator==()

DllExport bool operator== ( const XMLAnimTreeEntry right) const
Remarks
Compares this class instance to another one

◆ RO_PROP_FN() [1/7]

RO_PROP_FN ( getAnim  ,
GetAnimRef  ,
TYPE_REFTARG   
)

!

!

◆ RO_PROP_FN() [2/7]

RO_PROP_FN ( getClient  ,
GetClientRef  ,
TYPE_REFTARG   
)

!

◆ RO_PROP_FN() [3/7]

RO_PROP_FN ( getSubNum  ,
GetSubNum  ,
TYPE_INT   
)

!

◆ RO_PROP_FN() [4/7]

RO_PROP_FN ( getName  ,
GetName  ,
TYPE_STRING   
)

!

◆ RO_PROP_FN() [5/7]

RO_PROP_FN ( getUnique  ,
GetUnique  ,
TYPE_INT   
)

!

◆ RO_PROP_FN() [6/7]

RO_PROP_FN ( getMapName  ,
GetMapName  ,
TYPE_STRING   
)

!

◆ RO_PROP_FN() [7/7]

RO_PROP_FN ( getMapUnique  ,
GetMapUnique  ,
TYPE_INT   
)

!

◆ FN_1()

FN_1 ( isType  ,
TYPE_bool  ,
IsType  ,
TYPE_ENUM   
)

!

◆ GetDesc()

DllExport FPInterfaceDesc* GetDesc ( )
virtual

!

Implements FPInterface.

◆ LifetimeControl()

LifetimeType LifetimeControl ( )
inlinevirtual

!

Reimplemented from FPMixinInterface.

186 { return wantsRelease; }
@ wantsRelease
Definition: baseinterface.h:104

◆ AcquireInterface()

BaseInterface* AcquireInterface ( )
inlinevirtual

!

Reimplemented from BaseInterface.

188 { return this; }

◆ ReleaseInterface()

DllExport void ReleaseInterface ( )
virtual

!

Reimplemented from BaseInterface.

Friends And Related Function Documentation

◆ XMLAnimTreeEntryList

friend class XMLAnimTreeEntryList
friend

!

◆ XMLAnimLabelWindow

friend class XMLAnimLabelWindow
friend

!

◆ XMLAnimMapDlg

friend class XMLAnimMapDlg
friend

!

◆ AnimFileLoader

friend class AnimFileLoader
friend

!

◆ AnimFileCreator

friend class AnimFileCreator
friend

!

◆ XMLAnim

friend class XMLAnim
friend

!

◆ XMLTreeListEnum

friend class XMLTreeListEnum
friend

!

◆ XMLAnimTreeEntryImp

friend class XMLAnimTreeEntryImp
friend

!