Conscience Core
CommandTerrassementDropOff.h
Go to the documentation of this file.
1 // ConscienceRobotManager
2 //
3 // Created by Hazar Zaoui on 06/10/2020.
4 // Copyright © 2020 IliesZaoui. All rights reserved.
5 //
6 
7 #ifndef ConscienceCommandTerrassementDropOff_h
8 #define ConscienceCommandTerrassementDropOff_h
9 
10 #include "./Command.h"
12 #include "Util/conscience_util.h"
13 #include "Util/CscCartography.h"
15 #include "CoreObjects/CscMember.h"
16 
20 #include "./Command.h"
23 #include "CoreObjects/CscState.h"
24 
25 #include <string>
26 
27 using std::vector; using std::string;
28 
29 using namespace conscience_utils::Cartography;
31 
33 
34 
36 
37  public:
38  inline static const CommandTypeId COMMAND_ID = "TERRASSEMENT_DROP_OFF";
39  CommandTerrassementDropOff(ptr<CscEntityReflexion> entityReflexion, double entityLat, double entityLon, float yaw, float targetPointX, float targetPointY, float targetPointZ);
40  protected:
41  const CscCommandExecutionResultSequence * doExecute(CscEnvironmentSimulator &environmentSimulator) override;
42  std::unique_ptr<CscLogger> logger;
44  return entityReflexion;
45  }
46  private:
47  ptr<CscEntityReflexion> entityReflexion;
48  double entityLat;
49  double entityLon;
50  float yaw;
51  float targetPointX;
52  float targetPointY;
53  float targetPointZ;
54 
55  float getAngleBetweenTwoPoint(CscPoint3d* basePoint, CscPoint3d* objectivePoint);
56  float calculateDeltaWithCap(CscPoint3d * firstPoint, CscPoint3d * secondPoint,float angle = 0.0);
57  CscPoint3d* convertReferentialToReality(float distance, float delta, float angleDirection);
58 
59  double l(double phi,double e);
60 
61  CscPoint3d getTargetPositionFinal(CscPoint3d &targetPoint, CscPoint3d &distanceFromTarget) {
62  float x = targetPoint.getX();
63  float y = targetPoint.getY();
64  float z = targetPoint.getZ();
65 
66  x-= distanceFromTarget.getX();
67  y-= distanceFromTarget.getY();
68  z-= distanceFromTarget.getZ();
69 
70  return CscPoint3d(x, y, z);
71  }
72  };
73 COMMAND_REGISTER(CommandTerrassementDropOff, ptr<CscEntityReflexion>, double, double, float, float, float, float)
74 }
75 
76 
77 #endif
78 
79 
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:34
conscience_util.h
conscience_core::axiomes::CscPoint3d::getY
double getY() const
Definition: Csc3dTypes.cpp:55
CommandEntityToObject.h
CommandExecutionResultSequence.h
Command.h
CscMember.h
conscience_core::bridging::commands::result::CscCommandExecutionResultSequence
Definition: CommandExecutionResultSequence.h:15
conscience_core::bridging::commands::CommandTypeId
string CommandTypeId
Definition: Command.h:29
CommandExecutionResultNone.h
CommandLocateTargetMinus.h
conscience_core::bridging::commands::CommandTerrassementDropOff::getEntityReflexion
ptr< CscEntityReflexion > getEntityReflexion() const override
Definition: CommandTerrassementDropOff.h:43
ConscienceVisionDetectorRepository.h
conscience_core::bridging::commands::CommandTerrassementDropOff
Definition: CommandTerrassementDropOff.h:35
CscSequence.h
conscience_core::bridging::commands
Definition: cartographyCommands.cpp:4
conscience_utils::Cartography
Definition: CscCartography.cpp:24
conscience_core::bridging::commands::CscCommand
Definition: Command.h:40
COMMAND_REGISTER
#define COMMAND_REGISTER(COMMAND_REGISTER_className,...)
Definition: CscCommandAutoParse.h:477
CscCartography.h
environmentEntitiesCommands.h
conscience_core::axiomes::CscPoint3d::getZ
double getZ() const
Definition: Csc3dTypes.cpp:59
CscState.h
CscEnvironmentSimulator
Definition: CscEnvironmentSimulator.h:31
conscience_utils::logging::CscLogger
Definition: conscience_log.h:121
conscience_core::axiomes::CscPoint3d::getX
double getX() const
Definition: Csc3dTypes.cpp:51
conscience_core::bridging::commands::CommandTerrassementDropOff::logger
std::unique_ptr< CscLogger > logger
Definition: CommandTerrassementDropOff.h:42
ptr
std::shared_ptr< T > ptr
Definition: CscCommon.h:29