Go
to the documentation of this file.
00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015 #pragma once
00016 #include "Maxapi.h"
00017 #include "maxheap.h"
00018 #include "ifnpub.h"
00019 #include "iparamb2.h"
00020 #include "XMLAnimTreeEntry.h"
00021
00022
00024
00030 class LoadSaveRetargetData: public MaxHeapOperators
00031 {
00032 public:
00033
00035 LoadSaveRetargetData():absolute(TRUE){};
00036
00037
00038 ~LoadSaveRetargetData(){}
00039
00040
00041 MSTR currentNodeName;
00042
00046 MSTR incomingNodeName;
00047
00050 BOOL absolute;
00051
00054 Point3 scale;
00055
00056
00060 MSTR currentBase;
00061
00064 MSTR incomingBase;
00065
00070 MSTR currentBaseChain;
00071
00075 MSTR currentEndChain;
00076
00077
00080 MSTR incomingBaseChain;
00081
00085 MSTR incomingEndChain;
00086
00087
00090 BOOL FKRetargetingEnabled;
00091
00096 MSTR FKChainBase;
00097
00098 };
00099
00100
00104 #define ILOADSAVEANIMATION_INTERFACE Interface_ID(0x7e1b6067, 0x6f470508)
00105
00107 #define GetILoadSaveAnimation() static_cast<ILoadSaveAnimation*>(GetCOREInterface(ILOADSAVEANIMATION_INTERFACE))
00108
00109
00111
00115 class ILoadSaveAnimation : public FPStaticInterface {
00116
00117 public:
00118
00120
00121
00123
00128 enum NodeMapType{ eMatchExactName=0, eMatchClosestName=1,eMatchHierarchy=2};
00129
00132
00137 enum SaveFlags {eAnimatedTracks = 0x1, eIncludeConstraints = 0x2, eKeyableTracks = 0x4,eSaveSeg = 0x8,
00138 eSegPerFrame = 0x10};
00139
00142
00151 enum LoadFlags {eRelative = 0x1,eInsert = 0x2, eStripLayers = 0x4, eIncludePB2s = 0x8};
00152
00155
00160 enum MapFlags {eMapControllerExactName = 0x1,eMapControllerType = 0x2,eStripLayersInMap = 0x4};
00162
00163
00165
00166
00168
00169 virtual const MCHAR* SaveAnimationDlg() const =0;
00170
00172
00173 virtual const MCHAR* LoadAnimationDlg() const =0;
00174
00176
00181
00182 virtual BOOL GetLoadAndMapFileFromDlg(MCHAR fileName[MAX_PATH],MCHAR mapFileName[MAX_PATH]) const =0;
00183
00185
00189 virtual BOOL GetMultLoadAndMapFileFromDlg(Tab<MSTR*> &names, MCHAR *mapName) const = 0;
00191
00192
00194
00195
00197
00200
00218
00219 virtual BOOL SaveAnimation(const MCHAR *filename, Tab<INode *> &nodes,Tab<MSTR*> &userAttributes,Tab<MSTR*> &userValues,
00220 DWORD saveFlag,
00221 Interval &segInterval) const = 0;
00222
00224
00227
00236
00247
00248
00251
00253
00254
00256
00259
00273
00274
00278
00281
00295
00296
00299
00301
00302
00304
00327
00332
00356
00360
00362
00370
00374
00375
00378
00382
00386
00389
00392
00395
00398
00402
00406
00410
00412
00415
00416
00418
00427
00430
00437
00440
00445
00447
00449
00453
00456
00460
00466
00480
00484
00490
00493
00504
00508
00515
00518
00528
00533
00538
00542
00545
00548
00551
00556
00564
00567
00571