libmove3d-planners
 All Classes Namespaces Files Functions Variables Enumerations Enumerator Friends Macros Groups Pages
structTools.hpp
1 #ifndef STRUCTTOOLS_H
2 #define STRUCTTOOLS_H
3 
4 #include "API/Device/robot.hpp"
5 #include "graspPlanning/include/gpGrasp.h"
6 
7 enum TasksId {
8  noType, //dummy, in case
9  pick,
10  pick_multirrt,
11  pickHuman,
12  place,
13  placeHuman,
14  place_multirrt,
15  placeReachable,
16  pickAndPlace,
17  makeAccessible,
18  pickAndMakeAccessible,
19  exhibit,
20  pickAndShow,
21  give,
22  pickAndGive,
23  point,
24  fix,
25  drop,
26  navigateTo,
27  moveTo,
28  stackObj,
29  fakePlace,
30  pickPlaceQuad,
31  pickQuad,
32  placeQuad,
33  navigateAndPick,
34  //this is the last one:
35  nbOfTaskId
36 };
37 
38 struct Attachement{
39  Robot* agent;
40  Robot* object;
41  gpGrasp grasp;
42  int armId;
43 };
44 
46  Robot* support;
47  Robot* attache;
48  p3d_matrix4 transform;
49  int jointId; //the number of joints starts from 0
50 };
51 
52 
53 
54 typedef struct STRUCT_type_data
55 {
56  TasksId id;
57  std::multimap<std::string,std::string> agents;
58  std::multimap<std::string,std::string> objects;
59  std::multimap<std::string,p3d_point> points;
60  std::multimap<std::string,std::string> additionalData;
61 
62 }type_data;
63 
64 typedef struct STRUCT_Support
65 {
66  Robot* object;
67  std::vector<p3d_point> rectangle_corner;
68  //TODO: include other kind of shapes
69 }Support;
70 
71 
72 //#################### global functions #########################
73 
74 template < typename T > std::string to_string( const T& n )
75 {
76  std::ostringstream stm ;
77  stm << n ;
78  return stm.str() ;
79 }
80 
81 #endif // STRUCTTOOLS_H
Definition: structTools.hpp:54
This class holds a the robot represented by a kinematic chain.
Definition: robot.hpp:42
Definition: structTools.hpp:64
Definition: structTools.hpp:38
Definition: structTools.hpp:45