Conscience Core
CommandVisionDetect.h
Go to the documentation of this file.
1 #ifndef ConscienceCommandVisionDetect_h
2 #define ConscienceCommandVisionDetect_h
3 
4 #include "./Command.h"
7 
8 #include <string>
9 
10 using std::string;
11 using std::vector;
12 using namespace conscience_core::core_objects;
13 using namespace conscience_core::detector_engine;
14 
16 
18  const vector<ConscienceDetectorType> detectors;
19  const vector<ptr<const CscAlertIdentificationConfig>> alerts;
20  const vector<CscDetectionStatsType> stats;
22  optional<CscEntityReflexionDetectionParameters::DetectionNotificationParameters> notificationParams;
23 
27  const bool locateInSimulator = true;
28  map<string, string> additionalParams;
29  CommandVisionDetectParams(const vector<ConscienceDetectorType> &detectors, const vector<ptr<const CscAlertIdentificationConfig>> &alerts, const vector<CscDetectionStatsType> &stats, bool shouldFocusDetections, const optional<CscEntityReflexionDetectionParameters::DetectionNotificationParameters> &notificationParams, bool locateInSimulator, const map<string, string> &additionalParams)
30  : detectors(detectors),
31  alerts(alerts),
32  stats(stats),
33  shouldFocusDetections(shouldFocusDetections),
34  notificationParams(notificationParams),
35  locateInSimulator(locateInSimulator),
36  additionalParams(additionalParams) {}
37 };
38 
40 
41 public:
42  inline static const CommandTypeId COMMAND_ID = "VISION_DETECT";
43 
45 
46  string toString() const;
47 
48  bool willTurnOffDetection() const;
49 
50  const CommandVisionDetectParams &getParams() const;
51 
53  return entityReflexion;
54  }
55 
56 protected:
57  const CscCommandExecutionResult *doExecute(CscEnvironmentSimulator &environmentSimulator) override;
58 
59 private:
60  ptr<CscEntityReflexion> entityReflexion;
61  const CommandVisionDetectParams params;
62 };
63 
66 COMMAND_TYPE_BUILDER(CommandVisionDetect, CscAlertIdentificationConfig, CscAlertType, const map<string, string> &, optional<vector<CscAlertIdentificationTimeSlot>>)
67 COMMAND_TYPE_BUILDER(CommandVisionDetect, DetectionNotificationParameters, const optional<string> &, const optional<string> &,
68  const optional<string> &, const optional<int> &, bool, int, int, const vector<string> &, const vector<string> &);
69 
71  const vector<CscDetectionStatsType> &, bool, const optional<CscEntityReflexionDetectionParameters::DetectionNotificationParameters> &, bool, const map<string, string> &)
73 
74 }
75 
76 #endif
conscience_core::core_objects
Definition: CscEntityReflexion.h:33
conscience_core::bridging::commands::CommandVisionDetect
Definition: CommandVisionDetect.h:39
CSC_DLL_IMPORTEXPORT
#define CSC_DLL_IMPORTEXPORT
Definition: os.h:34
conscience_core::detector_engine
Definition: ConscienceVisionDetectorRepository.cpp:30
Command.h
conscience_core::detector_engine::ConscienceDetectorType
ConscienceDetectorType
Definition: CscCommonDetectorTypes.h:13
conscience_core::bridging::commands::CommandTypeId
string CommandTypeId
Definition: Command.h:29
conscience_core::ai::alerts::CscAlertIdentificationTimeSlot
Definition: alerts.h:52
conscience_core::ai::CscEntityReflexionDetectionParameters::DetectionNotificationParameters
Definition: CscEntityReflexion.h:140
CscEntityReflexion.h
conscience_core::bridging::commands::CommandVisionDetectParams::additionalParams
map< string, string > additionalParams
Definition: CommandVisionDetect.h:28
conscience_core::ai::CscDetectionStatsType
CscDetectionStatsType
Definition: CscDetectionStats.h:6
conscience_core::bridging::commands
Definition: cartographyCommands.cpp:29
conscience_core::ai::CscEntityReflexion
Definition: CscEntityReflexion.h:391
conscience_core::bridging::commands::CommandVisionDetectParams::alerts
const vector< ptr< const CscAlertIdentificationConfig > > alerts
Definition: CommandVisionDetect.h:19
conscience_core::bridging::commands::CscCommand
Definition: Command.h:40
COMMAND_REGISTER
#define COMMAND_REGISTER(COMMAND_REGISTER_className,...)
Definition: CscCommandAutoParse.h:541
conscience_core::bridging::commands::CommandVisionDetectParams::notificationParams
optional< CscEntityReflexionDetectionParameters::DetectionNotificationParameters > notificationParams
Definition: CommandVisionDetect.h:22
conscience_core::bridging::commands::CommandVisionDetectParams::stats
const vector< CscDetectionStatsType > stats
Definition: CommandVisionDetect.h:20
conscience_core::bridging::commands::result::CscCommandExecutionResult
Definition: CommandExecutionResult.h:44
conscience_core::bridging::commands::CommandVisionDetectParams::shouldFocusDetections
const bool shouldFocusDetections
Definition: CommandVisionDetect.h:21
conscience_core::bridging::commands::CommandVisionDetectParams::CommandVisionDetectParams
CommandVisionDetectParams(const vector< ConscienceDetectorType > &detectors, const vector< ptr< const CscAlertIdentificationConfig >> &alerts, const vector< CscDetectionStatsType > &stats, bool shouldFocusDetections, const optional< CscEntityReflexionDetectionParameters::DetectionNotificationParameters > &notificationParams, bool locateInSimulator, const map< string, string > &additionalParams)
Definition: CommandVisionDetect.h:29
COMMAND_TYPE_BUILDER
#define COMMAND_TYPE_BUILDER(PREFIX, COMMAND_REGISTER_className,...)
Definition: CscCommandAutoParse.h:579
conscience_core::bridging::commands::DetectionNotificationParameters
conscience_core::ai::CscEntityReflexionDetectionParameters::DetectionNotificationParameters DetectionNotificationParameters
Definition: CommandVisionDetect.h:64
CscEnvironmentSimulator
Definition: CscEnvironmentSimulator.h:31
CscCommandAutoParse.h
conscience_core::bridging::commands::CommandVisionDetectParams
Definition: CommandVisionDetect.h:17
conscience_core::ai::alerts::CscAlertType
uint64_t CscAlertType
Definition: alerts.h:40
ptr
std::shared_ptr< T > ptr
Definition: CscCommon.h:29
conscience_core::ai::CscEntityReflexionDetectionParameters
Definition: CscEntityReflexion.h:138
conscience_core::bridging::commands::CommandVisionDetectParams::detectors
const vector< ConscienceDetectorType > detectors
Definition: CommandVisionDetect.h:18
conscience_core::bridging::commands::CommandVisionDetect::getEntityReflexion
ptr< CscEntityReflexion > getEntityReflexion() const override
Definition: CommandVisionDetect.h:52
conscience_core::ai::alerts::CscAlertIdentificationConfig
Definition: alerts.h:69