The AsyncActionNode a different thread where the action will be executed. More...
#include <action_node.h>
Public Member Functions | |
AsyncActionNode (const std::string &name, const NodeParameters ¶meters=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 ¶meters=NodeParameters()) | |
virtual NodeType | type () const overridefinal |
~ActionNodeBase () override=default | |
Public Member Functions inherited from BT::LeafNode | |
LeafNode (const std::string &name, const NodeParameters ¶meters) | |
virtual | ~LeafNode () override=default |
Public Member Functions inherited from BT::TreeNode | |
const Blackboard::Ptr & | blackboard () 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 NodeParameters & | initializationParameters () 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 ¶meters) | |
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 ®istration_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< TreeNode > | Ptr |
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) |
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.
BT::AsyncActionNode::AsyncActionNode | ( | const std::string & | name, |
const NodeParameters & | parameters = NodeParameters() |
||
) |
Definition at line 65 of file action_node.cpp.
|
overridevirtual |
Definition at line 71 of file action_node.cpp.
|
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.
|
protected |
Definition at line 79 of file action_node.cpp.
|
protected |
Definition at line 134 of file action_node.h.
|
protected |
Definition at line 128 of file action_node.h.
|
protected |
Definition at line 132 of file action_node.h.