Conscience Core
cartographyCommands.h
Go to the documentation of this file.
1 #ifndef cartographyCommands_h
2 #define cartographyCommands_h
3 
4 #include "CommandCommons.h"
5 
7 
12 
13 public:
14  inline static const CommandTypeId COMMAND_ID = "CARTOGRAPHY_SAVE";
15 
16  CommandCartographySave(const vector<CscLine3d *> &lines);
17 
18  ~CommandCartographySave() override;
19 
20 protected:
21  const CscCommandExecutionResultNone *doExecute(CscEnvironmentSimulator &environmentSimulator) override;
22  ptr<CscEntityReflexion> getEntityReflexion() const override;
23 
24 private:
25  const vector<CscLine3d *> lines;
26 };
28 COMMAND_REGISTER(CommandCartographySave, const vector<CscLine3d *> &)
29 
30 
35 
36 public:
37  inline static const CommandTypeId COMMAND_ID = "CARTOGRAPHY_GET";
38 
40  ~CommandCartographyGet() override;
41 
42 protected:
43  const CscCommandExecutionResultList<CscPoint3d> *doExecute(CscEnvironmentSimulator &environmentSimulator) override;
44  ptr<CscEntityReflexion> getEntityReflexion() const override;
45 
46 private:
47  ptr<CscEntityReflexion> entityReflexion;
48 };
50 
51 
55 
56 public:
57  inline static const CommandTypeId COMMAND_ID = "CARTOGRAPHY_SET";
58 
59  CommandCartographySet(ptr<CscEntityReflexion> entityReflexion, const vector<const CscPoint3d *> &points);
60  ~CommandCartographySet() override;
61 
62 protected:
63  const CscCommandExecutionResultNone *doExecute(CscEnvironmentSimulator &environmentSimulator) override;
64  ptr<CscEntityReflexion> getEntityReflexion() const override;
65 
66 private:
67  ptr<CscEntityReflexion> entityReflexion;
68  vector<const CscPoint3d *> points;
69 };
71 COMMAND_REGISTER(CommandCartographySet, ptr<CscEntityReflexion>, const vector<const CscPoint3d *> &)
72 
73 ENUM(CscCartographyManagementActionType,
75  Start,
77  Clear,
79  Pause,
81  Resume,
83  StopAndSave);
84 
90 
98  ptr<CscEntityReflexion> entityReflexion,
99  CscCartographyManagementActionType actionType);
100 
102 
104  CscCartographyManagementActionType actionType;
105 };
106 
112 
113 public:
114  inline static const CommandTypeId COMMAND_ID = "CARTOGRAPHY_MANAGEMENT";
115 
116  CommandCartographyManagement(const CartographyManagementCommandDataType *cartographyManagementData);
117 
118  ~CommandCartographyManagement() override;
119 
121 
122 protected:
123  const CscCommandExecutionResultNone *doExecute(CscEnvironmentSimulator &environmentSimulator) override;
124  ptr<CscEntityReflexion> getEntityReflexion() const override;
125 
126 private:
127 };
128 
129 COMMAND_TYPE_BUILDER(CartographyManagement, CartographyManagementCommandDataType, ptr<CscEntityReflexion>, CscCartographyManagementActionType)
131 
132 
136 
137 public:
138  inline static const CommandTypeId COMMAND_ID = "CARTOGRAPHY_LOAD";
139 
140  CommandCartographyLoad(ptr<CscEntityReflexion> entityReflexion, const optional<string> &cartoFolderPath = nullopt);
141 
142  ~CommandCartographyLoad() override;
143 
144 protected:
145  const CscCommandExecutionResultNone *doExecute(CscEnvironmentSimulator &environmentSimulator) override;
146  ptr<CscEntityReflexion> getEntityReflexion() const override;
147 
148 private:
149  ptr<CscEntityReflexion> entityReflexion;
150  optional<string> cartoFolderPath;
151 };
152 
154 
155 
161 
162 public:
163  inline static const CommandTypeId COMMAND_ID = "LIDAR_VALUES_RECORD_START";
164 
166 
167  ~CommandLidarValuesRecordStart() override = default;
168 
169 protected:
170  const CscCommandExecutionResultNone *doExecute(CscEnvironmentSimulator &environmentSimulator) override;
171  ptr<CscEntityReflexion> getEntityReflexion() const override;
172 
173 private:
174  ptr<CscEntityReflexion> entityReflexion;
175 };
177 
178 
185 
186 public:
187  inline static const CommandTypeId COMMAND_ID = "LIDAR_VALUES_RECORD_STOP";
188 
190 
191  ~CommandLidarValuesRecordStop() override = default;
192 
193 protected:
194  const CscCommandExecutionResultList<string> *doExecute(CscEnvironmentSimulator &environmentSimulator) override;
195  ptr<CscEntityReflexion> getEntityReflexion() const override;
196 
197 private:
198  ptr<CscEntityReflexion> entityReflexion;
199 };
201 
202 
208 
209 public:
210  inline static const CommandTypeId COMMAND_ID = "LIDAR_VALUES_RECORD_DOWNLOAD_AND_BUILD_CARTOGRAPHY";
211 
216  CommandLidarValuesRecordDownloadAndBuildCartography(ptr<CscEntityReflexion> entityReflexion, const string &targetPath);
217 
219 
220 protected:
221  const CscCommandExecutionResultNone *doExecute(CscEnvironmentSimulator &environmentSimulator) override;
222  ptr<CscEntityReflexion> getEntityReflexion() const override;
223 
224 private:
225  ptr<CscEntityReflexion> entityReflexion;
226  const string targetPath;
227 
228  bool downloadAndBuildCartography(CscEnvironmentSimulator &environmentSimulator, const std::vector<std::string> &storageFilePaths);
229 };
231 
232 ENUM( CartographyNetworkPushCompression, CARTO_NET_PUSH_COMPRESSION_LZ4, CARTO_NET_PUSH_COMPRESSION_NONE)
233 
235 public:
243  const string &targetIpAddress, unsigned int targetPort,
244  optional<double> periodMillis = {}, optional<CartographyNetworkPushCompression> compression = {});
245 
247  unsigned targetPort;
248  double periodMillis;
249  CartographyNetworkPushCompression compression;
250 };
251 
303 class CSC_DLL_IMPORTEXPORT CommandCartographyNetworkPush : public CscCommandTypedResult<CscCommandExecutionResultString> {
304 public:
305  inline static const CommandTypeId COMMAND_ID = "CARTOGRAPHY_NETWORK_PUSH";
306 
308  ~CommandCartographyNetworkPush() override;
309 
310 protected:
311  const CscCommandExecutionResultString *doExecute(CscEnvironmentSimulator &environmentSimulator) override;
312 
313  ptr<CscEntityReflexion> getEntityReflexion() const override;
314 
317  std::unique_ptr<CscLogger> logger = CscLogger::getForCategory("CommandCartographyNetworkPush");
318 };
319 
323 class CSC_DLL_IMPORTEXPORT CommandCartographyNetworkPushStop : public CscCommandTypedResult<CscCommandExecutionResultString> {
324 public:
325  inline static const CommandTypeId COMMAND_ID = "CARTOGRAPHY_NETWORK_PUSH_STOP";
326 
327  CommandCartographyNetworkPushStop(ptr<CscEntityReflexion> entityReflexion, const string &targetIpAddress, unsigned targetPort);
328 
329 protected:
330  const CscCommandExecutionResultString *doExecute(CscEnvironmentSimulator &environmentSimulator) override;
331 
332  ptr<CscEntityReflexion> getEntityReflexion() const override;
333 
336  unsigned targetPort;
337  std::unique_ptr<CscLogger> logger = CscLogger::getForCategory("CommandCartographyNetworkPushStop");
338 };
339 
340 COMMAND_TYPE_BUILDER(CommandCartographyNetworkPush, CommandCartographyNetworkPushParams, const string &, unsigned int, optional<double>, optional<CartographyNetworkPushCompression>)
343 
344 }
345 
346 #endif
conscience_core::bridging::commands::cartography::CommandCartographyNetworkPushParams::targetPort
unsigned targetPort
Definition: cartographyCommands.h:247
conscience_core::bridging::commands::cartography::CommandCartographySave
Definition: cartographyCommands.h:11
conscience_core::bridging::commands::cartography::CommandCartographyManagement
Definition: cartographyCommands.h:111
conscience_core::axiomes::CscPoint3d
The CscPoint3d class represents a point in three-dimensional space. It is primarily used to denote a ...
Definition: Csc3dTypes.h:24
conscience_core::bridging::commands::result::CscCommandExecutionResultNone
Definition: CommandExecutionResultNone.h:11
conscience_core::bridging::commands::cartography::CommandCartographyNetworkPushStop::targetPort
unsigned targetPort
Definition: cartographyCommands.h:336
CSC_DLL_IMPORTEXPORT
#define CSC_DLL_IMPORTEXPORT
Definition: os.h:34
conscience_core::bridging::commands::cartography::CommandCartographyNetworkPushParams::compression
CartographyNetworkPushCompression compression
Definition: cartographyCommands.h:249
conscience_core::bridging::commands::cartography::logger
std::unique_ptr< CscLogger > logger
Definition: cartographyCommands.cpp:44
conscience_core::axiomes::CscLine3d
Definition: Csc3dTypes.h:229
conscience_core::bridging::commands::cartography::CommandLidarValuesRecordDownloadAndBuildCartography
Definition: cartographyCommands.h:207
conscience_core::bridging::commands::CscCommandTypedResult
Definition: Command.h:122
conscience_core::bridging::commands::cartography::CommandCartographyManagement::cartographyManagementData
const CartographyManagementCommandDataType *const cartographyManagementData
Definition: cartographyCommands.h:120
conscience_core::bridging::commands::cartography::CommandCartographyLoad
Definition: cartographyCommands.h:135
conscience_core::bridging::commands::cartography::CartographyManagementCommandDataType::entityReflexion
ptr< CscEntityReflexion > entityReflexion
Definition: cartographyCommands.h:103
conscience_core::bridging::commands::cartography::CommandLidarValuesRecordStop
Definition: cartographyCommands.h:184
conscience_core::bridging::commands::cartography::CommandCartographyNetworkPushParams
Definition: cartographyCommands.h:234
conscience_core::bridging::commands::CommandTypeId
string CommandTypeId
Definition: Command.h:29
conscience_core::bridging::commands::cartography::CommandCartographyNetworkPushParams::targetIpAddress
string targetIpAddress
Definition: cartographyCommands.h:246
conscience_core::bridging::commands::result::CscCommandExecutionResultString
Definition: CommandExecutionResultString.h:11
conscience_core::bridging::commands::cartography::CommandCartographyNetworkPush::entityReflexion
ptr< CscEntityReflexion > entityReflexion
Definition: cartographyCommands.h:315
conscience_core::bridging::commands::cartography::CommandCartographyNetworkPushParams::periodMillis
double periodMillis
Definition: cartographyCommands.h:248
conscience_core::bridging::commands::cartography::CartographyManagementCommandDataType
Definition: cartographyCommands.h:85
conscience_core::bridging::commands::cartography::CommandLidarValuesRecordStart
Definition: cartographyCommands.h:160
conscience_core::bridging::commands::cartography::CommandCartographyNetworkPushStop::entityReflexion
ptr< CscEntityReflexion > entityReflexion
Definition: cartographyCommands.h:334
conscience_core::bridging::commands::CscCommand
Definition: Command.h:40
conscience_core::bridging::commands::cartography::CartographyManagementCommandDataType::actionType
CscCartographyManagementActionType actionType
Definition: cartographyCommands.h:104
conscience_core::bridging::commands::cartography::CommandCartographyNetworkPushStop::targetIpAddress
string targetIpAddress
Definition: cartographyCommands.h:335
conscience_core::bridging::commands::cartography::CommandCartographySet
Definition: cartographyCommands.h:54
conscience_core::bridging::commands::cartography::CommandCartographyGet
Definition: cartographyCommands.h:34
conscience_core::bridging::commands::environment_objects::optional< double >
const ptr< CscObjectModel > const string const CscPoint3d const CscPoint3d optional< double >
Definition: environmentObjectsCommands.h:367
CscEnvironmentSimulator
Definition: CscEnvironmentSimulator.h:31
conscience_core::bridging::commands::COMMAND_REGISTER
COMMAND_REGISTER(CommandFollowKinematicTrajectory, ptr< CscEntityReflexion >, int, const CscState *, string, string, string, string, float, float, float, float, float, float, float, float, float, float, float, float, float, float, float, float, float, float, float, float, float)
CommandCommons.h
conscience_core::bridging::commands::COMMAND_TYPE_BUILDER
COMMAND_TYPE_BUILDER(CommandVisionDetect, CscAlertIdentificationTimeSlot, int, int, int, int)
conscience_core::bridging::commands::cartography::CommandCartographyNetworkPush
Definition: cartographyCommands.h:303
conscience_core::bridging::commands::cartography::CommandCartographyNetworkPushStop
Definition: cartographyCommands.h:323
conscience_core::bridging::commands::environment_objects::optional< string >
const ptr< CscObjectModel > const string const CscPoint3d const CscPoint3d optional< string >
Definition: environmentObjectsCommands.h:373
conscience_core::bridging::commands::result::CscCommandExecutionResultList
Definition: CommandExecutionResult.h:118
ptr
std::shared_ptr< T > ptr
Definition: CscCommon.h:29
conscience_core::bridging::commands::cartography::ENUM
ENUM(CscCartographyManagementActionType, Start, Clear, Pause, Resume, StopAndSave)
conscience_core::bridging::commands::cartography
Definition: cartographyCommands.cpp:29