TPIK  1.0
Task Priority Inverse Kinematics
Loading...
Searching...
No Matches
tpik::ActionManager Class Reference

#include <ActionManager.h>

Public Member Functions

 ActionManager ()
 
 ~ActionManager ()
 
void AddPriorityLevel (const std::string priorityLevelID)
 
void AddPriorityLevelWithRegularization (const std::string priorityLevelID, const rml::RegularizationData regularizationData)
 
void AddTaskToPriorityLevel (const std::shared_ptr< Task > task, const std::string priorityLevelID)
 
void SetUnifiedHierarchy (std::vector< std::string > unifiedHierarchy)
 
void AddAction (const std::string actionID, const std::vector< std::string > priorityLevelsID)
 
bool SetAction (const std::string newAction, bool transition)
 
auto CurrentActionID () const -> const std::string &
 
void ComputeActionTransitionActivation () noexcept(false)
 
const HierarchyGetHierarchy () const noexcept(false)
 
auto GetPriorityLevel (const std::string priorityLevelID) const -> const std::shared_ptr< PriorityLevel > &
 
auto IsSimulation (bool isSimulated) -> void
 
bool IsTaskInCurrentAction (const std::string &task_id)
 
void SetTransitionDuration (double duration)
 
auto GetTransitionDuration () const -> double
 
auto Time (long simulationTime) -> void
 
const std::chrono::system_clock::time_point Time ()
 
const std::shared_ptr< Action > & GetAction (const std::string &ActionID) noexcept(false)
 

Protected Attributes

std::unordered_map< std::string, std::shared_ptr< tpik::PriorityLevel > > priorityLevelIDMap_
 
std::unordered_map< std::string, bool > taskInCurrentActionMap_
 
std::vector< std::shared_ptr< Action > > actions_
 
Hierarchy hierarchy_
 
std::shared_ptr< ActioncurrentAction_
 
std::shared_ptr< ActionoldAction_
 
std::chrono::system_clock::time_point time_
 
double transitionDurationMs_
 
bool isSimulated_
 
std::chrono::system_clock::time_point simulationTime_
 
std::chrono::system_clock::time_point simulationBegin_
 
bool transitionInBetweenActions_
 

Friends

std::ostream & operator<< (std::ostream &os, ActionManager const &actionManager)
 

Constructor & Destructor Documentation

◆ ActionManager()

tpik::ActionManager::ActionManager ( )

◆ ~ActionManager()

tpik::ActionManager::~ActionManager ( )
inline

Member Function Documentation

◆ AddAction()

void tpik::ActionManager::AddAction ( const std::string  actionID,
const std::vector< std::string >  priorityLevelsID 
)

◆ AddPriorityLevel()

void tpik::ActionManager::AddPriorityLevel ( const std::string  priorityLevelID)

◆ AddPriorityLevelWithRegularization()

void tpik::ActionManager::AddPriorityLevelWithRegularization ( const std::string  priorityLevelID,
const rml::RegularizationData  regularizationData 
)

◆ AddTaskToPriorityLevel()

void tpik::ActionManager::AddTaskToPriorityLevel ( const std::shared_ptr< Task task,
const std::string  priorityLevelID 
)

◆ ComputeActionTransitionActivation()

void tpik::ActionManager::ComputeActionTransitionActivation ( )

◆ CurrentActionID()

auto tpik::ActionManager::CurrentActionID ( ) const -> const std::string&
inline

◆ GetAction()

const std::shared_ptr< Action > & tpik::ActionManager::GetAction ( const std::string &  ActionID)

◆ GetHierarchy()

const Hierarchy & tpik::ActionManager::GetHierarchy ( ) const

◆ GetPriorityLevel()

auto tpik::ActionManager::GetPriorityLevel ( const std::string  priorityLevelID) const -> const std::shared_ptr<PriorityLevel>&
inline

◆ GetTransitionDuration()

auto tpik::ActionManager::GetTransitionDuration ( ) const -> double
inline

◆ IsSimulation()

auto tpik::ActionManager::IsSimulation ( bool  isSimulated) -> void
inline

◆ IsTaskInCurrentAction()

bool tpik::ActionManager::IsTaskInCurrentAction ( const std::string &  task_id)

◆ SetAction()

bool tpik::ActionManager::SetAction ( const std::string  newAction,
bool  transition 
)

◆ SetTransitionDuration()

void tpik::ActionManager::SetTransitionDuration ( double  duration)
inline

◆ SetUnifiedHierarchy()

void tpik::ActionManager::SetUnifiedHierarchy ( std::vector< std::string >  unifiedHierarchy)

◆ Time() [1/2]

const std::chrono::system_clock::time_point tpik::ActionManager::Time ( )

◆ Time() [2/2]

auto tpik::ActionManager::Time ( long  simulationTime) -> void
inline

Friends And Related Symbol Documentation

◆ operator<<

std::ostream & operator<< ( std::ostream &  os,
ActionManager const &  actionManager 
)
friend

Member Data Documentation

◆ actions_

std::vector<std::shared_ptr<Action> > tpik::ActionManager::actions_
protected

◆ currentAction_

std::shared_ptr<Action> tpik::ActionManager::currentAction_
protected

◆ hierarchy_

Hierarchy tpik::ActionManager::hierarchy_
protected

◆ isSimulated_

bool tpik::ActionManager::isSimulated_
protected

◆ oldAction_

std::shared_ptr<Action> tpik::ActionManager::oldAction_
protected

◆ priorityLevelIDMap_

std::unordered_map<std::string, std::shared_ptr<tpik::PriorityLevel> > tpik::ActionManager::priorityLevelIDMap_
protected

◆ simulationBegin_

std::chrono::system_clock::time_point tpik::ActionManager::simulationBegin_
protected

◆ simulationTime_

std::chrono::system_clock::time_point tpik::ActionManager::simulationTime_
protected

◆ taskInCurrentActionMap_

std::unordered_map<std::string, bool> tpik::ActionManager::taskInCurrentActionMap_
protected

◆ time_

std::chrono::system_clock::time_point tpik::ActionManager::time_
protected

◆ transitionDurationMs_

double tpik::ActionManager::transitionDurationMs_
protected

◆ transitionInBetweenActions_

bool tpik::ActionManager::transitionInBetweenActions_
protected

The documentation for this class was generated from the following file: