00001 //*************************************************************************************** 00002 // File supervisor: Crosswalk team 00012 //*************************************************************************************** 00013 00014 #ifndef _IKROOT_H 00015 #define _IKROOT_H 00016 00017 #include "IK.h" 00018 00019 // Forward declaration 00020 class CSLIKJoint; 00021 class CSLIKEffector; 00022 00023 00029 class XSIEXPORT CSLIKRoot 00030 : public CSLIK 00031 { 00032 public: 00039 CSLIKRoot(CSLScene* in_pScene, CSLModel *in_pModel, CdotXSITemplate* in_pTemplate); 00040 00043 virtual ~CSLIKRoot(); 00044 00048 CSLModel* GetEffector(); 00049 00053 CSLModel** GetJointList(); 00054 00058 SI_Int GetJointCount(); 00059 00064 CSLModel* ConnectJoint(CSLModel* in_pNewJoint); 00065 00070 CSLModel* ConnectEffector(CSLModel* in_pNewEffector); 00071 00075 virtual SI_Error Synchronize(); 00076 00080 virtual ETemplateType Type(); 00081 00082 00083 private: 00084 CSIBCArray<CSLModel *> m_Joints; 00085 CSLModel* m_pEffector; 00086 00087 void *m_pReserved; // reserved for future extension 00088 }; 00089 00090 #endif