Choreonoid  1.1
InverseKinematics.h
説明を見る。
1 
5 #ifndef CNOID_INVERSE_KINEMATICS_H_INCLUDED
6 #define CNOID_INVERSE_KINEMATICS_H_INCLUDED
7 
8 #include <boost/shared_ptr.hpp>
9 #include <cnoid/EigenTypes>
10 
11 namespace cnoid {
12 
14  {
15  public:
16  enum AxisSet { NO_AXES = 0, TRANSLATION_3D = 0x1, ROTATION_3D = 0x2, TRANSFORM_6D = 0x3 };
17  virtual ~InverseKinematics() { }
18  virtual AxisSet axisType() const { return TRANSFORM_6D; }
19  virtual bool calcInverseKinematics(const Vector3& end_p, const Matrix3& end_R) = 0;
20  };
21 
22  typedef boost::shared_ptr<InverseKinematics> InverseKinematicsPtr;
23 }
24 
25 #endif