Biped10Api.h

Go to the documentation of this file.
00001 //**************************************************************************/
00002 // Copyright (c) 1998-2007 Autodesk, Inc.
00003 // All rights reserved.
00004 // 
00005 // These coded instructions, statements, and computer programs contain
00006 // unpublished proprietary information written by Autodesk, Inc., and are
00007 // protected by Federal copyright law. They may not be disclosed to third
00008 // parties or copied or duplicated in any form, in whole or in part, without
00009 // the prior written consent of Autodesk, Inc.
00010 //**************************************************************************/
00011 // DESCRIPTION: Interface for Biped for Max 10
00012 // AUTHOR: Susan Amkraut - created March 26, 2007
00013 //***************************************************************************/
00014 
00015 #pragma once
00016 
00017 #include "biped9Api.h"
00018 
00019 
00024 #define I_BIPMASTER10   0x9170    //!< Biped interface identifier
00025 #define GetBipMaster10Interface(anim) ((IBipMaster10*)(anim)->GetInterface(I_BIPMASTER10))  //!< Gets the Biped interface
00026 
00027 
00029 
00031 class IBipMaster10: public IBipMaster9 
00032 {
00033     public:
00034 
00038     enum {
00039             kRETARGET_NONE=1,   
00040             kRETARGET_HEIGHT=2, 
00041             kRETARGET_LIMB=3    
00042     };
00044 
00048 enum {
00049     kSAVE_NONE=0,       
00050     kSAVE_AUTOMATIC=1,  
00051     kSAVE_SPECIFIED=2   
00052     };
00054 
00058 enum {
00059     kLOAD_NONE=0,       
00060     kLOAD_ALL=1,            
00061     kLOAD_SPECIFIED=2   
00062     };
00064 
00070 
00071 
00079     virtual INode *CreateXtra(int nlinks, const MCHAR *name) = 0;
00080 
00082 
00089     virtual INode *CreateXtraOpposite(INode& xtra, bool doChildren) = 0;
00090 
00094     virtual INode *GetXtraOpposite(INode& xtra) = 0;
00095 
00101     virtual bool DeleteXtra(INode& xtraBase) = 0;
00102 
00109     virtual bool AttachXtra(INode& xtraBase, INode& parent) = 0;
00110 
00112 
00116     virtual void SetXtraName(INode& xtraBase, const MCHAR *name) = 0;
00117 
00121     virtual const MCHAR* GetXtraName(INode& xtraBase) = 0;
00122 
00130     virtual bool PastePostureToXtras(IBipedCopy *CP, INodeTab& nodes, int KeyPasteType) = 0;
00131 
00137     virtual bool PasteTrackToXtras(IBipedCopy *CP, INodeTab& nodes) = 0;
00139 
00144 
00145 
00146 
00147 
00148 
00149     virtual bool SaveBipedAnimationLayer(const MCHAR *fname, int layerIndex) = 0;
00150 
00152 
00160     virtual bool LoadBipedAnimationLayer(const MCHAR *fname, int layerIndex) = 0;
00161 
00163 
00175     virtual bool SaveBipedBaseAnimationLayer(const MCHAR *fname, 
00176                 int saveMaxObjects, INodeTab *maxObjects,
00177                 int saveControllers, Tab<SaveSubAnimInfo> *controllers) = 0;
00178 
00180 
00199     virtual bool LoadBipedBaseAnimationLayer(const MCHAR *fname, BOOL MatchFile, BOOL ZeroFootHeight, 
00200                 BOOL promptForDuplicates, int retargetType, BOOL scaleIKObjectSize,
00201                 int loadMaxObjects, Tab<MCHAR *> *maxObjectNames,
00202                 int loadControllers, Tab<LoadSubAnimInfo> *controllers) = 0;
00204 };
00205