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

The SimpleDecoratorNode provides an easy to use DecoratorNode. The user should simply provide a callback with this signature. More...

#include <decorator_node.h>

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

Public Types

typedef std::function< NodeStatus(NodeStatus, TreeNode &)> TickFunctor
 
- Public Types inherited from BT::TreeNode
typedef std::shared_ptr< TreeNodePtr
 
using StatusChangeCallback = StatusChangeSignal::CallableFunction
 
using StatusChangeSignal = Signal< TimePoint, const TreeNode &, NodeStatus, NodeStatus >
 
using StatusChangeSubscriber = StatusChangeSignal::Subscriber
 

Public Member Functions

 SimpleDecoratorNode (const std::string &name, TickFunctor tick_functor, const NodeParameters &params=NodeParameters())
 
 ~SimpleDecoratorNode () override=default
 
- Public Member Functions inherited from BT::DecoratorNode
const TreeNodechild () const
 
TreeNodechild ()
 
 DecoratorNode (const std::string &name, const NodeParameters &parameters)
 
NodeStatus executeTick () override
 The method that will be executed to invoke tick(); and setStatus();. More...
 
virtual void halt () override
 The method used to interrupt the execution of a RUNNING node. More...
 
void haltChild ()
 
void setChild (TreeNode *child)
 
virtual NodeType type () const override
 
virtual ~DecoratorNode () override=default
 
- Public Member Functions inherited from BT::TreeNode
const Blackboard::Ptrblackboard () 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
 
const NodeParametersinitializationParameters () 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 &parameters)
 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 &registration_name)
 registrationName() is set by the BehaviorTreeFactory More...
 

Protected Attributes

TickFunctor tick_functor_
 
- Protected Attributes inherited from BT::DecoratorNode
TreeNodechild_node_
 

Additional Inherited Members

- Static Public Member Functions inherited from BT::TreeNode
static bool isBlackboardPattern (StringView str)
 

Detailed Description

The SimpleDecoratorNode provides an easy to use DecoratorNode. The user should simply provide a callback with this signature.

BT::NodeStatus functionName(BT::NodeStatus child_status)

This avoids the hassle of inheriting from a DecoratorNode.

Using lambdas or std::bind it is easy to pass a pointer to a method. SimpleDecoratorNode does not support halting, NodeParameters, nor Blackboards.

Definition at line 49 of file decorator_node.h.

Member Typedef Documentation

Definition at line 52 of file decorator_node.h.

Constructor & Destructor Documentation

BT::SimpleDecoratorNode::SimpleDecoratorNode ( const std::string &  name,
TickFunctor  tick_functor,
const NodeParameters params = NodeParameters() 
)

Definition at line 60 of file decorator_node.cpp.

BT::SimpleDecoratorNode::~SimpleDecoratorNode ( )
overridedefault

Member Function Documentation

NodeStatus BT::SimpleDecoratorNode::tick ( )
overrideprotectedvirtual

Method to be implemented by the user.

Implements BT::TreeNode.

Definition at line 66 of file decorator_node.cpp.

Member Data Documentation

TickFunctor BT::SimpleDecoratorNode::tick_functor_
protected

Definition at line 63 of file decorator_node.h.


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


behaviortree_cpp
Author(s): Michele Colledanchise, Davide Faconti
autogenerated on Sun Feb 3 2019 03:14:33