Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
BT::AsyncActionNode Class Reference

The AsyncActionNode a different thread where the action will be executed. More...

#include <action_node.h>

Inheritance diagram for BT::AsyncActionNode:
Inheritance graph
[legend]

Public Member Functions

 AsyncActionNode (const std::string &name, const NodeParameters &parameters=NodeParameters())
 
virtual NodeStatus executeTick () overridefinal
 The method that will be executed to invoke tick(); and setStatus();. More...
 
void stopAndJoinThread ()
 
virtual ~AsyncActionNode () override
 
- Public Member Functions inherited from BT::ActionNodeBase
 ActionNodeBase (const std::string &name, const NodeParameters &parameters=NodeParameters())
 
virtual NodeType type () const overridefinal
 
 ~ActionNodeBase () override=default
 
- Public Member Functions inherited from BT::LeafNode
 LeafNode (const std::string &name, const NodeParameters &parameters)
 
virtual ~LeafNode () override=default
 
- Public Member Functions inherited from BT::TreeNode
const Blackboard::Ptrblackboard () const
 
template<typename T >
BT::optional< T > getParam (const std::string &key) const
 
template<typename T >
bool getParam (const std::string &key, T &destination) const
 
virtual void halt ()=0
 The method used to interrupt the execution of a RUNNING node. More...
 
const NodeParametersinitializationParameters () const
 
bool isHalted () const
 
const std::string & name () const
 
const std::string & registrationName () const
 registrationName is the ID used by BehaviorTreeFactory to create an instance. More...
 
void setBlackboard (const Blackboard::Ptr &bb)
 
void setStatus (NodeStatus new_status)
 
NodeStatus status () const
 
StatusChangeSubscriber subscribeToStatusChange (StatusChangeCallback callback)
 subscribeToStatusChange is used to attach a callback to a status change. When StatusChangeSubscriber goes out of scope (it is a shared_ptr) the callback is unsubscribed automatically. More...
 
 TreeNode (const std::string &name, const NodeParameters &parameters)
 TreeNode main constructor. More...
 
uint16_t UID () const
 
BT::NodeStatus waitValidStatus ()
 
virtual ~TreeNode ()=default
 

Protected Member Functions

void waitForTick ()
 
- Protected Member Functions inherited from BT::TreeNode
void initializeOnce ()
 
void setRegistrationName (const std::string &registration_name)
 registrationName() is set by the BehaviorTreeFactory More...
 
virtual BT::NodeStatus tick ()=0
 Method to be implemented by the user. More...
 

Protected Attributes

std::atomic< bool > loop_
 
std::thread thread_
 
TickEngine tick_engine_
 

Additional Inherited Members

- Public Types inherited from BT::TreeNode
typedef std::shared_ptr< TreeNodePtr
 
using StatusChangeCallback = StatusChangeSignal::CallableFunction
 
using StatusChangeSignal = Signal< TimePoint, const TreeNode &, NodeStatus, NodeStatus >
 
using StatusChangeSubscriber = StatusChangeSignal::Subscriber
 
- Static Public Member Functions inherited from BT::TreeNode
static bool isBlackboardPattern (StringView str)
 

Detailed Description

The AsyncActionNode a different thread where the action will be executed.

The user must implement the method asyncTick() instead of tick() and the method halt() as usual.

Remember, though, that the method asyncTick() must update the state to either RUNNING, SUCCESS or FAILURE, otherwise the execution of the Behavior Tree is blocked!

Definition at line 110 of file action_node.h.

Constructor & Destructor Documentation

BT::AsyncActionNode::AsyncActionNode ( const std::string &  name,
const NodeParameters parameters = NodeParameters() 
)

Definition at line 65 of file action_node.cpp.

BT::AsyncActionNode::~AsyncActionNode ( )
overridevirtual

Definition at line 71 of file action_node.cpp.

Member Function Documentation

NodeStatus BT::AsyncActionNode::executeTick ( )
finaloverridevirtual

The method that will be executed to invoke tick(); and setStatus();.

Reimplemented from BT::ActionNodeBase.

Definition at line 95 of file action_node.cpp.

void BT::AsyncActionNode::stopAndJoinThread ( )

Definition at line 110 of file action_node.cpp.

void BT::AsyncActionNode::waitForTick ( )
protected

Definition at line 79 of file action_node.cpp.

Member Data Documentation

std::atomic<bool> BT::AsyncActionNode::loop_
protected

Definition at line 134 of file action_node.h.

std::thread BT::AsyncActionNode::thread_
protected

Definition at line 128 of file action_node.h.

TickEngine BT::AsyncActionNode::tick_engine_
protected

Definition at line 132 of file action_node.h.


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


behaviortree_cpp
Author(s): Michele Colledanchise, Davide Faconti
autogenerated on Sun Feb 3 2019 03:14:33