9 #ifndef CscMoveForwardInGroup_hpp
10 #define CscMoveForwardInGroup_hpp
12 #include "../../Simulator/CscEnvironmentSimulator.h"
23 class CscEntityReflexion;
33 bool hasAlreadySentSequenceStop =
false;
36 std::optional<float> angle;
37 std::optional<float> distance;
38 std::optional<float> height;
42 std::optional<float> distance = 0.0
f,
43 std::optional<float> height = 0.0
f);
45 float getAngle()
const;
46 float getDistance()
const;
47 float getHeight()
const;
52 const string serialNumber;
62 const string &getSerialNumber()
const;
68 void setPositionTarget(
CscPoint3d *positionTarget);
79 void moveForwardInGroupLoopTick();
80 const string &getFollowTargetWorldId()
const;
82 void removeSlave(
const string &serialNumberSlaveToRemove);
84 vector<SlaveMoveParameters *> getSlaveMoveParameters();
85 vector<string> getSlaveSerialNumbers();
88 unique_ptr<CscLogger>
logger = CscLogger::getForCategory(
"CscMoveForwardInGroup");
92 string followTargetWorldId;
95 vector<SlaveMoveParameters *> slavesMoveParameters;
96 recursive_mutex slaveMutex;
98 bool updateMasterPosition();
99 void updateSlavesPositionsTarget();