Conscience Core
CommandTerrassementPickUp.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 ConscienceCommandTerrassementPickUp_h
8 #define ConscienceCommandTerrassementPickUp_h
9 
10 #include "./Command.h"
11 #include "Util/conscience_util.h"
13 #include "CoreObjects/CscMember.h"
14 
15 #include "Util/CscCartography.h"
16 #include "./CommandDivideTarget.h"
21 #include "./Command.h"
24 #include "CoreObjects/CscState.h"
25 
26 #include <string>
27 
28 using std::vector; using std::string;
29 
30 using namespace conscience_utils::Cartography;
32 
34 
35 
37 
38  public:
39  inline static const CommandTypeId COMMAND_ID = "TERRASSEMENT_PICK_UP";
40  CommandTerrassementPickUp(ptr<CscEntityReflexion> entityReflexion, double entityLat, double entityLon, float yaw, float targetPointX, float targetPointY, float targetPointZ);
41  protected:
42  const CscCommandExecutionResultSequence * doExecute(CscEnvironmentSimulator &environmentSimulator) override;
43  std::unique_ptr<CscLogger> logger;
45  return entityReflexion;
46  }
47  private:
48  ptr<CscEntityReflexion> entityReflexion;
49  double entityLat;
50  double entityLon;
51  float yaw;
52  float targetPointX;
53  float targetPointY;
54  float targetPointZ;
55 
56  float getAngleBetweenTwoPoint(CscPoint3d* basePoint, CscPoint3d* objectivePoint);
57  float calculateDeltaWithCap(CscPoint3d * firstPoint, CscPoint3d * secondPoint,float angle = 0.0);
58  CscPoint3d* convertReferentialToReality(float distance, float delta, float angleDirection);
59 
60  double l(double phi,double e);
61 
62  CscPoint3d getTargetPositionFinal (const CscMember &targetOriginRelativeMember, CscPoint3d &targetPoint, CscPoint3d &distanceFromTarget) {
63  float x = targetPoint.getX();
64  float y = targetPoint.getY();
65  float z = targetPoint.getZ();
66 
67  x-= distanceFromTarget.getX();
68  y-= distanceFromTarget.getY();
69  z-= distanceFromTarget.getZ();
70 
71  return CscPoint3d(x, y, z);
72  }
73  };
74 
75 COMMAND_REGISTER(CommandTerrassementPickUp, ptr<CscEntityReflexion>, double, double, float, float, float, float)
76 
77 }
78 
79 #endif
CscMember
Definition: CscMember.h:16
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
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::CommandTerrassementPickUp::getEntityReflexion
ptr< CscEntityReflexion > getEntityReflexion() const override
Definition: CommandTerrassementPickUp.h:44
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
CscSequence.h
conscience_core::bridging::commands
Definition: cartographyCommands.cpp:4
conscience_utils::Cartography
Definition: CscCartography.cpp:24
conscience_core::bridging::commands::CommandTerrassementPickUp::logger
std::unique_ptr< CscLogger > logger
Definition: CommandTerrassementPickUp.h:43
conscience_core::bridging::commands::CscCommand
Definition: Command.h:40
COMMAND_REGISTER
#define COMMAND_REGISTER(COMMAND_REGISTER_className,...)
Definition: CscCommandAutoParse.h:467
CscCartography.h
CommandPlayStateOutputs.h
environmentEntitiesCommands.h
conscience_core::axiomes::CscPoint3d::getZ
double getZ() const
Definition: Csc3dTypes.cpp:59
CscState.h
CscEnvironmentSimulator
Definition: CscEnvironmentSimulator.h:35
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::CommandTerrassementPickUp
Definition: CommandTerrassementPickUp.h:36
ptr
std::shared_ptr< T > ptr
Definition: CscCommon.h:29
CommandDivideTarget.h