SMACC2
Loading...
Searching...
No Matches
Public Member Functions | Protected Member Functions | Private Member Functions | Private Attributes | Friends | List of all members
smacc2::ISmaccClientBehavior Class Reference

#include <smacc_client_behavior_base.hpp>

Inheritance diagram for smacc2::ISmaccClientBehavior:
Inheritance graph
Collaboration diagram for smacc2::ISmaccClientBehavior:
Collaboration graph

Public Member Functions

 ISmaccClientBehavior ()
 
virtual ~ISmaccClientBehavior ()
 
ISmaccStateMachinegetStateMachine ()
 
std::string getName () const
 
template<typename SmaccClientType >
void requiresClient (SmaccClientType *&storage)
 
template<typename SmaccComponentType >
void requiresComponent (SmaccComponentType *&storage, bool throwExceptionIfNotExist=false)
 
virtual void onEntry ()
 
virtual void onExit ()
 
virtual void executeOnEntry ()
 
virtual void executeOnExit ()
 

Protected Member Functions

virtual void runtimeConfigure ()
 
template<typename EventType >
void postEvent (const EventType &ev)
 
template<typename EventType >
void postEvent ()
 
ISmaccStategetCurrentState ()
 
virtual void dispose ()
 
virtual rclcpp::Node::SharedPtr getNode () const
 
virtual rclcpp::Logger getLogger () const
 

Private Member Functions

template<typename TOrthogonal , typename TSourceObject >
void onOrthogonalAllocation ()
 

Private Attributes

ISmaccStateMachinestateMachine_
 
ISmaccStatecurrentState
 
smacc2::ISmaccOrthogonalcurrentOrthogonal
 

Friends

class ISmaccState
 
class ISmaccOrthogonal
 
class ISmaccAsynchronousClientBehavior
 

Detailed Description

Definition at line 29 of file smacc_client_behavior_base.hpp.

Constructor & Destructor Documentation

◆ ISmaccClientBehavior()

smacc2::ISmaccClientBehavior::ISmaccClientBehavior ( )

Definition at line 25 of file smacc_client_behavior_base.cpp.

26{
27 stateMachine_ = nullptr;
28 currentState = nullptr;
29}

References currentState, and stateMachine_.

◆ ~ISmaccClientBehavior()

smacc2::ISmaccClientBehavior::~ISmaccClientBehavior ( )
virtual

Definition at line 31 of file smacc_client_behavior_base.cpp.

32{
33 RCLCPP_WARN_STREAM(getLogger(), "[" << getName() << "Client behavior deallocated.");
34}
virtual rclcpp::Logger getLogger() const

References getLogger(), and getName().

Here is the call graph for this function:

Member Function Documentation

◆ dispose()

void smacc2::ISmaccClientBehavior::dispose ( )
protectedvirtual

Reimplemented in smacc2::SmaccAsyncClientBehavior.

Definition at line 77 of file smacc_client_behavior_base.cpp.

77{}

◆ executeOnEntry()

void smacc2::ISmaccClientBehavior::executeOnEntry ( )
virtual

Reimplemented in smacc2::SmaccAsyncClientBehavior.

Definition at line 63 of file smacc_client_behavior_base.cpp.

64{
65 RCLCPP_DEBUG(
66 getLogger(), "[%s] Default empty SmaccClientBehavior onEntry", this->getName().c_str());
67 this->onEntry();
68}

References getLogger(), getName(), and onEntry().

Here is the call graph for this function:

◆ executeOnExit()

void smacc2::ISmaccClientBehavior::executeOnExit ( )
virtual

Reimplemented in smacc2::SmaccAsyncClientBehavior.

Definition at line 70 of file smacc_client_behavior_base.cpp.

71{
72 RCLCPP_DEBUG(
73 getLogger(), "[%s] Default empty SmaccClientBehavior onExit", this->getName().c_str());
74 this->onExit();
75}

References getLogger(), getName(), and onExit().

Here is the call graph for this function:

◆ getCurrentState()

ISmaccState * smacc2::ISmaccClientBehavior::getCurrentState ( )
inlineprotected

◆ getLogger()

rclcpp::Logger smacc2::ISmaccClientBehavior::getLogger ( ) const
protectedvirtual

Definition at line 43 of file smacc_client_behavior_base.cpp.

44{
45 auto nh = this->getNode();
46 if (nh != nullptr)
47 {
48 return nh->get_logger();
49 }
50 else
51 {
52 return rclcpp::get_logger("SMACC");
53 }
54}
virtual rclcpp::Node::SharedPtr getNode() const

References getNode().

Referenced by cl_nav2z::CbNavigateBackwards::CbNavigateBackwards(), cl_moveit2z::CbCircularPivotMotion::computeCurrentEndEffectorPoseRelativeToPivot(), cl_moveit2z::CbMoveEndEffectorTrajectory::computeJointSpaceTrajectory(), smacc2::SmaccAsyncClientBehavior::dispose(), cl_nav2z::CbNavigateGlobalPosition::execute(), cl_moveit2z::CbMoveEndEffectorTrajectory::executeJointSpaceTrajectory(), executeOnEntry(), smacc2::SmaccAsyncClientBehavior::executeOnEntry(), executeOnExit(), smacc2::SmaccAsyncClientBehavior::executeOnExit(), cl_moveit2z::CbCircularPivotMotion::generateTrajectory(), cl_moveit2z::CbMoveCartesianRelative2::generateTrajectory(), cl_moveit2z::CbCircularPouringMotion::generateTrajectory(), cl_moveit2z::CbMoveEndEffectorTrajectory::initializeROS(), cl_nav2z::CbNav2ZClientBehaviorBase::isOwnActionResponse(), cl_moveit2z::CbMoveKnownState::loadJointStatesFromFile(), cl_moveit2z::CbMoveJoints::moveJoints(), cl_moveit2z::CbMoveEndEffectorRelative::moveRelative(), cl_moveit2z::CbMoveCartesianRelative::moveRelativeCartesian(), cl_moveit2z::CbMoveEndEffector::moveToAbsolutePose(), smacc2::client_behaviors::CbServiceCall< ServiceType >::onEntry(), smacc2::client_behaviors::CbRosLaunch::onEntry(), smacc2::client_behaviors::CbRosLaunch2::onEntry(), smacc2::client_behaviors::CbSequence::onEntry(), smacc2::client_behaviors::CbWaitActionServer::onEntry(), smacc2::client_behaviors::CbWaitNode::onEntry(), smacc2::client_behaviors::CbWaitTopic::onEntry(), smacc2::client_behaviors::CbWaitTopicMessage< TMessage >::onEntry(), smacc2::SmaccClientBehavior::onEntry(), cl_moveit2z::CbAttachObject::onEntry(), cl_moveit2z::CbDetachObject::onEntry(), cl_moveit2z::CbEndEffectorRotate::onEntry(), cl_moveit2z::CbMoveEndEffector::onEntry(), cl_moveit2z::CbMoveEndEffectorRelative::onEntry(), cl_moveit2z::CbMoveEndEffectorTrajectory::onEntry(), cl_moveit2z::CbMoveLastTrajectoryInitialState::onEntry(), cl_moveit2z::CbUndoLastTrajectory::onEntry(), cl_multirole_sensor::CbDefaultMultiRoleSensorBehavior< ClientType >::onEntry(), cl_nav2z::CbAbsoluteRotate::onEntry(), cl_nav2z::CbNavigateBackwards::onEntry(), cl_nav2z::CbNavigateForward::onEntry(), cl_nav2z::CbNavigateGlobalPosition::onEntry(), cl_nav2z::CbNavigateNextWaypoint::onEntry(), cl_nav2z::CbPauseSlam::onEntry(), cl_nav2z::CbResumeSlam::onEntry(), cl_nav2z::CbRotate::onEntry(), cl_nav2z::CbUndoPathBackwards::onEntry(), cl_nav2z::CbWaitNav2Nodes::onEntry(), cl_nav2z::CbWaitPose::onEntry(), cl_nav2z::CbWaitTransform::onEntry(), smacc2::SmaccClientBehavior::onExit(), cl_nav2z::CbNavigateGlobalPosition::onExit(), cl_nav2z::CbUndoPathBackwards::onExit(), cl_nav2z::CbWaitNav2Nodes::onMessageReceived(), smacc2::client_behaviors::CbWaitTopicMessage< TMessage >::onMessageReceived(), cl_nav2z::CbNav2ZClientBehaviorBase::onNavigationActionAbort(), cl_nav2z::CbNav2ZClientBehaviorBase::onNavigationActionSuccess(), cl_nav2z::CbNavigateNextWaypointUntilReached::onNavigationActionSuccess(), cl_nav2z::CbNav2ZClientBehaviorBase::onNavigationResult(), cl_lifecyclenode::CbConfigure::onOrthogonalAllocation(), cl_moveit2z::CbMoveEndEffectorTrajectory::onOrthogonalAllocation(), cl_multirole_sensor::CbDefaultMultiRoleSensorBehavior< ClientType >::onOrthogonalAllocation(), smacc2::client_behaviors::CbServiceCall< ServiceType >::onServiceResponse(), smacc2::client_behaviors::CbSequence::onSubNodeAbort(), smacc2::client_behaviors::CbSequence::onSubNodeSuccess(), postEvent(), postEvent(), cl_keyboard::CbDefaultKeyboardBehavior::postKeyEvent(), smacc2::client_behaviors::CbSequence::recursiveConsumeNext(), smacc2::SmaccAsyncClientBehavior::requestForceFinish(), requiresComponent(), runtimeConfigure(), cl_nav2z::CbNav2ZClientBehaviorBase::sendGoal(), cl_nav2z::CbNavigateForward::setForwardDistance(), smacc2::client_behaviors::CbSequence::then(), cl_nav2z::CbAbsoluteRotate::updateTemporalBehaviorParameters(), smacc2::SmaccAsyncClientBehavior::waitFutureIfNotFinished(), and ~ISmaccClientBehavior().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ getName()

std::string smacc2::ISmaccClientBehavior::getName ( ) const

Definition at line 36 of file smacc_client_behavior_base.cpp.

36{ return demangleSymbol(typeid(*this).name()); }
std::string demangleSymbol()

References smacc2::introspection::demangleSymbol().

Referenced by cl_moveit2z::CbCircularPivotMotion::computeCurrentEndEffectorPoseRelativeToPivot(), cl_moveit2z::CbMoveEndEffectorTrajectory::computeJointSpaceTrajectory(), smacc2::SmaccAsyncClientBehavior::dispose(), cl_moveit2z::CbMoveEndEffectorTrajectory::executeJointSpaceTrajectory(), executeOnEntry(), smacc2::SmaccAsyncClientBehavior::executeOnEntry(), executeOnExit(), smacc2::SmaccAsyncClientBehavior::executeOnExit(), cl_moveit2z::CbCircularPivotMotion::generateTrajectory(), cl_moveit2z::CbMoveCartesianRelative2::generateTrajectory(), cl_moveit2z::CbCircularPouringMotion::generateTrajectory(), cl_moveit2z::CbMoveEndEffectorTrajectory::initializeROS(), cl_nav2z::CbNav2ZClientBehaviorBase::isOwnActionResponse(), cl_moveit2z::CbMoveKnownState::loadJointStatesFromFile(), cl_moveit2z::CbMoveJoints::moveJoints(), smacc2::client_behaviors::CbServiceCall< ServiceType >::onEntry(), smacc2::client_behaviors::CbWaitNode::onEntry(), smacc2::client_behaviors::CbWaitTopic::onEntry(), smacc2::SmaccClientBehavior::onEntry(), cl_moveit2z::CbAttachObject::onEntry(), cl_moveit2z::CbDetachObject::onEntry(), cl_moveit2z::CbEndEffectorRotate::onEntry(), cl_moveit2z::CbMoveEndEffectorTrajectory::onEntry(), cl_moveit2z::CbMoveLastTrajectoryInitialState::onEntry(), cl_moveit2z::CbUndoLastTrajectory::onEntry(), cl_nav2z::CbAbsoluteRotate::onEntry(), cl_nav2z::CbNavigateForward::onEntry(), cl_nav2z::CbNavigateGlobalPosition::onEntry(), cl_nav2z::CbRotate::onEntry(), cl_nav2z::CbUndoPathBackwards::onEntry(), smacc2::SmaccClientBehavior::onExit(), cl_nav2z::CbUndoPathBackwards::onExit(), cl_nav2z::CbNav2ZClientBehaviorBase::onNavigationActionAbort(), cl_nav2z::CbNav2ZClientBehaviorBase::onNavigationActionSuccess(), cl_nav2z::CbNavigateNextWaypointUntilReached::onNavigationActionSuccess(), cl_nav2z::CbNav2ZClientBehaviorBase::onNavigationResult(), cl_moveit2z::CbMoveEndEffectorTrajectory::onOrthogonalAllocation(), smacc2::client_behaviors::CbServiceCall< ServiceType >::onServiceResponse(), smacc2::SmaccAsyncClientBehavior::requestForceFinish(), runtimeConfigure(), cl_nav2z::CbNav2ZClientBehaviorBase::sendGoal(), cl_nav2z::CbNavigateForward::setForwardDistance(), cl_nav2z::CbAbsoluteRotate::updateTemporalBehaviorParameters(), smacc2::SmaccAsyncClientBehavior::waitFutureIfNotFinished(), and ~ISmaccClientBehavior().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ getNode()

rclcpp::Node::SharedPtr smacc2::ISmaccClientBehavior::getNode ( ) const
protectedvirtual

Definition at line 38 of file smacc_client_behavior_base.cpp.

39{
40 return this->stateMachine_->getNode();
41}
rclcpp::Node::SharedPtr getNode()

References smacc2::ISmaccStateMachine::getNode(), and stateMachine_.

Referenced by cl_moveit2z::CbCircularPivotMotion::computeCurrentEndEffectorPoseRelativeToPivot(), cl_moveit2z::CbMoveEndEffectorTrajectory::createMarkers(), cl_moveit2z::CbCircularPivotMotion::createMarkers(), cl_moveit2z::CbCircularPouringMotion::createMarkers(), cl_moveit2z::CbMoveCartesianRelative2::generateTrajectory(), cl_moveit2z::CbCircularPouringMotion::generateTrajectory(), cl_moveit2z::CbMoveEndEffectorTrajectory::getCurrentEndEffectorPose(), getLogger(), cl_moveit2z::CbMoveEndEffectorTrajectory::initializeROS(), smacc2::client_behaviors::CbServiceCall< ServiceType >::onEntry(), smacc2::client_behaviors::CbSequence::onEntry(), smacc2::client_behaviors::CbSleepFor::onEntry(), smacc2::client_behaviors::CbWaitActionServer::onEntry(), smacc2::client_behaviors::CbWaitNode::onEntry(), smacc2::client_behaviors::CbWaitTopic::onEntry(), smacc2::client_behaviors::CbWaitTopicMessage< TMessage >::onEntry(), cl_moveit2z::CbAttachObject::onEntry(), cl_moveit2z::CbEndEffectorRotate::onEntry(), cl_moveit2z::CbMoveCartesianRelative::onEntry(), cl_moveit2z::CbMoveEndEffector::onEntry(), cl_moveit2z::CbMoveEndEffectorRelative::onEntry(), cl_moveit2z::CbMoveJoints::onEntry(), cl_nav2z::CbAbsoluteRotate::onEntry(), cl_nav2z::CbNavigateBackwards::onEntry(), cl_nav2z::CbNavigateForward::onEntry(), cl_nav2z::CbRotate::onEntry(), cl_nav2z::CbUndoPathBackwards::onEntry(), cl_nav2z::CbWaitNav2Nodes::onEntry(), cl_nav2z::CbWaitTransform::onEntry(), cl_moveit2z::CbMoveEndEffectorTrajectory::onExit(), smacc2::SmaccAsyncClientBehavior::requestForceFinish(), cl_nav2z::CbAbsoluteRotate::updateTemporalBehaviorParameters(), and smacc2::SmaccAsyncClientBehavior::waitFutureIfNotFinished().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ getStateMachine()

ISmaccStateMachine * smacc2::ISmaccClientBehavior::getStateMachine ( )
inline

◆ onEntry()

virtual void smacc2::ISmaccClientBehavior::onEntry ( )
inlinevirtual

Reimplemented in cl_keyboard::CbDefaultKeyboardBehavior, smacc2::client_behaviors::CbServiceCall< ServiceType >, smacc2::client_behaviors::CbServiceCall< slam_toolbox::srv::Pause >, smacc2::client_behaviors::CbRosLaunch, smacc2::client_behaviors::CbRosLaunch2, smacc2::client_behaviors::CbRosStop2, smacc2::client_behaviors::CbSequence, smacc2::CbServiceServerCallbackBase< TService >, smacc2::client_behaviors::CbSleepFor, smacc2::client_behaviors::CbSubscriptionCallbackBase< TMsg >, smacc2::client_behaviors::CbWaitActionServer, smacc2::client_behaviors::CbWaitNode, smacc2::client_behaviors::CbWaitTopic, smacc2::client_behaviors::CbWaitTopicMessage< TMessage >, smacc2::SmaccClientBehavior, cl_lifecyclenode::CbActivate, cl_lifecyclenode::CbCleanup, cl_lifecyclenode::CbConfigure, cl_lifecyclenode::CbDeactivate, cl_lifecyclenode::CbDestroy, cl_lifecyclenode::CbShutdown, cl_moveit2z::CbAttachObject, cl_moveit2z::CbDetachObject, cl_moveit2z::CbEndEffectorRotate, cl_moveit2z::CbExecuteLastTrajectory, cl_moveit2z::CbMoveCartesianRelative, cl_moveit2z::CbMoveEndEffector, cl_moveit2z::CbMoveEndEffectorRelative, cl_moveit2z::CbMoveEndEffectorTrajectory, cl_moveit2z::CbMoveJoints, cl_moveit2z::CbMoveKnownState, cl_moveit2z::CbMoveLastTrajectoryInitialState, cl_moveit2z::CbMoveNamedTarget, cl_moveit2z::CbUndoLastTrajectory, cl_multirole_sensor::CbDefaultMultiRoleSensorBehavior< ClientType >, cl_nav2z::CbAbortNavigation, cl_nav2z::CbAbsoluteRotate, cl_nav2z::CbNavigateBackwards, cl_nav2z::CbNavigateForward, cl_nav2z::CbNavigateGlobalPosition, cl_nav2z::CbNavigateNamedWaypoint, cl_nav2z::CbNavigateNextWaypoint, cl_nav2z::CbNavigateNextWaypointUntilReached, cl_nav2z::CbPauseSlam, cl_nav2z::CbResumeSlam, cl_nav2z::CbRotate, cl_nav2z::CbRotateLookAt, cl_nav2z::CbSeekWaypoint, cl_nav2z::CbStopNavigation, cl_nav2z::CbUndoPathBackwards, cl_nav2z::CbWaitNav2Nodes, cl_nav2z::CbWaitPose, cl_nav2z::CbWaitTransform, cl_ros_publisher::CbDefaultPublishLoop, cl_ros_publisher::CbMutedBehavior< RosMsgType >, cl_ros_publisher::CbPublishOnce< RosMsgType >, cl_ros_timer::CbTimer, cl_ros_timer::CbTimer, cl_ros_timer::CbTimerCountdownLoop, cl_ros_timer::CbTimerCountdownLoop, cl_ros_timer::CbTimerCountdownOnce, cl_ros_timer::CbTimerCountdownOnce, cl_ros_timer::CbTimer, cl_ros_timer::CbTimerCountdownLoop, and cl_ros_timer::CbTimerCountdownOnce.

Definition at line 46 of file smacc_client_behavior_base.hpp.

46{}

Referenced by executeOnEntry(), smacc2::SmaccAsyncClientBehavior::executeOnEntry(), and cl_moveit2z::CbEndEffectorRotate::onEntry().

Here is the caller graph for this function:

◆ onExit()

virtual void smacc2::ISmaccClientBehavior::onExit ( )
inlinevirtual

◆ onOrthogonalAllocation()

void smacc2::ISmaccClientBehavior::onOrthogonalAllocation ( )
private

Definition at line 90 of file smacc_client_behavior_impl.hpp.

91{
92}

◆ postEvent() [1/2]

template<typename EventType >
void smacc2::ISmaccClientBehavior::postEvent ( )
protected

Definition at line 45 of file smacc_client_behavior_impl.hpp.

46{
47 if (stateMachine_ == nullptr)
48 {
49 RCLCPP_ERROR(
50 getLogger(),
51 "The client behavior cannot post events before being assigned to an orthogonal. Ignoring "
52 "post event call.");
53 }
54 else
55 {
56 stateMachine_->template postEvent<EventType>(EventLifeTime::CURRENT_STATE);
57 }
58}

References smacc2::CURRENT_STATE, getLogger(), and stateMachine_.

Referenced by cl_moveit2z::CbMoveEndEffectorTrajectory::onOrthogonalAllocation(), and cl_keyboard::CbDefaultKeyboardBehavior::postKeyEvent().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ postEvent() [2/2]

template<typename EventType >
void smacc2::ISmaccClientBehavior::postEvent ( const EventType ev)
protected

Definition at line 29 of file smacc_client_behavior_impl.hpp.

30{
31 if (stateMachine_ == nullptr)
32 {
33 RCLCPP_ERROR(
34 getLogger(),
35 "The client behavior cannot post events before being assigned to an orthogonal. Ignoring "
36 "post event call.");
37 }
38 else
39 {
41 }
42}
void postEvent(EventType *ev, EventLifeTime evlifetime=EventLifeTime::ABSOLUTE)

References smacc2::CURRENT_STATE, getLogger(), smacc2::ISmaccStateMachine::postEvent(), and stateMachine_.

Here is the call graph for this function:

◆ requiresClient()

void smacc2::ISmaccClientBehavior::requiresClient ( SmaccClientType *&  storage)

Definition at line 67 of file smacc_client_behavior_impl.hpp.

68{
70}
smacc2::ISmaccOrthogonal * currentOrthogonal
bool requiresClient(SmaccClientType *&storage)

References currentOrthogonal, and smacc2::ISmaccOrthogonal::requiresClient().

Referenced by cl_keyboard::CbDefaultKeyboardBehavior::onEntry(), smacc2::client_behaviors::CbRosLaunch::onEntry(), smacc2::client_behaviors::CbRosLaunch2::onEntry(), smacc2::client_behaviors::CbRosStop2::onEntry(), smacc2::CbServiceServerCallbackBase< TService >::onEntry(), smacc2::client_behaviors::CbSubscriptionCallbackBase< TMsg >::onEntry(), cl_moveit2z::CbAttachObject::onEntry(), cl_moveit2z::CbDetachObject::onEntry(), cl_moveit2z::CbEndEffectorRotate::onEntry(), cl_moveit2z::CbExecuteLastTrajectory::onEntry(), cl_moveit2z::CbMoveCartesianRelative::onEntry(), cl_moveit2z::CbMoveEndEffector::onEntry(), cl_moveit2z::CbMoveEndEffectorRelative::onEntry(), cl_moveit2z::CbMoveEndEffectorTrajectory::onEntry(), cl_moveit2z::CbMoveJoints::onEntry(), cl_moveit2z::CbMoveNamedTarget::onEntry(), cl_moveit2z::CbUndoLastTrajectory::onEntry(), cl_multirole_sensor::CbDefaultMultiRoleSensorBehavior< ClientType >::onEntry(), cl_nav2z::CbRotate::onEntry(), cl_nav2z::CbSeekWaypoint::onEntry(), cl_ros_publisher::CbDefaultPublishLoop::onEntry(), cl_ros_publisher::CbPublishOnce< RosMsgType >::onEntry(), cl_ros_timer::CbTimer::onEntry(), cl_ros_timer::CbTimerCountdownLoop::onEntry(), cl_ros_timer::CbTimerCountdownOnce::onEntry(), smacc2::client_behaviors::CbWaitActionServer::onOrthogonalAllocation(), cl_lifecyclenode::CbActivate::onOrthogonalAllocation(), cl_lifecyclenode::CbCleanup::onOrthogonalAllocation(), cl_lifecyclenode::CbConfigure::onOrthogonalAllocation(), cl_lifecyclenode::CbDeactivate::onOrthogonalAllocation(), cl_lifecyclenode::CbDestroy::onOrthogonalAllocation(), cl_lifecyclenode::CbShutdown::onOrthogonalAllocation(), cl_nav2z::CbAbortNavigation::onOrthogonalAllocation(), cl_nav2z::CbNav2ZClientBehaviorBase::onOrthogonalAllocation(), cl_nav2z::CbNavigateNextWaypointUntilReached::onOrthogonalAllocation(), and cl_nav2z::CbWaitPose::onOrthogonalAllocation().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ requiresComponent()

void smacc2::ISmaccClientBehavior::requiresComponent ( SmaccComponentType *&  storage,
bool  throwExceptionIfNotExist = false 
)

Definition at line 73 of file smacc_client_behavior_impl.hpp.

75{
76 if (stateMachine_ == nullptr)
77 {
78 RCLCPP_ERROR(
79 getLogger(),
80 "Cannot use the requiresComponent funcionality before assigning the client behavior to an "
81 "orthogonal. Try using the OnEntry method to capture required components.");
82 }
83 else
84 {
85 stateMachine_->requiresComponent(storage, throwExceptionIfNotExist);
86 }
87}
void requiresComponent(SmaccComponentType *&storage, bool throwsExceptionIfNotExist=false)

References getLogger(), smacc2::ISmaccStateMachine::requiresComponent(), and stateMachine_.

Referenced by cl_moveit2z::CbAttachObject::onEntry(), cl_moveit2z::CbDetachObject::onEntry(), cl_moveit2z::CbExecuteLastTrajectory::onEntry(), cl_moveit2z::CbMoveEndEffectorTrajectory::onEntry(), cl_moveit2z::CbMoveLastTrajectoryInitialState::onEntry(), cl_moveit2z::CbUndoLastTrajectory::onEntry(), cl_nav2z::CbPauseSlam::onEntry(), cl_nav2z::CbResumeSlam::onEntry(), cl_nav2z::CbRotateLookAt::onEntry(), and cl_nav2z::CbStopNavigation::onEntry().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ runtimeConfigure()

void smacc2::ISmaccClientBehavior::runtimeConfigure ( )
protectedvirtual

Definition at line 56 of file smacc_client_behavior_base.cpp.

57{
58 RCLCPP_DEBUG(
59 getLogger(), "[%s] Default empty SmaccClientBehavior runtimeConfigure",
60 this->getName().c_str());
61}

References getLogger(), and getName().

Here is the call graph for this function:

Friends And Related Symbol Documentation

◆ ISmaccAsynchronousClientBehavior

friend class ISmaccAsynchronousClientBehavior
friend

Definition at line 86 of file smacc_client_behavior_base.hpp.

◆ ISmaccOrthogonal

friend class ISmaccOrthogonal
friend

Definition at line 85 of file smacc_client_behavior_base.hpp.

◆ ISmaccState

friend class ISmaccState
friend

Definition at line 84 of file smacc_client_behavior_base.hpp.

Member Data Documentation

◆ currentOrthogonal

smacc2::ISmaccOrthogonal* smacc2::ISmaccClientBehavior::currentOrthogonal
private

Definition at line 82 of file smacc_client_behavior_base.hpp.

Referenced by requiresClient().

◆ currentState

ISmaccState* smacc2::ISmaccClientBehavior::currentState
private

◆ stateMachine_

ISmaccStateMachine* smacc2::ISmaccClientBehavior::stateMachine_
private

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