Conscience Core
CommandMemberToState.h
Go to the documentation of this file.
1 #ifndef ConscienceEnvironmentInteractionCommandMemberToState_h
2 #define ConscienceEnvironmentInteractionCommandMemberToState_h
3 
4 #include "./Command.h"
5 #include "Unit/CscUnitOrigin.h"
6 #include "Unit/CscUnitType.h"
7 
9 #include <array>
10 using std::array;
11 using namespace conscience_core::knowledge;
12 
14 
16 
17 public:
18  inline static const CommandTypeId COMMAND_ID = "MEMBER_TO_STATE";
19 
21  ptr<CscEntityReflexion> entityReflexion,
22  int knowledgeId,
23  const CscState *currentState,
24  vector<string> targetMemberNames,
25  vector<string> relativeToMemberNames,
26  vector<float> targetPositionX,
27  vector<float> targetPositionY,
28  vector<float> targetPositionZ,
29  vector<float> targetPositionXPonderation,
30  vector<float> targetPositionYPonderation,
31  vector<float> targetPositionZPonderation,
32  vector<float> targetEulerX,
33  vector<float> targetEulerY,
34  vector<float> targetEulerZ,
35  vector<float> targetEulerXPonderation,
36  vector<float> targetEulerYPonderation,
37  vector<float> targetEulerZPonderation,
38  vector<float> targetAccX,
39  vector<float> targetAccY,
40  vector<float> targetAccZ,
41  vector<float> targetAccXPonderation,
42  vector<float> targetAccYPonderation,
43  vector<float> targetAccZPonderation,
44  vector<string> outputsCanMoveNames,
45  vector<float> outputsCanMovePonderations,
46  CscUnitType unitType,
47  string targetOriginMember,
48  bool symetrySearch,
49  int nbStateMax,
50  int deltaPerStateMax,
51  bool optionCutLastestIfTheSameAndWorst,
52  bool optionCutBeginingIfTheSame,
53  bool optionDeltaPerStateMaxDegressive,
54  float percentAvg,
55  float percentMax,
56  float percentExtrapolation,
57  int stateDuration,
58  int stateDelay,
59  float solvedAt,
60  float processedAt,
61  array<bool, 4> outputTypes,
63 
65  delete currentState;
66  }
67 
68  int getKnowledgeId();
69  const CscState *getCurrentState();
70  vector<string> getTargetMemberNames();
71  vector<string> getRelativeToMemberNames();
72  vector<float> getTargetPositionX();
73  vector<float> getTargetPositionY();
74  vector<float> getTargetPositionZ();
75 
76  vector<float> getTargetPositionXPonderation();
77  vector<float> getTargetPositionYPonderation();
78  vector<float> getTargetPositionZPonderation();
79 
80  vector<float> getTargetEulerX();
81  vector<float> getTargetEulerY();
82  vector<float> getTargetEulerZ();
83 
84  vector<float> getTargetEulerXPonderation();
85  vector<float> getTargetEulerYPonderation();
86  vector<float> getTargetEulerZPonderation();
87  vector<float> getTargetAccX();
88  vector<float> getTargetAccY();
89  vector<float> getTargetAccZ();
90  vector<float> getTargetAccXPonderation();
91  vector<float> getTargetAccYPonderation();
92  vector<float> getTargetAccZPonderation();
93 
94  const string attributeVectorToString(vector<float> attributeVector);
95 
96  CscUnitType getUnitType();
97  string getTargetOriginMember();
98 
99  bool getSymetrySearch();
100  int getNbStateMax();
101  int getDeltaPerStateMax();
102  bool getOptionCutLastestIfTheSameAndWorst();
103  bool getOptionCutBeginingIfTheSame();
104  float getPercentAvg();
105  float getPercentMax();
106  float getPercentExtrapolation();
107  float getSolvedAt();
108 
109 protected:
110  const CscCommandExecutionResultSequence *doExecute(
111  CscEnvironmentSimulator &environmentSimulator) override;
113  return entityReflexion;
114  }
115 
116 private:
117  ptr<CscEntityReflexion> entityReflexion;
118 
119  const int knowledgeId;
120  const CscState * currentState;
121  vector<string> targetMemberNames;
122  vector<string> relativeToMemberNames;
123  vector<float> targetPositionX;
124  vector<float> targetPositionY;
125  vector<float> targetPositionZ;
126  vector<float> targetPositionXPonderation;
127  vector<float> targetPositionYPonderation;
128  vector<float> targetPositionZPonderation;
129  vector<float> targetEulerX;
130  vector<float> targetEulerY;
131  vector<float> targetEulerZ;
132  vector<float> targetEulerXPonderation;
133  vector<float> targetEulerYPonderation;
134  vector<float> targetEulerZPonderation;
135  vector<float> targetAccX;
136  vector<float> targetAccY;
137  vector<float> targetAccZ;
138  vector<float> targetAccXPonderation;
139  vector<float> targetAccYPonderation;
140  vector<float> targetAccZPonderation;
141 
142  vector<string> outputsCanMoveNames;
143  vector<float> outputsCanMovePonderations;
144 
145  const CscUnitType unitType;
146  const string targetOriginMember;
147 
148  const bool symetrySearch;
149  const int nbStateMax;
150  const int deltaPerStateMax;
151  const bool optionCutLastestIfTheSameAndWorst;
152  const bool optionCutBeginingIfTheSame;
153  const bool optionDeltaPerStateMaxDegressive;
154  const float percentAvg;
155  const float percentMax;
156  const float percentExtrapolation;
157  const int stateDuration;
158  const int stateDelay;
159  const float solvedAt;
160  const float processedAt;
161 
162  bool outputTypes[4];
163 
165 };
166 
167 COMMAND_TYPE_BUILDER(CommandMemberToState, CscState, map<int, float> *, map<int, float> *, map<int, float> *, const optional<map<int, float>> &, const vector<const CscMemberInputStatus *> *)
168 COMMAND_REGISTER(CommandMemberToState, ptr<CscEntityReflexion>, int,
169  const CscState *,
170  vector<string>,
171  vector<string>,
172  vector<float>,
173  vector<float>,
174  vector<float>,
175  vector<float>,
176  vector<float>,
177  vector<float>,
178  vector<float>,
179  vector<float>,
180  vector<float>,
181  vector<float>,
182  vector<float>,
183  vector<float>,
184  vector<float>,
185  vector<float>,
186  vector<float>,
187  vector<float>,
188  vector<float>,
189  vector<float>,
190  vector<string>,
191  vector<float>,
192  CscUnitType,
193  string,
194  bool,
195  int,
196  int,
197  bool,
198  bool,
199  bool,
200  float,
201  float,
202  float,
203  int,
204  int,
205  float,
206  float,
207  array<bool, 4>,
209 
210 }
211 
212 #endif
CSC_DLL_IMPORTEXPORT
#define CSC_DLL_IMPORTEXPORT
Definition: os.h:31
CscUnitType.h
CscUnitType
CscUnitType
Definition: CscUnitType.h:14
conscience_core::bridging::commands::CommandMemberToState::~CommandMemberToState
~CommandMemberToState()
Definition: CommandMemberToState.h:64
Command.h
conscience_core::bridging::commands::result::CscCommandExecutionResultSequence
Definition: CommandExecutionResultSequence.h:15
conscience_core::bridging::commands::CommandTypeId
string CommandTypeId
Definition: Command.h:29
conscience_core::knowledge::CscArtificialIntelligenceTypes
uint64_t CscArtificialIntelligenceTypes
Definition: CommandParser.h:21
conscience_core::knowledge
Definition: CscEntityReflexion.h:35
CscUnitOrigin.h
conscience_core::bridging::commands
Definition: cartographyCommands.cpp:4
conscience_core::bridging::commands::CommandMemberToState
Definition: CommandMemberToState.h:15
CscState
Definition: CscState.h:24
conscience_core::bridging::commands::CscCommand
Definition: Command.h:40
COMMAND_REGISTER
#define COMMAND_REGISTER(COMMAND_REGISTER_className,...)
Definition: CscCommandAutoParse.h:467
conscience_core::bridging::commands::CommandMemberToState::getEntityReflexion
ptr< CscEntityReflexion > getEntityReflexion() const override
Definition: CommandMemberToState.h:112
COMMAND_TYPE_BUILDER
#define COMMAND_TYPE_BUILDER(PREFIX, COMMAND_REGISTER_className,...)
Definition: CscCommandAutoParse.h:505
CscEnvironmentSimulator
Definition: CscEnvironmentSimulator.h:35
CscCommandAutoParse.h
ptr
std::shared_ptr< T > ptr
Definition: CscCommon.h:29