Choreonoid  1.1
PenetrationBlocker.h
説明を見る。
1 
5 #ifndef CNOID_BODY_PENETRATION_BLOCKER_H_INCLUDED
6 #define CNOID_BODY_PENETRATION_BLOCKER_H_INCLUDED
7 
8 #include "Link.h"
9 #include <boost/shared_ptr.hpp>
10 #include "exportdecl.h"
11 
12 namespace cnoid {
13 
14  class PenetrationBlockerImpl;
15 
17  {
18  public:
19  PenetrationBlocker(Link* targetLink);
20  void addOpponentLink(Link* link);
21  void setDepth(double depth);
22  void start();
23  bool adjust(Vector3& io_p, const Matrix3& R, const Vector3& pushDirection);
24  private:
25  PenetrationBlockerImpl* impl;
26  };
27 
28  typedef boost::shared_ptr<PenetrationBlocker> PenetrationBlockerPtr;
29 }
30 
31 #endif