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
boost::shared_ptr< InverseKinematics > InverseKinematicsPtr
Definition: Body.h:28
Definition: InverseKinematics.h:13
virtual ~InverseKinematics()
Definition: InverseKinematics.h:17
AxisSet
Definition: InverseKinematics.h:16
virtual AxisSet axisType() const
Definition: InverseKinematics.h:18
Definition: InverseKinematics.h:16
virtual bool calcInverseKinematics(const Vector3 &end_p, const Matrix3 &end_R)=0
Definition: InverseKinematics.h:16
Definition: InverseKinematics.h:16
Definition: InverseKinematics.h:16
Eigen::Vector3d Vector3
Definition: EigenTypes.h:26
Eigen::Matrix3d Matrix3
Definition: EigenTypes.h:25