Conscience Core
CscKnowledgeItemTargetArmToPosition.h
Go to the documentation of this file.
1 //
2 // CscKnowledgeItemTargetArmToPosition.h
3 // ConscienceRobotManager
4 //
5 // Created by Max Lhermitte on 16/11/2022.
6 // Copyright © 2022 IliesZaoui. All rights reserved.
7 //
8 
9 #ifndef CscKnowledgeItemTargetArmToPosition_h
10 #define CscKnowledgeItemTargetArmToPosition_h
11 
12 #include "../ArtificialIntelligence/CscJacobianInverseKinematic.h"
14 
16 
18  public:
19  // constructor
20  CscKnowledgeItemTargetArmToPosition(int knoItemIdIn, string knoItemNameIn, CscUnitType unitTypeIn, CscArtificialIntelligenceTypes aiTypes, CscEnvironmentSimulator *globalEnv, float maxHorizontalDistance, float maxVerticalDistance, float maxDepthDistance, CscPoint3d* offsetCenter, const CscEntityModel *entityModel, CscState* currentState, vector<CscJacobianInverseKinematic::TargetIKParams*> targets, map<int, CscPoint3d*> &centerOfMassOfAllMemberByMemberId, vector<int> pivotsIdToIgnoreForMovement, bool debugWithBox, bool constraintOnDistance);
21 
22  // destructor
24 
25  // methods to override
26  bool isStatesSupportOf(CscState *state1, CscState *state2) override;
27  bool isObjectiveSupportOf(CscKnowledgeItem *knowledgeItem) override;
28  CscPerson *generatePerson(CscEnvironmentSimulator *environment, const CscWorldEntity *entity, CscState *initialState, int personId, int generationId, CscGeneration *currentGeneration, CscGeneration *previousGeneration) override;
29 
30  // methode create
31  static CscKnowledgeItemTargetArmToPosition *create(int knoItemIdIn, string knoItemNameIn, CscUnitType unitTypeIn, CscArtificialIntelligenceTypes aiTypes, CscEnvironmentSimulator *globalEnv, float maxHorizontalDistance, float maxVerticalDistance, float maxDepthDistance, CscPoint3d* offsetCenter, const CscEntityModel* entityModel, CscState* currentState, vector<CscJacobianInverseKinematic::TargetIKParams*> targets, map<int, CscPoint3d*> centerOfMassOfAllMemberByMemberId, vector<int> pivotsIdToIgnoreForMovement, bool debugWithBox = false, bool constraintOnDistance = false) {
32  return new CscKnowledgeItemTargetArmToPosition(knoItemIdIn, knoItemNameIn, unitTypeIn, aiTypes, globalEnv, maxHorizontalDistance, maxVerticalDistance, maxDepthDistance, offsetCenter, entityModel, currentState, targets, centerOfMassOfAllMemberByMemberId, pivotsIdToIgnoreForMovement, debugWithBox, constraintOnDistance);
33  }
34 
35  CscState *generateSolution(const CscEntityModel *model, CscState *initialState);
36 
37  void updateSimulator(const CscWorldElementId &entityId, CscState *stateToApply);
38 
39  CscJacobianInverseKinematic *getCalculator();
40 
41  private:
42  CscEnvironmentSimulator *globalEnv;
43  CscJacobianInverseKinematic *calculator;
44  const CscEntityModel* entityModel;
45  vector<int> pivotsIdToIgnoreForMovement;
46  };
47 }
48 #endif
CscWorldEntity
Definition: CscWorldEntity.h:19
conscience_core::knowledge::CscKnowledgeItemTarget
Definition: CscKnowledgeItemTarget.h:22
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
CscUnitType
CscUnitType
Definition: CscUnitType.h:14
conscience_core::knowledge::CscKnowledgeItemTargetArmToPosition
Definition: CscKnowledgeItemTargetArmToPosition.h:17
CscEntityModel
Definition: CscEntityModel.h:54
conscience_core::knowledge::CscKnowledgeItemTargetArmToPosition::create
static CscKnowledgeItemTargetArmToPosition * create(int knoItemIdIn, string knoItemNameIn, CscUnitType unitTypeIn, CscArtificialIntelligenceTypes aiTypes, CscEnvironmentSimulator *globalEnv, float maxHorizontalDistance, float maxVerticalDistance, float maxDepthDistance, CscPoint3d *offsetCenter, const CscEntityModel *entityModel, CscState *currentState, vector< CscJacobianInverseKinematic::TargetIKParams * > targets, map< int, CscPoint3d * > centerOfMassOfAllMemberByMemberId, vector< int > pivotsIdToIgnoreForMovement, bool debugWithBox=false, bool constraintOnDistance=false)
Definition: CscKnowledgeItemTargetArmToPosition.h:31
conscience_core::knowledge::CscArtificialIntelligenceTypes
uint64_t CscArtificialIntelligenceTypes
Definition: CommandParser.h:21
conscience_core::knowledge
Definition: CscEntityReflexion.h:35
CscPerson
Definition: CscPerson.h:19
CscKnowledgeItemTarget.h
CscState
Definition: CscState.h:24
CscWorldElementId
string CscWorldElementId
Definition: Command.h:15
CscGeneration
Definition: CscGeneration.h:20
CscJacobianInverseKinematic
Definition: CscJacobianInverseKinematic.h:39
CscEnvironmentSimulator
Definition: CscEnvironmentSimulator.h:35
conscience_core::knowledge::CscKnowledgeItem
Definition: CscKnowledgeItem.h:43