// PlugTest.h : main header file for the PLUGTEST DLL // #if !defined(AFX_REPLICATE_H__C870A7E1_E46A_11d1_A330_00A0249C7DE2__INCLUDED_) #define AFX_REPLICATE_H__C870A7E1_E46A_11d1_A330_00A0249C7DE2__INCLUDED_ #if _MSC_VER >= 1000 #pragma once #endif // _MSC_VER >= 1000 #ifndef __AFXWIN_H__ #error include 'stdafx.h' before including this file for PCH #endif #include "AnimationSuite.h" ///////////////////////////////////////////////////////////////////////////// // CPlugTestApp // See PlugTest.cpp for the implementation of this class // #ifndef __REPLICATE__ #define __REPLICATE__ class RepReduceStatus: public KeyReduceStatus { public: RepReduceStatus() { } void Init(int total) { } int Progress(int p){return KEYREDUCE_CONTINUE;}; }; ///////////////////////////////////////////////////////////////////////////// // PlugPanel, manage the Plugins' display panel class ReplicatePanel : public UtilityObj { protected: IUtil* m_iu; HWND m_hPanel; public: Interface* m_ip; // Constructor & Destructor ReplicatePanel() {}; virtual ~ReplicatePanel() {}; // Overides of the UtilityObj class void BeginEditParams(Interface* ip, IUtil* iu); void EndEditParams(Interface* ip, IUtil* iu); void DeleteThis() {} void Init(HWND hWnd); void Destroy(HWND hWnd); //Specific Methods void Replicate(); void Bake(); void DeleteMeAndMyChildren(INode *node); INode *CopyMeAndMyChildren(INode *copy_node); INode *CopyNode(INode *copy_node); void StripBones(INode *node); void CopyAnimation(INode *source, INode *target,JointEditDialog *dialog,int = 1); int HasKnownControler(INode *node); void OptimizeAnimation(INode *copy_node, int ¤t_node, int total_nodes, JointEditDialog *dialog); }; ///////////////////////////////////////////////////////////////////////////// // 3DS Max Standard Select-by-name Dialog Box Callback Class class TestHitByNameDlgCallback : public HitByNameDlgCallback { public: virtual TCHAR* dialogTitle() { return _T("Select a Node to copy");} virtual TCHAR* buttonText() { return _T("Select");} virtual BOOL useFilter() {return FALSE;} virtual BOOL useProc() { return TRUE;} virtual void proc(INodeTab &nodeTab){NodeTab = nodeTab;} virtual BOOL singleSelect() {return TRUE;} public: INodeTab NodeTab; }; ///////////////////////////////////////////////////////////////////////////// #endif //{{AFX_INSERT_LOCATION}} // Microsoft Developer Studio will insert additional declarations immediately before the previous line. #endif // !defined(AFX_REPLICATE_H__C870A7E1_E46A_11d1_A330_00A0249C7DE2__INCLUDED_)