00001 //*************************************************************************************** 00002 // 00003 // File supervisor: Crosswalk team 00004 // 00005 // Copyright 2008 Autodesk, Inc. All rights reserved. 00006 // Use of this software is subject to the terms of the Autodesk license agreement 00007 // provided at the time of installation or download, or which otherwise accompanies 00008 // this software in either electronic or hard copy form. 00009 // 00010 //*************************************************************************************** 00011 00012 #ifndef _IKROOT_H 00013 #define _IKROOT_H 00014 00015 #include "IK.h" 00016 00017 // Forward declaration 00018 class CSLIKJoint; 00019 class CSLIKEffector; 00020 00021 00025 class XSIEXPORT CSLIKRoot 00026 : public CSLIK 00027 { 00028 public: 00035 CSLIKRoot(CSLScene* in_pScene, CSLModel *in_pModel, CdotXSITemplate* in_pTemplate); 00036 00039 virtual ~CSLIKRoot(); 00040 00044 CSLModel* GetEffector(); 00045 00049 CSLModel** GetJointList(); 00050 00054 SI_Int GetJointCount(); 00055 00060 CSLModel* ConnectJoint(CSLModel* in_pNewJoint); 00061 00066 CSLModel* ConnectEffector(CSLModel* in_pNewEffector); 00067 00072 virtual SI_Error Synchronize(); 00073 00077 virtual ETemplateType Type(); 00078 00079 00080 private: 00081 CSIBCArray<CSLModel *> m_Joints; 00082 CSLModel* m_pEffector; 00083 00084 void *m_pReserved; // reserved for future extension 00085 }; 00086 00087 #endif