Choreonoid  1.1
PoseProvider.h
[詳解]
1 
6 #ifndef CNOID_BODY_POSE_PROVIDER_H_INCLUDED
7 #define CNOID_BODY_POSE_PROVIDER_H_INCLUDED
8 
9 #include "Body.h"
10 #include <vector>
11 #include <boost/optional.hpp>
12 #include <cnoid/EigenTypes>
13 
14 namespace cnoid {
15 
17  {
18  public:
19  virtual ~PoseProvider() { };
20  virtual Body* body() const = 0;
21  virtual double beginningTime() const = 0;
22  virtual double endingTime() const = 0;
23  virtual bool seek(double time) = 0;
24  virtual bool seek(double time, int waistLinkIndex, const Vector3& waistTranslation) = 0;
25  virtual int baseLinkIndex() const = 0;
26  virtual bool getBaseLinkPosition(Vector3& out_p, Matrix3& out_R) const = 0;
27  virtual void getJointPositions(std::vector< boost::optional<double> >& out_q) const = 0;
28  virtual boost::optional<Vector3> zmp() const = 0;
29  };
30 }
31 
32 #endif
virtual bool seek(double time)=0
Definition: Body.h:45
virtual boost::optional< Vector3 > zmp() const =0
virtual int baseLinkIndex() const =0
virtual double endingTime() const =0
virtual double beginningTime() const =0
Definition: PoseProvider.h:16
virtual ~PoseProvider()
Definition: PoseProvider.h:19
virtual void getJointPositions(std::vector< boost::optional< double > > &out_q) const =0
virtual Body * body() const =0
Definition: EasyScanner.h:16
Eigen::Vector3d Vector3
Definition: EigenTypes.h:26
virtual bool getBaseLinkPosition(Vector3 &out_p, Matrix3 &out_R) const =0
Eigen::Matrix3d Matrix3
Definition: EigenTypes.h:25