00001
00011
00012
00013 #if (_MSC_VER > 1000) || defined(SGI_COMPILER)
00014 #pragma once
00015 #endif
00016
00017 #ifndef __XSIKINEMATICS_H__
00018 #define __XSIKINEMATICS_H__
00019
00020 #include <xsi_property.h>
00021 #include <xsi_vector3.h>
00022 #include <xsi_kinematicstate.h>
00023
00024 namespace XSI {
00025
00026 class Constraint;
00027
00028
00072
00073 class SICPPSDKDECL Kinematics : public Property
00074 {
00075 public:
00077 Kinematics();
00078
00080 ~Kinematics();
00081
00085 Kinematics(const CRef& in_ref);
00086
00090 Kinematics(const Kinematics& in_obj);
00091
00096 bool IsA( siClassID in_ClassID) const;
00097
00101 siClassID GetClassID() const;
00102
00108 Kinematics& operator=(const Kinematics& in_obj);
00109
00115 Kinematics& operator=(const CRef& in_ref);
00116
00120 CRefArray GetConstraints() const;
00121
00136 CStatus AddConstraint( const CString& in_preset,
00137 const CRefArray& in_cnsning,
00138 bool in_bComp,
00139 const MATH::CVector3& in_offsetCnsned,
00140 const MATH::CVector3& in_offsetCnsning,
00141 Constraint& out_constraint);
00142
00149 KinematicState GetLocal() const;
00150
00155 KinematicState GetGlobal() const;
00156
00157 private:
00158 Kinematics * operator&() const;
00159 Kinematics * operator&();
00160 };
00161
00162 };
00163
00164 #endif // __XSIKINEMATICS_H__