libmove3d
3.13.0
|
00001 #ifndef __DLRPLANNER_H__ 00002 #define __DLRPLANNER_H__ 00003 #include <iostream> 00004 #include <vector> 00005 #include <fstream> 00006 #include "../lightPlanner/proto/DlrObject.h" 00007 #include "../lightPlanner/proto/DlrPlan.h" 00008 00009 class DlrPlanner { 00010 public: 00011 //Constructors and destructors 00012 DlrPlanner(char* fileName); 00013 virtual ~DlrPlanner(); 00014 //functions 00015 00017 00019 //setters and getters 00020 void setStartConfig(std::vector<double> config); 00021 void setApproachConfig(std::vector<double> config); 00022 void setGraspConfig(std::vector<double> config); 00023 void setFinalConfig(std::vector<double> config); 00024 void setParseFile(std::string parseFile); 00025 void addObject(std::string name); 00026 void addObject(std::string name, std::vector<double> rightFrame, std::vector<double> leftFrame); 00027 void addPositionToObject(std::string name, int id, std::vector<double> position); 00028 void addObjectPositionToConfig(p3d_matrix4 objectPos, p3d_jnt* jnt, configPt config); 00029 void addPlan(DlrPlan::planType type); 00030 DlrPlan* getCurrrentPlan(); 00031 DlrObject* getObject(std::string name); 00032 std::string getTrajFileName(); 00033 int process(); 00034 protected: 00035 void saveTraj(p3d_traj* traj, DlrPlan* plan); 00036 bool isABaseLocalPath(p3d_localpath* lp); 00037 configPt vectorToConfigPt(std::vector<double> config); 00038 private: 00039 std::string _trajFile; 00040 std::string _parseFile; 00041 configPt _startConfig; 00042 configPt _approachConfig; 00043 configPt _graspConfig; 00044 configPt _finalConfig; 00045 std::map<std::string, DlrObject*> _objects; 00046 p3d_rob* _robot; 00047 std::vector<DlrPlan*> _execStack; 00048 //static members 00049 public: 00050 }; 00051 00052 #endif