00001
00011
00012
00013 #if (_MSC_VER > 1000) || defined(SGI_COMPILER)
00014 #pragma once
00015 #endif
00016
00017 #ifndef __XSICHAINROOT_H__
00018 #define __XSICHAINROOT_H__
00019
00020 #include <xsi_chainelement.h>
00021 #include <xsi_status.h>
00022 #include <xsi_vector3.h>
00023
00024 namespace XSI {
00025
00026 class ChainBone;
00027
00028
00056
00057
00058 class SICPPSDKDECL ChainRoot : public ChainElement
00059 {
00060 public:
00062 ChainRoot();
00063
00065 ~ChainRoot();
00066
00070 ChainRoot(const CRef& in_ref);
00071
00075 ChainRoot(const ChainRoot& in_obj);
00076
00081 bool IsA( siClassID in_ClassID) const;
00082
00086 siClassID GetClassID() const;
00087
00093 ChainRoot& operator=(const ChainRoot& in_obj);
00094
00100 ChainRoot& operator=(const CRef& in_ref);
00101
00105 CRefArray GetBones() const;
00106
00116 CStatus AddBone
00117 (
00118 const MATH::CVector3& in_newEffPos,
00119 siChainBoneType in_BoneType,
00120 const CString& in_name,
00121 ChainBone& io_bone
00122 );
00123
00124 private:
00125 ChainRoot * operator&() const;
00126 ChainRoot * operator&();
00127 };
00128
00129 };
00130
00131 #endif // __XSICHAINROOT_H__