The delay node will introduce a delay of a few milliseconds and then tick the child returning the status of the child as it is upon completion The delay is in milliseconds and it is passed using the port "delay_msec". More...
#include <delay_node.h>
Public Member Functions | |
DelayNode (const std::string &name, unsigned milliseconds) | |
DelayNode (const std::string &name, const NodeConfiguration &config) | |
void | halt () override |
The method used to interrupt the execution of this node. More... | |
~DelayNode () override | |
Public Member Functions inherited from BT::DecoratorNode | |
const TreeNode * | child () const |
TreeNode * | child () |
DecoratorNode (const std::string &name, const NodeConfiguration &config) | |
NodeStatus | executeTick () override |
The method that should be used to invoke tick() and setStatus();. More... | |
void | haltChild () |
Halt() the child node. More... | |
void | setChild (TreeNode *child) |
virtual NodeType | type () const override |
virtual | ~DecoratorNode () override=default |
Public Member Functions inherited from BT::TreeNode | |
const NodeConfiguration & | config () const |
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) |
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 |
Static Public Member Functions | |
static PortsList | providedPorts () |
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) |
Private Member Functions | |
virtual BT::NodeStatus | tick () override |
Method to be implemented by the user. More... | |
Private Attributes | |
bool | delay_aborted_ |
bool | delay_complete_ |
std::mutex | delay_mutex_ |
bool | delay_started_ |
unsigned | msec_ |
bool | read_parameter_from_ports_ |
TimerQueue | timer_ |
uint64_t | timer_id_ |
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 |
Protected Member Functions inherited from BT::TreeNode | |
void | modifyPortsRemapping (const PortsRemapping &new_remapping) |
void | setRegistrationID (StringView ID) |
void | setStatus (NodeStatus new_status) |
Protected Attributes inherited from BT::DecoratorNode | |
TreeNode * | child_node_ |
The delay node will introduce a delay of a few milliseconds and then tick the child returning the status of the child as it is upon completion The delay is in milliseconds and it is passed using the port "delay_msec".
During the delay the node changes status to RUNNING
Example:
<Delay delay_msec="5000"> <KeepYourBreath> </Delay>
Definition at line 24 of file delay_node.h.
BT::DelayNode::DelayNode | ( | const std::string & | name, |
unsigned | milliseconds | ||
) |
Definition at line 8 of file delay_node.cpp.
BT::DelayNode::DelayNode | ( | const std::string & | name, |
const NodeConfiguration & | config | ||
) |
Definition at line 18 of file delay_node.cpp.
|
inlineoverride |
Definition at line 31 of file delay_node.h.
|
inlineoverridevirtual |
The method used to interrupt the execution of this node.
Reimplemented from BT::DecoratorNode.
Definition at line 40 of file delay_node.h.
|
inlinestatic |
Definition at line 36 of file delay_node.h.
|
overrideprivatevirtual |
Method to be implemented by the user.
Implements BT::TreeNode.
Definition at line 27 of file delay_node.cpp.
|
private |
Definition at line 55 of file delay_node.h.
|
private |
Definition at line 54 of file delay_node.h.
|
private |
Definition at line 58 of file delay_node.h.
|
private |
Definition at line 53 of file delay_node.h.
|
private |
Definition at line 56 of file delay_node.h.
|
private |
Definition at line 57 of file delay_node.h.
|
private |
Definition at line 48 of file delay_node.h.
|
private |
Definition at line 49 of file delay_node.h.