Conscience Core
ArtificialIntelligence
MultiEntity
EntityGroupProcesses.h
Go to the documentation of this file.
1
//
2
// EntityGroupProcesses.hpp
3
// ConscienceRobotManager
4
//
5
// Created by Max Lhermitte on 15/02/2023.
6
// Copyright © 2023 IliesZaoui. All rights reserved.
7
//
8
9
#ifndef EntityGroupProcesses_hpp
10
#define EntityGroupProcesses_hpp
11
12
#include <thread>
13
14
#include "
ArtificialIntelligence/CscEntityReflexion.h
"
15
#include "
CscMoveForwardInGroup.h
"
16
#include "
CscMoveForwardInGroupTargetEntity.h
"
17
#include "
Simulator/CscEnvironmentSimulator.h
"
18
using
conscience_utils::logging::CscLogger
;
19
20
namespace
conscience_core::ai::multi_entity
{
21
class
CSC_DLL_IMPORTEXPORT
EntityGroupProcesses
{
22
private
:
23
static
EntityGroupProcesses
*
instance
;
24
vector<CscMoveForwardInGroup *> *moveForwardInGroupList;
25
CscEnvironmentSimulator
*environmentSimulator =
nullptr
;
26
EntityGroupProcesses
();
27
bool
threadLaunched =
false
;
32
void
addElementEntityGroupProcessesOrSlaveInElement(
ptr<CscMoveForwardInGroupTarget>
master,
ptr<CscEntityReflexion>
slave,
const
CscMoveForwardInGroup::FollowParameters
*params);
33
void
startThreadIfNotStartedYet();
34
35
public
:
36
static
EntityGroupProcesses
*getInstance();
43
void
followEntity(
ptr<CscEntityReflexion>
master,
ptr<CscEntityReflexion>
slave,
const
CscMoveForwardInGroup::FollowParameters
*params);
44
void
followObject(
const
string
&objectId,
ptr<CscEntityReflexion>
slave,
const
CscMoveForwardInGroup::FollowParameters
*params);
45
50
void
stopFollowEntity(
ptr<CscEntityReflexion>
slave);
51
void
stopFollowObject(
ptr<CscEntityReflexion>
slave);
52
vector<CscMoveForwardInGroup *> *getMoveForwardInGroupList()
const
;
53
};
54
}
55
#endif
/* ListMoveForwardInGroup_hpp */
CscMoveForwardInGroupTargetEntity.h
CSC_DLL_IMPORTEXPORT
#define CSC_DLL_IMPORTEXPORT
Definition:
os.h:31
CscMoveForwardInGroup.h
conscience_core::ai::multi_entity::EntityGroupProcesses
Definition:
EntityGroupProcesses.h:21
CscEntityReflexion.h
conscience_core::ai::multi_entity
Definition:
CscMoveForwardInGroup.cpp:17
conscience_core::ai::multi_entity::CscMoveForwardInGroup::FollowParameters
Definition:
CscMoveForwardInGroup.h:34
conscience_server::entities::instance
ServerEntities * instance
Definition:
ServerEntities.cpp:39
CscEnvironmentSimulator.h
CscEnvironmentSimulator
Definition:
CscEnvironmentSimulator.h:35
conscience_utils::logging::CscLogger
Definition:
conscience_log.h:121
ptr
std::shared_ptr< T > ptr
Definition:
CscCommon.h:29
Generated by
1.8.17