#include <ILoadSaveAnimation.h>
The interface to the functionality for loading saving XML animation files.
This class contains key functionality for saving and creating both animation and map files and for loading in animation. You get this interface by calling GetILoadSaveAnimation()
Public Member Functions | |
virtual BOOL | GetUserAttributes (const MCHAR *filename, Tab< MSTR * > &userAttributes, Tab< MSTR * > &userValues) const =0 |
Get the user attributes that are present out of the corresponding animation or map file. More... | |
virtual void | LoadForMixing (BOOL flag) const =0 |
Dialog Functions | |
virtual const MCHAR * | SaveAnimationDlg () const =0 |
Brings up the Save Animation dialog. More... | |
virtual const MCHAR * | LoadAnimationDlg () const =0 |
Brings up the Load Animation dialog. More... | |
virtual BOOL | GetLoadAndMapFileFromDlg (MCHAR fileName[MAX_PATH], MCHAR mapFileName[MAX_PATH]) const =0 |
Brings up the Load Animation dialog and returns the fileName and the mapFileName in the passed in parameters. More... | |
virtual BOOL | GetMultLoadAndMapFileFromDlg (Tab< MSTR * > &names, MCHAR *mapName) const =0 |
Brings up the Load Animation dialog and returns a list of possible multiple file names in the passed in parameters. More... | |
Save Functions | |
virtual BOOL | SaveAnimation (const MCHAR *filename, Tab< INode * > &nodes, Tab< MSTR * > &userAttributes, Tab< MSTR * > &userValues, DWORD saveFlag, Interval &segInterval) const =0 |
Save the animation from the current nodes into the specified file. More... | |
virtual BOOL | SaveAnimationNodeAnims (const MCHAR *filename, MaxSDK::Array< NodeAndAnims > &nodeAnims, Tab< MSTR * > &userAttributes, Tab< MSTR * > &userValues, DWORD saveFlag, Interval &segInterval) const =0 |
Save the animation from the current nodeAnim tracks into the specified file. More... | |
Load Functions | |
virtual BOOL | LoadAnimation (const MCHAR *filename, Tab< INode * > &nodes, DWORD loadFlag, TimeValue insertTime, BOOL useMapFile, MCHAR *mapFileName) const =0 |
Load the animation from the current file onto the specified nodes using any mapping that's specified. More... | |
virtual BOOL | LoadAnimationNodeAnims (const MCHAR *filename, MaxSDK::Array< NodeAndAnims > &nodeAnims, DWORD loadFlag, TimeValue insertTime, BOOL useMapFile, MCHAR *mapFileName) const =0 |
Load the animation from the current file onto the specified nodeAnim tracks using any mapping that's specified. More... | |
Map Functions | |
virtual BOOL | CreateMapFile (const MCHAR *filename, Tab< INode * > ¤tNodes, const MCHAR *incomingAnimationFile, Tab< MSTR * > &userAttributes, Tab< MSTR * > &userValues, Tab< LoadSaveRetargetData > &retargetData, int nodeMapType, DWORD mapFlag) const =0 |
Create a map file based upon nodes to map to, the animation file that will be loaded, and the specific mapping protocols. More... | |
virtual BOOL | CreateMapFileNodeAnims (const MCHAR *filename, MaxSDK::Array< NodeAndAnims > &nodeAnims, const MCHAR *incomingAnimationFile, Tab< MSTR * > &userAttributes, Tab< MSTR * > &userValues, Tab< LoadSaveRetargetData > &retargetData, int nodeMapType, DWORD mapFlag) const =0 |
Create a map file based upon nodeAnim tracks to map to, the animation file that will be loaded, and the specific mapping protocols. More... | |
File and Directory Functions | |
virtual const MCHAR * | GetAnimFileExtension () const =0 |
Get the extension used for the animation files. More... | |
virtual const MCHAR * | GetAnimMapFileExtension () const =0 |
Get the extension used for the animation map files. More... | |
virtual const MCHAR * | GetAnimFileDirectory () const =0 |
Get the current directory for finding animation files. More... | |
virtual void | GetAnimFileDirectories (Tab< MSTR * > &animFileDirectories) const =0 |
Get all of the anim file directories in the load/save UI. More... | |
virtual void | GetMapFiles (Tab< MSTR * > &mapFiles) const =0 |
Get all of the recently used map files in the load/save UI. More... | |
virtual const MCHAR * | GetAnimMapFile () const =0 |
Get the current map file. More... | |
virtual void | SetAnimFileDirectory (const MCHAR *directory)=0 |
Set the current directory for finding animation files. More... | |
virtual void | SetAnimMapFile (const MCHAR *filename)=0 |
Set the latest map file found. More... | |
Getting Animation Tracks | |
virtual void | SetUpAnimsForSave (Tab< INode * > &nodeTab, BOOL animatedTracks, BOOL includeConstraints, BOOL keyable, MaxSDK::Array< NodeAndAnims > &nodeAnims) const =0 |
Sets up the anim list to be used for saving out an xml animation file. More... | |
virtual void | SetUpAnimsForLoad (Tab< INode * > &nodeTab, BOOL includePB2s, MaxSDK::Array< NodeAndAnims > &nodeAnims) const =0 |
Sets up the anim list to be used for loading in an xml animation file or putting nodes and their tracks into the mixer. More... | |
virtual void | SetUpAnimsForMap (Tab< INode * > &nodeTab, MaxSDK::Array< NodeAndAnims > &nodeAnims) const =0 |
Sets up the anim list to be used for mapping an xml animation file. More... | |
Public Member Functions inherited from FPInterfaceDesc | |
CoreExport | FPInterfaceDesc () |
CoreExport | FPInterfaceDesc (Interface_ID id, const MCHAR *int_name, StringResID descr, ClassDesc *cd, ULONG flag,...) |
CoreExport | ~FPInterfaceDesc () |
virtual void | Init () |
LifetimeType | LifetimeControl () |
virtual BaseInterface * | GetInterface (Interface_ID id) |
CoreExport void | LoadDescriptor (Interface_ID id, const MCHAR *int_name, StringResID descr, ClassDesc *pCD, ULONG flag,...) |
CoreExport void | AppendFunction (int id,...) |
Add a new function to this interface descriptor. More... | |
CoreExport void | AppendProperty (int id,...) |
Add a new property to this interface descriptor. More... | |
CoreExport void | AppendEnum (int id,...) |
Add a new enum to this interface descriptor. More... | |
CoreExport void | SetClassDesc (ClassDesc *i_cd) |
CoreExport va_list | check_fn (va_list ap, int id) |
CoreExport va_list | scan_fn (va_list ap, int id, int index) |
CoreExport va_list | check_prop (va_list ap, int id) |
CoreExport va_list | scan_prop (va_list ap, int id, int index) |
CoreExport va_list | check_enum (va_list ap, EnumID id) |
CoreExport va_list | scan_enum (va_list ap, EnumID id, int index) |
FPInterfaceDesc * | GetDesc () |
Interface_ID | GetID () |
CoreExport FPFunctionDef * | GetFnDef (FunctionID fid) |
ActionTable * | GetActionTable () |
CoreExport void | EnableActions (BOOL onOff) |
virtual CoreExport HINSTANCE | HInstance () |
virtual CoreExport const MCHAR * | GetRsrcString (StringResID id) |
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) |
Public Member Functions inherited from BaseInterface | |
virtual UtilExport | ~BaseInterface () |
Destructor. More... | |
virtual bool | RegisterNotifyCallback (InterfaceNotifyCallback *incb) |
virtual void | UnRegisterNotifyCallback (InterfaceNotifyCallback *incb) |
virtual BaseInterface * | AcquireInterface () |
virtual void | ReleaseInterface () |
virtual void | DeleteInterface () |
virtual BaseInterface * | CloneInterface (void *remapDir=NULL) |
Public Member Functions inherited from InterfaceServer | |
virtual UtilExport | ~InterfaceServer () |
Destructor. More... | |
Additional Inherited Members | |
Static Public Member Functions inherited from MaxHeapOperators | |
static UtilExport void * | operator new (size_t size) |
Standard new operator used to allocate objects If there is insufficient memory, an exception will be thrown. More... | |
static UtilExport void * | operator 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 void * | operator 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 void * | operator 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 void * | operator 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 void * | operator 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 void * | operator 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 void * | operator 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 void * | operator 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 void * | operator 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 void * | operator new[] (size_t size, int block_type, const char *filename, int line) |
New operator used to allocate arrays of objects. More... | |
static UtilExport void * | operator 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 void * | operator 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 void * | operator 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 void * | operator 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 void * | aligned_malloc (size_t size, size_t alignment) |
Allocates memory on a specified alignment boundary. More... | |
static UtilExport void * | aligned_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... | |
Public Attributes inherited from FPInterfaceDesc | |
Interface_ID | ID |
MSTR | internal_name |
StringResID | description |
ClassDesc * | cd |
USHORT | flags |
Tab< FPFunctionDef * > | functions |
Tab< FPPropDef * > | props |
Tab< FPEnum * > | enumerations |
MSPluginClass * | pc |
Rollout * | rollout |
ActionTable * | action_table |
Static Public Attributes inherited from FPInterface | |
static CoreExport FPInterfaceDesc | nullInterface |
Protected Member Functions inherited from FPInterfaceDesc | |
CoreExport void | load_descriptor (Interface_ID id, const MCHAR *int_name, StringResID descr, ClassDesc *cd, USHORT flag, va_list ap) |
Protected Member Functions inherited from FPInterface | |
virtual FPStatus | _dispatch_fn (FunctionID fid, TimeValue t, FPValue &result, FPParams *p) |
enum NodeMapType |
Enum for the type of node mapping to due when creating a map file using CreateMapFile.
Enumerator | |
---|---|
eMatchExactName | |
eMatchClosestName | |
eMatchHierarchy |
enum SaveFlags |
Enum for different flags to pass in when calling ILoadSaveAnimation::SaveAnimation and ILoadSaveAnimation10::SetUpAnimsForSaveExt.
If eAnimatedTracks is set, then a track needs to be animated. If eIncludeConstraints is set, and if eAnimatedTracks is set, constraints will also be considered to be animated. If eKeyable is set, then keyable tracks will be saved if eSaveSeg is set, then a segment of time will be saved. if eSegPerFrame is set then a key per frame will be saved over a saved segment.
Enumerator | |
---|---|
eAnimatedTracks | |
eIncludeConstraints | |
eKeyableTracks | |
eSaveSeg | |
eSegPerFrame |
enum LoadFlags |
Enum for different flags to pass in when calling ILoadSaveAnimation::LoadAnimation and ILoadSaveAnimation10::SetUpAnimsForLoadExt.
If eRelative is set, then nodes who are children of the scene root will keep their original position and orientation and the animation will be loaded relatively to that, otherwise the animation will be loaded in absolutely. If eInsert is set, then the animation will be inserted at the specified time and the existing animation will be moved over, otherwise the animation will replaced the existing animation at that time. If eStripLayers is set, then the active layer name will be stripped out from the current node controllers that have layers. If eIncludePB2s is set then we will include ParamBlock2 tracks when loading into the animation. Note that the eIncludePB2s flags is currently only used by ILoadSaveAnimation10::SetUpAnimsForLoadExt
Enumerator | |
---|---|
eRelative | |
eInsert | |
eStripLayers | |
eIncludePB2s |
enum MapFlags |
Enum for different flags to pass in when calling ILoadSaveAnimation::CreateMapFile and ILoadSaveAnimation10::SetUpAnimsForMapExt.
If eMapControllerExactName is set then the controllers will try to be matched based upon their exact names, otherwise, they will try to match off of their subanim order. If eMapControllerType is set then the controller need to be the same of the same class, otherwise they won't map. If eStripLayersInMap is set, then the active layer name will be removed from the current node controllers that have layers.
Enumerator | |
---|---|
eMapControllerExactName | |
eMapControllerType | |
eStripLayersInMap |
|
pure virtual |
Brings up the Save Animation dialog.
|
pure virtual |
Brings up the Load Animation dialog.
|
pure virtual |
Brings up the Load Animation dialog and returns the fileName and the mapFileName in the passed in parameters.
[out] | fileName | The name of the animation file returned. Note that the character array passed in should have a size of MAX_PATH. |
[out] | mapFileName | The name of the map file returned. Note that the character array passed in should have a size of MAX_PATH. |
|
pure virtual |
Brings up the Load Animation dialog and returns a list of possible multiple file names in the passed in parameters.
param[out] names The list of animation files. param[out] mapFileName The name of the map file. Note that the character array passed in should have a size of MAX_PATH.
|
pure virtual |
Save the animation from the current nodes into the specified file.
This function will save out an animation file given the passed in nodes and user attributes, based upon the saveFlags and possible segment interval.
[in] | filename | The file to save the animation to. |
[in] | nodes | The nodes whose animation you would like to save. |
[in] | userAttributes | A Tab of strings that specify the names of the user attributes to be saved out. The values of these attributes are found in the next parameter. Thus the userAttributes Tab and the userValues Tab need to be the same size or the function will return FALSE. |
[in] | userValues | A Tab of strings that specify the names of the user values to be saved out. Each user value corresponds to a user attribute that's passed in the previous parameter. |
[in] | saveFlag | Determines which tracks under the specified nodes will be saved. The possible values of the saveFlag are found in the SaveFlags enum. The possible vales are eAnimatedTracks, if this value is set, then only animated tracks only will be saved, otherwise non-animated tracks will also be saved. eIncludeConstraints, if set and eAnimatedTracks is set, then constraints will also be saved out, otherwise if eAnimatedTracks is set and this value isn't set, they won't be saved out. If eAnimatedTracks isn't set this parameter is unused since constraints will be automatically saved out. eKeyableTracks, if set keyable tracks only will be saved, otherwise non-keyable tracks will also be saved. eSaveSegment, if set a segment will be saved specified by the segInterval and eSegKeyPerFrame flag. eSegKeyPerFrame, which if set will save out a key per frame when saving out a segment, otherwise only the keys will be saved out. |
[in] | segInterval | The interval over which to save the segment. |
|
pure virtual |
Save the animation from the current nodeAnim tracks into the specified file.
This function saves out the animation file given the passed in nodeAnim array and user attributes, based upon the saveFlags and possible segment interval.
[in] | filename | The file to save the animation to. |
[in] | nodeAnims | The nodeAnim list whose animation you would like to save. Should have been created via SetUpAnimsForSave. |
[in] | userAttributes | A Tab of strings that specify the names of the user attributes to be saved out. The values of these attributes are found in the next parameter. Thus the userAttributes Tab and the userValues Tab need to be the same size or the function will return FALSE. |
[in] | userValues | A Tab of strings that specify the names of the user values to be saved out. Each user value corresponds to a user attribute that's passed in the previous parameter. |
[in] | saveFlag | Determines which tracks under the specified nodes will be saved. The possible values of the saveFlag are found in the SaveFlags enum. The possible vales are: eAnimatedTracks, if this value is set, then only animated tracks only will be saved, otherwise non-animated tracks will also be saved. eIncludeConstraints, if set and eAnimatedTracks is set, then constraints will also be saved out, otherwise if eAnimatedTracks is set and this value isn't set, they won't be saved out. If eAnimatedTracks isn't set this parameter is unused since constraints will be automatically saved out. eKeyableTracks, if set keyable tracks only will be saved, otherwise non-keyable tracks will also be saved. eSaveSegment, if set a segment will be saved specified by the segInterval and eSegKeyPerFrame flag. eSegKeyPerFrame, which if set will save out a key per frame when saving out a segment, otherwise only the keys will be saved out. |
[in] | segInterval | The interval over which to save the segment. |
|
pure virtual |
Load the animation from the current file onto the specified nodes using any mapping that's specified.
This function loads in the specified file onto the passed in nodes based upon the the passed in flags, insertion time and possible mapFileName.
[in] | filename | The file to load the animation from. |
[in] | nodes | The nodes where the animation will be loaded onto. |
[in] | loadFlag | Determines which tracks under the specified nodes will be loaded onto. The possible values of the loadFlag are found in the LoadFlags enum. The possible vales are: eRelative, if this value is set, the animation will be loaded at the current position and orientation of a node, if it's parent is the root, if not set the animation will be loaded in absolutely. eInsert, if this value is set, the existing animation will be moved to the left when the animation is loaded, otherwise is not set the animation will overwrite the existing animation. eStripLayers, if this value is set, then any layer controller name will be removed from the current controller names, otherwise it won't. |
[in] | insertTime | The time where the animation is loaded. |
[in] | useMapFile | If TRUE the mapFileName file name parameter will be used to specify what map file to use. If FALSE then default mapping is used. |
[in,out] | mapFileName | The file name of the map file to use if the useMapFile parameter is TRUE. Note that the character array passed in should have a size of MAX_PATH. |
|
pure virtual |
Load the animation from the current file onto the specified nodeAnim tracks using any mapping that's specified.
This function loads in the specified file onto the passed in nodeAndAnim tracks based upon the the passed in flags, insertion time and possible mapFileName.
[in] | filename | The file to load the animation from. |
[in] | nodeAnims | The nodeAnim list whose animation you would like to save. Should have been created via SetUpAnimsForLoad. |
[in] | loadFlag | Determines which tracks under the specified nodes will be loaded onto. The possible values of the loadFlag are found in the LoadFlags enum. The possible vales are: eRelative, if this value is set, the animation will be loaded at the current position and orientation of a node, if it's parent is the root, if not set the animation will be loaded in absolutely. eInsert, if this value is set, the existing animation will be moved to the left when the animation is loaded, otherwise is not set the animation will overwrite the existing animation. |
[in] | insertTime | The time where the animation is loaded. |
[in] | useMapFile | If TRUE the mapFileName file name parameter will be used to specify what map file to use. If FALSE then default mapping is used. |
[in,out] | mapFileName | The file name of the map file to use if the useMapFile parameter is TRUE. Note that the character array passed in should have a size of MAX_PATH. |
|
pure virtual |
Create a map file based upon nodes to map to, the animation file that will be loaded, and the specific mapping protocols.
[in] | filename | The file to save the map file to. |
[in] | currentNodes | The nodes which will be mapped to the specified incoming Animation File. |
[in] | incomingAnimationFile | The file from which to map from. The controllers in this file will map to the controllers of the current nodes. |
[in] | userAttributes | A Tab of strings that specify the names of the user attributes to be saved out. The values of these attributes are found in the next parameter. Thus the userAttributes Tab and the userValues Tab need to be the same size or the function will return FALSE. |
[in] | userValues | A Tab of strings that specify the names of the user values to be saved out. Each user value corresponds to a user attribute that's passed in the previous parameter. |
[in] | retargetData | A Tab of LoadSaveRetargetData values that specify how specific nodes that get mapped should be retargeted. |
[in] | nodeMapType | The type of node mapping to perform. If the value is eMatchExactName, the nodes will map if the nodes have the same exact name. If the value is eMatchClosestName, the nodes will match based off of which nodes have the closest names. If the value is eMatchHierarchy, the nodes will try to match by matching their hierarchies. |
[in] | mapFlag | Determines how the controller mapping will occur once the nodes are mapped. The possible values of the mapFlag are found in the MapFlags enum. The possible vales are: eMapControllerExactName, if set the controllers of the mapped nodes will try to map to each other by matching their names exactly, if not set the controllers will map by their subanim ordering. eMapControllerType, if set, the controllers will check to see if they have the same exact type, that is the same ClassID and SuperClassID, otherwise they won't map, if not set then the controllers only need to be have the same SuperClassID. eStripLayersinMap, if set, will strip the layer controller name from any active layers on the current nodes. |
|
pure virtual |
Create a map file based upon nodeAnim tracks to map to, the animation file that will be loaded, and the specific mapping protocols.
[in] | filename | The file to save the map file to. |
[in] | nodeAnims | The nodeAnim list whose animation you would like to map. Should have been created via SetUpAnimsForMap. |
[in] | incomingAnimationFile | The file from which to map from. The controllers in this file will map to the controllers of the current nodes. |
[in] | userAttributes | A Tab of strings that specify the names of the user attributes to be saved out. The values of these attributes are found in the next parameter. Thus the userAttributes Tab and the userValues Tab need to be the same size or the function will return FALSE. |
[in] | userValues | A Tab of strings that specify the names of the user values to be saved out. Each user value corresponds to a user attribute that's passed in the previous parameter. |
[in] | retargetData | A Tab of LoadSaveRetargetData values that specify how specific nodes that get mapped should be retargetted. |
[in] | nodeMapType | The type of node mapping to perform. If the value is eMatchExactName, the nodes will map if the nodes have the same exact name. If the value is eMatchClosestName, the nodes will match based off of which nodes have the closest names. If the value is eMatchHierarchy, the nodes will try to match by matching their hierarchies. |
[in] | mapFlag | Determines how the controller mapping will occur once the nodes are mapped. The possible values of the mapFlag are found in the MapFlags enum. The possible vales are: eMapControllerExactName, if set the controllers of the mapped nodes will try to map to each other by matching their names exactly, if not set the controllers will map by their subanim ordering. eMapControllerType, if set, the controllers will check to see if they have the same exact type,(ClassID and SuperClassID), otherwise they won't map, if not set, then the controllers only need to be have the same SuperClassID. |
|
pure virtual |
Get the user attributes that are present out of the corresponding animation or map file.
[in] | filename | The name of the animation or map file that you are getting user attributes from. |
[out] | userAttributes | A Tab of MSTR strings of the user defined attributes found in the file. There is a one to one correspondence between the number of attributes and number of values in the file. The callee of this function is responsible for deleting the valid MSTR * pointers. |
[out] | userValues | A Tab of MSTR strings of the user defined values found in the file. There is one string value for each attribute. The caller of this function is responsible for deleting the valid MSTR * pointers |
|
pure virtual |
Get the extension used for the animation files.
|
pure virtual |
Get the extension used for the animation map files.
|
pure virtual |
Get the current directory for finding animation files.
|
pure virtual |
Get the current map file.
Set the current directory for finding animation files.
[in] | directory | The name of the anim file directory. |
Set the latest map file found.
[in] | filename | The name of the map file. |
|
pure virtual |
Sets up the anim list to be used for saving out an xml animation file.
[in] | nodeTab | Nodes you want to save out |
[in] | animatedTracks | If TRUE will only included animated tracks in the list, |
[in] | includeConstraints | If animatedTracks is TRUE and this is TRUE, constraints will be considered to be animated and thus also in the list. |
[in] | keyable | If TRUE will only include keyable tracks in the list. |
[out] | nodeAnims | The returned list of nodes and their anim tracks based upon the flags passed into the function. |
|
pure virtual |
Sets up the anim list to be used for loading in an xml animation file or putting nodes and their tracks into the mixer.
[in] | nodeTab | Nodes you want to load |
[in] | includePB2s | Whether or not to include param block2 tracks when loading in the animation. |
[out] | nodeAnims | The returned list of nodes and their anim tracks based upon the flags passed into the function. |
|
pure virtual |
Sets up the anim list to be used for mapping an xml animation file.
[in] | nodeTab | Nodes you want to map |
[out] | nodeAnims | The returned list of nodes and their anim tracks |
|
pure virtual |