#include <control_node.h>

Public Member Functions | |
| void | addChild (TreeNode *child) |
| The method used to add nodes to the children vector. More... | |
| const TreeNode * | child (size_t index) const |
| const std::vector< TreeNode * > & | children () const |
| size_t | childrenCount () const |
| ControlNode (const std::string &name, const NodeConfig &config) | |
| virtual void | halt () override |
| void | haltChild (size_t i) |
| void | haltChildren () |
| same as resetChildren() More... | |
| void | haltChildren (size_t first) |
| void | resetChildren () |
| virtual NodeType | type () const override final |
| virtual | ~ControlNode () override=default |
Public Member Functions inherited from BT::TreeNode | |
| const NodeConfig & | config () const |
| void | emitWakeUpSignal () |
| Notify that the tree should be ticked again() More... | |
| virtual BT::NodeStatus | executeTick () |
| The method that should be used to invoke tick() and setStatus();. More... | |
| const std::string & | fullPath () const |
| template<typename T > | |
| Expected< T > | getInput (const std::string &key) const |
| template<typename T > | |
| Result | getInput (const std::string &key, T &destination) const |
| template<typename T > | |
| Expected< StampedValue< T > > | getInputStamped (const std::string &key) const |
| template<typename T > | |
| Expected< Timestamp > | getInputStamped (const std::string &key, T &destination) const |
| getInputStamped is similar to getInput(dey, destination), but it returne also the Timestamp object, that can be used to check if a value was updated and when. More... | |
| AnyPtrLocked | getLockedPortContent (const std::string &key) |
| getLockedPortContent should be used when: More... | |
| StringView | getRawPortValue (const std::string &key) const |
| void | haltNode () |
| bool | isHalted () const |
| const std::string & | name () const |
| Name of the instance, not the type. More... | |
| TreeNode & | operator= (const TreeNode &other)=delete |
| TreeNode & | operator= (TreeNode &&other) noexcept |
| const std::string & | registrationName () const |
| registrationName is the ID used by BehaviorTreeFactory to create an instance. More... | |
| bool | requiresWakeUp () const |
| template<typename T > | |
| Result | setOutput (const std::string &key, const T &value) |
| setOutput modifies the content of an Output port More... | |
| void | setPostTickFunction (PostTickCallback callback) |
| void | setPreTickFunction (PreTickCallback callback) |
| void | setTickMonitorCallback (TickMonitorCallback callback) |
| 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 TreeNode &other)=delete | |
| TreeNode (std::string name, NodeConfig config) | |
| TreeNode main constructor. More... | |
| TreeNode (TreeNode &&other) noexcept | |
| uint16_t | UID () const |
| BT::NodeStatus | waitValidStatus () |
| virtual | ~TreeNode () |
Protected Attributes | |
| std::vector< TreeNode * > | children_nodes_ |
Additional Inherited Members | |
Public Types inherited from BT::TreeNode | |
| using | PostTickCallback = std::function< NodeStatus(TreeNode &, NodeStatus)> |
| using | PreTickCallback = std::function< NodeStatus(TreeNode &)> |
| typedef std::shared_ptr< TreeNode > | Ptr |
| using | StatusChangeCallback = StatusChangeSignal::CallableFunction |
| using | StatusChangeSignal = Signal< TimePoint, const TreeNode &, NodeStatus, NodeStatus > |
| using | StatusChangeSubscriber = StatusChangeSignal::Subscriber |
| using | TickMonitorCallback = std::function< void(TreeNode &, NodeStatus, std::chrono::microseconds)> |
Static Public Member Functions inherited from BT::TreeNode | |
| static Expected< StringView > | getRemappedKey (StringView port_name, StringView remapped_port) |
| template<class DerivedT , typename... ExtraArgs> | |
| static std::unique_ptr< TreeNode > | Instantiate (const std::string &name, const NodeConfig &config, ExtraArgs... args) |
| static bool | isBlackboardPointer (StringView str, StringView *stripped_pointer=nullptr) |
| Check a string and return true if it matches the pattern: {...}. More... | |
| static StringView | stripBlackboardPointer (StringView str) |
Protected Types inherited from BT::TreeNode | |
| using | PostScripts = std::array< ScriptFunction, size_t(PostCond::COUNT_)> |
| using | PreScripts = std::array< ScriptFunction, size_t(PreCond::COUNT_)> |
Protected Member Functions inherited from BT::TreeNode | |
| NodeConfig & | config () |
| void | modifyPortsRemapping (const PortsRemapping &new_remapping) |
| template<typename T > | |
| T | parseString (const std::string &str) const |
| PostScripts & | postConditionsScripts () |
| PreScripts & | preConditionsScripts () |
| void | resetStatus () |
| Set the status to IDLE. More... | |
| void | setRegistrationID (StringView ID) |
| void | setStatus (NodeStatus new_status) |
| setStatus changes the status of the node. it will throw if you try to change the status to IDLE, because your parent node should do that, not the user! More... | |
| void | setWakeUpInstance (std::shared_ptr< WakeUpSignal > instance) |
| virtual BT::NodeStatus | tick ()=0 |
| Method to be implemented by the user. More... | |
Definition at line 21 of file control_node.h.
| BT::ControlNode::ControlNode | ( | const std::string & | name, |
| const NodeConfig & | config | ||
| ) |
Definition at line 18 of file control_node.cpp.
|
overridevirtualdefault |
| void BT::ControlNode::addChild | ( | TreeNode * | child | ) |
The method used to add nodes to the children vector.
Definition at line 22 of file control_node.cpp.
|
inline |
Definition at line 38 of file control_node.h.
| const std::vector< TreeNode * > & BT::ControlNode::children | ( | ) | const |
Definition at line 50 of file control_node.cpp.
| size_t BT::ControlNode::childrenCount | ( | ) | const |
Definition at line 27 of file control_node.cpp.
|
overridevirtual |
The method used to interrupt the execution of a RUNNING node. Only Async nodes that may return RUNNING should implement it.
Implements BT::TreeNode.
Reimplemented in BT::ParallelNode, BT::SwitchNode< NUM_CASES >, BT::ParallelAllNode, BT::ReactiveFallback, BT::ReactiveSequence, BT::IfThenElseNode, BT::SequenceNode, BT::SequenceWithMemory, BT::WhileDoElseNode, BT::FallbackNode, and BT::ManualSelectorNode.
Definition at line 32 of file control_node.cpp.
| void BT::ControlNode::haltChild | ( | size_t | i | ) |
Definition at line 55 of file control_node.cpp.
| void BT::ControlNode::haltChildren | ( | ) |
same as resetChildren()
Definition at line 65 of file control_node.cpp.
| void BT::ControlNode::haltChildren | ( | size_t | first | ) |
Definition at line 73 of file control_node.cpp.
| void BT::ControlNode::resetChildren | ( | ) |
Set the status of all children to IDLE. also send a halt() signal to all RUNNING children
Definition at line 38 of file control_node.cpp.
|
inlinefinaloverridevirtual |
Implements BT::TreeNode.
Definition at line 53 of file control_node.h.
|
protected |
Definition at line 24 of file control_node.h.