ASCO Aerial Autonomy
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Member Functions | List of all members
EventAgnosticGuardFunctor< RobotSystemT, LogicStateMachineT > Struct Template Referenceabstract

Guard functor that does not require the event triggering it. More...

#include <base_functors.h>

Public Member Functions

virtual bool guard (RobotSystemT &robot_system)=0
 Override this run function for different sub classes. This function performs the logic checking for each state. More...
 
template<class EventT , class FSM , class SourceState , class TargetState >
bool operator() (EventT const &, FSM &logic_state_machine, SourceState &, TargetState &)
 operator () Internally calls run function More...
 
virtual ~EventAgnosticGuardFunctor ()
 virtual destructor to get polymorphism More...
 

Detailed Description

template<class RobotSystemT, class LogicStateMachineT>
struct EventAgnosticGuardFunctor< RobotSystemT, LogicStateMachineT >

Guard functor that does not require the event triggering it.

This action functor performs the same guard check irrespective of the event triggering it.

Template Parameters
RobotSystemTThe robot system used in the guard

Constructor & Destructor Documentation

template<class RobotSystemT, class LogicStateMachineT>
virtual EventAgnosticGuardFunctor< RobotSystemT, LogicStateMachineT >::~EventAgnosticGuardFunctor ( )
inlinevirtual

virtual destructor to get polymorphism

Member Function Documentation

template<class RobotSystemT, class LogicStateMachineT>
virtual bool EventAgnosticGuardFunctor< RobotSystemT, LogicStateMachineT >::guard ( RobotSystemT &  robot_system)
pure virtual

Override this run function for different sub classes. This function performs the logic checking for each state.

Parameters
robot_systemProvides sensor data and allows for controlling hardware

Implemented in VisualServoingTransitionGuardFunctor_< LogicStateMachineT >, ArmEnabledGuardFunctor_< LogicStateMachineT >, PickTransitionGuardFunctor_< LogicStateMachineT >, GoHomeTransitionGuardFunctor_< LogicStateMachineT >, TakeoffTransitionGuardFunctor_< LogicStateMachineT >, ManualControlSwitchGuard_< LogicStateMachineT >, and PickGuard_< LogicStateMachineT >.

template<class RobotSystemT, class LogicStateMachineT>
template<class EventT , class FSM , class SourceState , class TargetState >
bool EventAgnosticGuardFunctor< RobotSystemT, LogicStateMachineT >::operator() ( EventT const &  ,
FSM &  logic_state_machine,
SourceState &  ,
TargetState &   
)
inline

operator () Internally calls run function

Parameters
logic_state_machineBackend of logic State Machine. can send events using this.

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