The ReactiveSequence is similar to a ParallelNode. All the children are ticked from first to last: More...
#include <reactive_sequence.h>
Public Member Functions | |
ReactiveSequence (const std::string &name) | |
Public Member Functions inherited from BT::ControlNode | |
void | addChild (TreeNode *child) |
The method used to add nodes to the children vector. More... | |
const TreeNode * | child (unsigned index) const |
const std::vector< TreeNode * > & | children () const |
unsigned | childrenCount () const |
ControlNode (const std::string &name, const NodeConfiguration &config) | |
virtual void | halt () override |
void | haltChildren (unsigned i) |
call halt() for all the children in the range [i, childrenCount() ) More... | |
virtual NodeType | type () const overridefinal |
virtual | ~ControlNode () override=default |
Public Member Functions inherited from BT::TreeNode | |
const NodeConfiguration & | config () const |
virtual BT::NodeStatus | executeTick () |
The method that should be used to invoke tick() and setStatus();. More... | |
template<typename T > | |
Result | getInput (const std::string &key, T &destination) const |
template<typename T > | |
Optional< T > | getInput (const std::string &key) const |
bool | isHalted () const |
const std::string & | name () const |
Name of the instance, not the type. More... | |
const std::string & | registrationName () const |
registrationName is the ID used by BehaviorTreeFactory to create an instance. More... | |
template<typename T > | |
Result | setOutput (const std::string &key, const T &value) |
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 (std::string name, NodeConfiguration config) | |
TreeNode main constructor. More... | |
uint16_t | UID () const |
BT::NodeStatus | waitValidStatus () |
virtual | ~TreeNode ()=default |
Private Member Functions | |
virtual BT::NodeStatus | tick () override |
Method to be implemented by the user. More... | |
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 Optional< StringView > | getRemappedKey (StringView port_name, StringView remapping_value) |
static bool | isBlackboardPointer (StringView str) |
static StringView | stripBlackboardPointer (StringView str) |
Protected Member Functions inherited from BT::TreeNode | |
void | modifyPortsRemapping (const PortsRemapping &new_remapping) |
void | setRegistrationID (StringView ID) |
Protected Attributes inherited from BT::ControlNode | |
std::vector< TreeNode * > | children_nodes_ |
The ReactiveSequence is similar to a ParallelNode. All the children are ticked from first to last:
If all the children return SUCCESS, this node returns SUCCESS.
IMPORTANT: to work properly, this node should not have more than a single asynchronous child.
Definition at line 34 of file reactive_sequence.h.
|
inline |
Definition at line 38 of file reactive_sequence.h.
|
overrideprivatevirtual |
Method to be implemented by the user.
Implements BT::TreeNode.
Definition at line 18 of file reactive_sequence.cpp.