Conscience Core
CommandAreaAnalysisSimple.h
Go to the documentation of this file.
1 
2 #ifndef CommandAreaAnalysisSimple_h
3 #define CommandAreaAnalysisSimple_h
4 
5 #include <string>
6 
7 #include "./Command.h"
10 
13 
14 public:
15  inline static const CommandTypeId COMMAND_ID = "AREA_ANALYSIS_SIMPLE";
21  CommandAreaAnalysisSimple(ptr<CscEntityReflexion> entityReflexion, vector<const CscPoint3d *> areaVertices, vector<vector<const CscPoint3d*>> holes, double areaOfPerceptionWidth, const CscPoint3d* entityPosition, optional<bool> doNotPlay);
23 protected:
26  return entityReflexion;
27  }
28  const CscCommandExecutionResultSequence * doExecute(CscEnvironmentSimulator &environmentSimulator) override;
29 
30 private:
31  bool doNotPlaySequence = false;
32 
34  vector<const CscPoint3d *> areaVertices;
35  vector<vector<const CscPoint3d *>> holes;
36  double areaOfPerceptionWidth;
37  const CscPoint3d* entityPosition;
38  const CscPoint3d* findSouthernmostPoint(const std::vector<const CscPoint3d*>& vertices);
39  const CscPoint3d* findNorthernmostPoint(const std::vector<const CscPoint3d*>& vertices);
40  vector<CscPoint3d*> traverseAreaZigzag(const std::vector<const CscPoint3d*>& areaVertices, double areaOfPerceptionWidth);
41  CscSequencePositions* generateSequenceWithPositions(CscEnvironmentSimulator &environmentSimulator, vector<CscPoint3d*> positions);
42 };
43 
44 COMMAND_REGISTER(CommandAreaAnalysisSimple, ptr<CscEntityReflexion>, vector<const CscPoint3d *>, vector<vector<const CscPoint3d *>> , double, const CscPoint3d *, optional<bool>)
45 
46 }
47 #endif
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
CSC_DLL_IMPORTEXPORT
#define CSC_DLL_IMPORTEXPORT
Definition: os.h:31
CscSequencePositions
Definition: CscSequencePositions.h:23
Command.h
conscience_core::bridging::commands::result::CscCommandExecutionResultSequence
Definition: CommandExecutionResultSequence.h:15
conscience_core::bridging::commands::CommandAreaAnalysisSimple::getEntityReflexion
ptr< CscEntityReflexion > getEntityReflexion() const override
Definition: CommandAreaAnalysisSimple.h:25
conscience_core::bridging::commands::CommandTypeId
string CommandTypeId
Definition: Command.h:29
CscEntityReflexion.h
conscience_core::bridging::commands
Definition: cartographyCommands.cpp:4
conscience_core::bridging::commands::CscCommand
Definition: Command.h:40
CscEnvironmentSimulator
Definition: CscEnvironmentSimulator.h:35
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)
CscCommandAutoParse.h
conscience_core::bridging::commands::CommandAreaAnalysisSimple
Definition: CommandAreaAnalysisSimple.h:12
ptr
std::shared_ptr< T > ptr
Definition: CscCommon.h:29
conscience_core::bridging::commands::CommandAreaAnalysisSimple::entityReflexion
ptr< CscEntityReflexion > entityReflexion
Definition: CommandAreaAnalysisSimple.h:24