libmove3d-planners
 All Classes Namespaces Files Functions Variables Enumerations Enumerator Friends Macros Groups Pages
point.hpp
1 #ifndef POINT_HPP
2 #define POINT_HPP
3 
4 #include "GTP/Tasks/privateTask.hpp"
5 #include "Planner-pkg.h"
6 
7 
8 class Point : public PrivateTask
9 {
10  MOVE3D_STATIC_LOGGER;
11 public:
12  Point();
13  virtual bool initAll();
14 
15  bool run(std::multimap<std::string,std::string> agents_name,
16  std::multimap<std::string,std::string> objects_name,
17  std::multimap<std::string,p3d_point> point3d,
18  std::multimap<std::string,std::string> additionalData,
19  WorldState *WS, bool computeMP);
20 
21  virtual bool findCandidateSolutions();
22  virtual bool getRandomSol();
23  virtual bool findConfigurations();
24  virtual bool findTrajectories();
25  virtual bool computeSolutionTrajectories(int alternativeId);
26  virtual bool setToSolution(int solutionId, bool computeMP);
27 // virtual vector<TaskSubSolution *> setNextTraj(TaskSubSolution* doneTSS);
28  virtual bool setAgents(std::multimap<std::string,std::string> agents_name);
29  virtual bool setObjects(std::multimap<std::string,std::string> objects_name);
30  virtual bool setPoints(std::multimap<std::string,p3d_point> points);
31  virtual bool setdata(std::multimap<std::string,std::string> additionalData);
32  virtual void smoothSolution(int alternativeId) {std::cout << "not implemented" << std::endl;}
33  virtual std::string getDescr();
34  virtual std::string getTextFromValues();
35 
36 
37  virtual void showMainObjectRandomTransform() {}
38 
39 
40  bool setArmToUse(armLabel arm_t);
41  //this is a specific function used in case we need ids.
42  int getArmId();
43 
44  Robot* getMainAgent() {return mainAgent;}
45 private:
46  int _armId;
47  p3d_point _mainPoint;
48  p3d_point _targetPoint;
49  Robot* _targetObject;
50  armLabel m_arm;
51  gpHand_type handType;
52  ManipulationPlanner* Mp;
53 
54  confPtr_t _sol;
55 
56 // p3d_matrix4 current_test;
57  double _dist;
58  double _armReach;
59  p3d_matrix4 _m;
60  double cX, cY, cZ, cRx, cRy, cRz;
61  double mX, mY, mZ, mRx, mRy, mRz;
62  bool isNear;
63  bool isStraight;
64 
65  double dist_to_move;
66  double _nbTests;
67 
68  p3d_traj* _traj;
69 };
70 
71 #endif // POINT_HPP
This class holds a the robot represented by a kinematic chain.
Definition: robot.hpp:42
Definition: worldState.hpp:30
Definition: privateTask.hpp:6
Definition: point.hpp:8