xsi_kinematics.h
Go to the documentation of this file.
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__