The SimpleConditionNode provides an easy to use ConditionNode. The user should simply provide a callback with this signature. More...
#include <condition_node.h>
Public Types | |
typedef std::function< NodeStatus(TreeNode &)> | TickFunctor |
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 |
Public Member Functions | |
virtual void | halt () override |
The method used to interrupt the execution of a RUNNING node. More... | |
SimpleConditionNode (const std::string &name, TickFunctor tick_functor, const NodeParameters ¶ms=NodeParameters()) | |
~SimpleConditionNode () override=default | |
Public Member Functions inherited from BT::ConditionNode | |
ConditionNode (const std::string &name, const NodeParameters ¶meters=NodeParameters()) | |
virtual NodeType | type () const overridefinal |
virtual | ~ConditionNode () 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 |
virtual BT::NodeStatus | executeTick () |
The method that will be executed to invoke tick(); and setStatus();. More... | |
template<typename T > | |
BT::optional< T > | getParam (const std::string &key) const |
template<typename T > | |
bool | getParam (const std::string &key, T &destination) const |
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 | |
virtual NodeStatus | tick () override |
Method to be implemented by the user. More... | |
Protected Member Functions inherited from BT::TreeNode | |
void | initializeOnce () |
void | setRegistrationName (const std::string ®istration_name) |
registrationName() is set by the BehaviorTreeFactory More... | |
Protected Attributes | |
TickFunctor | tick_functor_ |
Additional Inherited Members | |
Static Public Member Functions inherited from BT::TreeNode | |
static bool | isBlackboardPattern (StringView str) |
The SimpleConditionNode provides an easy to use ConditionNode. The user should simply provide a callback with this signature.
BT::NodeStatus functionName(void)
This avoids the hassle of inheriting from a ActionNode.
Using lambdas or std::bind it is easy to pass a pointer to a method. SimpleConditionNode does not support halting, NodeParameters, nor Blackboards.
Definition at line 48 of file condition_node.h.
typedef std::function<NodeStatus(TreeNode&)> BT::SimpleConditionNode::TickFunctor |
Definition at line 51 of file condition_node.h.
BT::SimpleConditionNode::SimpleConditionNode | ( | const std::string & | name, |
TickFunctor | tick_functor, | ||
const NodeParameters & | params = NodeParameters() |
||
) |
Definition at line 27 of file condition_node.cpp.
|
overridedefault |
|
inlineoverridevirtual |
The method used to interrupt the execution of a RUNNING node.
Reimplemented from BT::ConditionNode.
Definition at line 59 of file condition_node.h.
|
overrideprotectedvirtual |
Method to be implemented by the user.
Implements BT::TreeNode.
Definition at line 33 of file condition_node.cpp.
|
protected |
Definition at line 67 of file condition_node.h.