Actin®  Version 5.3.0
Software for Robotics Simulation and Control
ecDodObjectVisitor.h
Go to the documentation of this file.
1 #ifndef ecDodObjectVisitor_H_
2 #define ecDodObjectVisitor_H_
3 //------------------------------------------------------------------------------
4 // Copyright (c) 2002-2013 Energid Technologies. All rights reserved.
5 //
9 //
10 //------------------------------------------------------------------------------
11 #include <actin/actin_config.h> // Required to be first header.
12 #include <foundCore/ecTypes.h>
13 
14 // Forward declarations
20 class EcActionDirection;
23 class EcManipulationActionVisitor;
28 class EcPose;
33 
34 
37 {
38 public:
39 
42  (
43  ){}
44 
46  virtual ~EcDodObjectVisitor
47  (
48  ) {}
49 
51  virtual EcBoolean success
52  (
53  ) const = 0;
54 
55  virtual void visit
56  (
58  ) = 0;
59 
60 
61  virtual void visit
62  (
64  const EcString& objectName
65  ){};
66 
67  virtual void visit
68  (
70  const EcString& objectName
71  ){};
72 
73  virtual void visit
74  (
75  EcManipulationScript& object,
76  const EcString& objectName
77  ){};
78 
79  virtual void visit
80  (
82  const EcString& objectName
83  ){};
84 
85  virtual void visit
86  (
87  EcDirectionCondition& object,
88  const EcString& objectName
89  )
90  {
91 
92  }
93 
94  virtual void visit
95  (
96  EcPose& object,
97  const EcString& objectName
98  )
99  {
100 
101  }
102 
103 
104  virtual void visit
105  (
107  const EcString& objectName
108  ) = 0;
109 
110  virtual void visit
111  (
112  EcManipulationScene& object,
113  const EcString& objectName
114  ) = 0;
115 
116  virtual void visit
117  (
119  const EcString& objectName
120  ){};
121 
122  virtual void visit
123  (
125  const EcString& objectName
126  ) = 0;
127 
128  virtual void visit
129  (
131  const EcString& objectName
132  ) = 0;
133 
134 
135  virtual void visit
136  (
137  EcManipulationWaypoint& object,
138  const EcString& objectName
139  )
140  {
141 
142  }
143 
144 
145 
146  virtual void visit
147  (
148  EcToolOffsetDirection& object,
149  const EcString& objectName
150  ){};
151 
152  virtual void visit
153  (
154  EcPoseDirectorObject& object,
155  const EcString& objectName
156  ){};
157 
158  void addToModifiedList
159  (
160  const EcString& objectName
161  )
162  {
163  for (EcU32 ii=0; ii< m_ObjectModifiedVector.size(); ii++)
164  {
165 
166  if (m_ObjectModifiedVector[ii] == objectName)
167  {
168  return;
169  }
170  }
171  m_ObjectModifiedVector.push_back(objectName);
172  };
173 
174  virtual void mergeActionVisitorModification
175  (
176  )
177  {
178  };
179 
180  const EcStringVector& modifiedItems
181  (
182  )
183  {
184  return m_ObjectModifiedVector;
185  };
186 
187 protected:
188  EcStringVector m_ObjectModifiedVector;
189 };
190 
191 #endif // ecDodObjectVisitor_H_
Concrete implementation of EcDirectorObject that holds an EcPose object.
Concrete implementation of EcManipulationDirection that references a manipulation direction stored wi...
Organizes manipulation scene directions for multiple manipulator roles.
Organizes multiple manipulation scenes.
Concrete implementation of EcDirectorObject that holds an EcManipulationSceneDirection object...
Virtual base class for direction conditions.
Virtual base class for manipulation scene directions.
Concrete implementation of EcDirectorObject that holds an EcManipulationScene object.
Concrete implementation of EcDirectorObject that holds an EcManipulationScript object.
boost::uint32_t EcU32
32-bit unsigned integer
Definition: ecTypes.h:53
A defininition of basic types of data and structs.
Concrete implementation of EcStageDirection for modifying a tool offset.
std::vector< EcString > EcStringVector
string organization using vectors
Definition: ecTypes.h:138
Organizes multiple manipulation director objects into a directory hierarchy.
#define EC_ACTIN_MANIPULATIONDIRECTOR_DECL
manipulationDirector directory
Definition: actin_config.h:212
Organizes manipulation scene directions for multiple manipulator roles.
Virtual base class for defining visitor algorithms for manipulationAction objects.
bool EcBoolean
Boolean (0 or 1)
Definition: ecTypes.h:21
A single waypoint of a waypoint sequence.
std::basic_string< char > EcString
a character string
Definition: ecTypes.h:116
The EcPose class EcPose is used to specified a 3D location (position and orientation) in space...
Definition: ecPose.h:30
Concrete implementation of EcStageDirection that references a manipulation direction stored within th...
Concrete implementation of EcManipulationDirection for running EcManipulationAction directions from t...
Configuration header for the actin hierarchy.
Created by Energid Technologies www.energid.com
Copyright © 2016 Energid. All trademarks mentioned in this document are property of their respective owners.