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

#include <control_node.h>

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

Public Member Functions

void addChild (TreeNode *child)
 The method used to add nodes to the children vector. More...
 
const TreeNodechild (size_t index) const
 
const std::vector< TreeNode * > & children () const
 
size_t childrenCount () const
 
 ControlNode (const std::string &name, const NodeConfiguration &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 NodeConfigurationconfig () const
 
void emitStateChanged ()
 
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
 
StringView getRawPortValue (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 setPostTickOverrideFunction (PostTickOverrideCallback callback)
 
void setPreTickOverrideFunction (PreTickOverrideCallback 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 (std::string name, NodeConfiguration config)
 TreeNode main constructor. More...
 
uint16_t UID () const
 
BT::NodeStatus waitValidStatus ()
 
virtual ~TreeNode ()=default
 

Protected Attributes

std::vector< TreeNode * > children_nodes_
 

Additional Inherited Members

- Public Types inherited from BT::TreeNode
using PostTickOverrideCallback = std::function< Optional< NodeStatus >(TreeNode &, NodeStatus, NodeStatus)>
 
using PreTickOverrideCallback = std::function< Optional< NodeStatus >(TreeNode &, NodeStatus)>
 
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 Optional< StringViewgetRemappedKey (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 resetStatus ()
 Equivalent to setStatus(NodeStatus::IDLE) More...
 
void setRegistrationID (StringView ID)
 
void setStatus (NodeStatus new_status)
 
void setWakeUpInstance (std::shared_ptr< WakeUpSignal > instance)
 
virtual BT::NodeStatus tick ()=0
 Method to be implemented by the user. More...
 

Detailed Description

Definition at line 21 of file control_node.h.

Constructor & Destructor Documentation

◆ ControlNode()

BT::ControlNode::ControlNode ( const std::string &  name,
const NodeConfiguration config 
)

Definition at line 18 of file control_node.cpp.

◆ ~ControlNode()

virtual BT::ControlNode::~ControlNode ( )
overridevirtualdefault

Member Function Documentation

◆ addChild()

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.

◆ child()

const TreeNode* BT::ControlNode::child ( size_t  index) const
inline

Definition at line 38 of file control_node.h.

◆ children()

const std::vector< TreeNode * > & BT::ControlNode::children ( ) const

Definition at line 49 of file control_node.cpp.

◆ childrenCount()

size_t BT::ControlNode::childrenCount ( ) const

Definition at line 27 of file control_node.cpp.

◆ halt()

void BT::ControlNode::halt ( )
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::IfThenElseNode, BT::SequenceStarNode, BT::SequenceNode, BT::WhileDoElseNode, BT::FallbackNode, and BT::ManualSelectorNode.

Definition at line 32 of file control_node.cpp.

◆ haltChild()

void BT::ControlNode::haltChild ( size_t  i)

Definition at line 54 of file control_node.cpp.

◆ haltChildren() [1/2]

void BT::ControlNode::haltChildren ( )

same as resetChildren()

Definition at line 64 of file control_node.cpp.

◆ haltChildren() [2/2]

void BT::ControlNode::haltChildren ( size_t  first)

Definition at line 72 of file control_node.cpp.

◆ resetChildren()

void BT::ControlNode::resetChildren ( )

Set the status of all children to IDLE. also send a halt() signal to all RUNNING children

Definition at line 37 of file control_node.cpp.

◆ type()

virtual NodeType BT::ControlNode::type ( ) const
inlinefinaloverridevirtual

Implements BT::TreeNode.

Definition at line 53 of file control_node.h.

Member Data Documentation

◆ children_nodes_

std::vector<TreeNode*> BT::ControlNode::children_nodes_
protected

Definition at line 24 of file control_node.h.


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


behaviortree_cpp_v3
Author(s): Michele Colledanchise, Davide Faconti
autogenerated on Mon Jul 3 2023 02:50:14