IKRoot.h

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