Choreonoid  1.5
PenetrationBlocker.h
Go to the documentation of this file.
1 
5 #ifndef CNOID_BODY_PENETRATION_BLOCKER_H
6 #define CNOID_BODY_PENETRATION_BLOCKER_H
7 
8 #include "Link.h"
9 #include <cnoid/CollisionDetector>
10 #include "exportdecl.h"
11 
12 namespace cnoid {
13 
14 class PenetrationBlockerImpl;
15 
20 {
21 public:
25  PenetrationBlocker(CollisionDetectorPtr collisionDetector, Link* targetLink);
26 
27  void addOpponentLink(Link* link);
28  void setDepth(double depth);
29  void start();
30  bool adjust(Position& io_T, const Vector3& pushDirection);
31 
32 private:
33  PenetrationBlockerImpl* impl;
34 };
35 
36 typedef boost::shared_ptr<PenetrationBlocker> PenetrationBlockerPtr;
37 }
38 
39 #endif
boost::shared_ptr< CollisionDetector > CollisionDetectorPtr
Definition: CollisionDetector.h:23
Eigen::Transform< double, 3, Eigen::AffineCompact > Position
Definition: EigenTypes.h:73
Defines the minimum processing for performing pasing file for STL.
Definition: AbstractSceneLoader.h:9
Eigen::Vector3d Vector3
Definition: EigenTypes.h:58
Definition: PenetrationBlocker.h:19
#define CNOID_EXPORT
Definition: Util/exportdecl.h:37
boost::shared_ptr< PenetrationBlocker > PenetrationBlockerPtr
Definition: PenetrationBlocker.h:36