libmove3d
3.13.0
|
00001 #ifndef __DLRPLAN_H__ 00002 #define __DLRPLAN_H__ 00003 #include <iostream> 00004 #include <vector> 00005 #include <map> 00006 00007 #include "../lightPlanner/proto/DlrObject.h" 00008 #include "p3d_matrix.h" 00009 00010 class DlrPlan { 00011 public: 00012 enum planType{APPROACH, GRASP, CARRY, PRECOMPGRASP, PRECOMPCARRY, REACH, TOUCH}; 00013 //Constructors and destructors 00014 DlrPlan(planType type); 00015 virtual ~DlrPlan(); 00016 //functions 00017 void setObstaclesAtRightPos(); 00018 void setBodyJntAtRightPos(p3d_rob* robot, p3d_jnt* jnt, p3d_matrix4 position); 00019 //setters and getters 00020 void setType(planType type); 00021 void setObject(DlrObject* object); 00022 void setStartPos(DlrObject* object, int posId); 00023 void setTargetPos(DlrObject* object, int posId); 00024 void addObstacle(DlrObject* object, int posId); 00025 void setExecute(bool execute); 00026 planType getType(); 00027 DlrObject* getObject(); 00028 void getStartPos(p3d_matrix4 startPos); 00029 void getTargetPos(p3d_matrix4 targetPos); 00030 bool getExecute(); 00031 00032 protected: 00033 00034 private: 00035 //static members 00036 planType _type; 00037 DlrObject* _object; 00038 p3d_matrix4 _startPos; 00039 p3d_matrix4 _targetPos; 00040 std::map<DlrObject*, int> _obstacles; 00041 bool _execute; 00042 public: 00043 }; 00044 00045 #endif