1#ifndef __ACTIONMANAGER_H__
2#define __ACTIONMANAGER_H__
62 void AddAction(
const std::string actionID,
const std::vector<std::string> priorityLevelsID);
68 bool SetAction(
const std::string newAction,
bool transition);
120 const std::chrono::system_clock::time_point
Time();
127 const std::shared_ptr<Action>&
GetAction(
const std::string& ActionID)
noexcept(
false);
133 return os <<
"\033[1;37m"
134 <<
"ActionManager \n"
135 << std::setprecision(4) <<
"Current Action "
138 <<
"\033[0m" << *actionManager.
oldAction_ <<
"\033[1;37m" << std::endl;
148 std::chrono::system_clock::time_point
time_;
Definition ActionManager.h:20
void AddPriorityLevel(const std::string priorityLevelID)
std::chrono::system_clock::time_point simulationTime_
Definition ActionManager.h:151
bool SetAction(const std::string newAction, bool transition)
std::chrono::system_clock::time_point time_
Definition ActionManager.h:148
auto GetPriorityLevel(const std::string priorityLevelID) const -> const std::shared_ptr< PriorityLevel > &
Definition ActionManager.h:92
void SetUnifiedHierarchy(std::vector< std::string > unifiedHierarchy)
std::vector< std::shared_ptr< Action > > actions_
Definition ActionManager.h:144
auto Time(long simulationTime) -> void
Definition ActionManager.h:114
const Hierarchy & GetHierarchy() const noexcept(false)
std::chrono::system_clock::time_point simulationBegin_
Definition ActionManager.h:152
std::shared_ptr< Action > currentAction_
Definition ActionManager.h:146
std::unordered_map< std::string, bool > taskInCurrentActionMap_
Definition ActionManager.h:143
bool transitionInBetweenActions_
Definition ActionManager.h:153
void AddAction(const std::string actionID, const std::vector< std::string > priorityLevelsID)
auto GetTransitionDuration() const -> double
Definition ActionManager.h:109
std::unordered_map< std::string, std::shared_ptr< tpik::PriorityLevel > > priorityLevelIDMap_
Definition ActionManager.h:142
~ActionManager()
Definition ActionManager.h:31
const std::shared_ptr< Action > & GetAction(const std::string &ActionID) noexcept(false)
void ComputeActionTransitionActivation() noexcept(false)
friend std::ostream & operator<<(std::ostream &os, ActionManager const &actionManager)
Definition ActionManager.h:131
double transitionDurationMs_
Definition ActionManager.h:149
std::shared_ptr< Action > oldAction_
Definition ActionManager.h:147
const std::chrono::system_clock::time_point Time()
auto CurrentActionID() const -> const std::string &
Definition ActionManager.h:73
Hierarchy hierarchy_
Definition ActionManager.h:145
bool IsTaskInCurrentAction(const std::string &task_id)
void AddPriorityLevelWithRegularization(const std::string priorityLevelID, const rml::RegularizationData regularizationData)
void AddTaskToPriorityLevel(const std::shared_ptr< Task > task, const std::string priorityLevelID)
auto IsSimulation(bool isSimulated) -> void
Definition ActionManager.h:97
void SetTransitionDuration(double duration)
Definition ActionManager.h:105
bool isSimulated_
Definition ActionManager.h:150
Definition PriorityLevel.h:19
std::vector< std::shared_ptr< tpik::PriorityLevel > > Hierarchy
Definition Action.h:13