The delay node will introduce a delay 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, const NodeConfiguration &config) | |
DelayNode (const std::string &name, unsigned milliseconds) | |
void | halt () override |
The method used to interrupt the execution of this node. More... | |
~DelayNode () override | |
![]() | |
TreeNode * | child () |
const TreeNode * | child () const |
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 () |
Same as resetChild() More... | |
void | resetChild () |
void | setChild (TreeNode *child) |
virtual NodeType | type () const override |
virtual | ~DecoratorNode () override=default |
![]() | |
const NodeConfiguration & | config () const |
void | emitStateChanged () |
template<typename T > | |
Optional< T > | getInput (const std::string &key) const |
template<typename T > | |
Result | getInput (const std::string &key, T &destination) 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 |
Static Public Member Functions | |
static PortsList | providedPorts () |
![]() | |
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 | |
![]() | |
using | PostTickOverrideCallback = std::function< Optional< NodeStatus >(TreeNode &, NodeStatus, NodeStatus)> |
using | PreTickOverrideCallback = std::function< Optional< NodeStatus >(TreeNode &, NodeStatus)> |
typedef std::shared_ptr< TreeNode > | Ptr |
using | StatusChangeCallback = StatusChangeSignal::CallableFunction |
using | StatusChangeSignal = Signal< TimePoint, const TreeNode &, NodeStatus, NodeStatus > |
using | StatusChangeSubscriber = StatusChangeSignal::Subscriber |
![]() | |
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) |
![]() | |
TreeNode * | child_node_ |
The delay node will introduce a delay 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 22 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 29 of file delay_node.h.
|
inlineoverridevirtual |
The method used to interrupt the execution of this node.
Reimplemented from BT::DecoratorNode.
Definition at line 38 of file delay_node.h.
|
inlinestatic |
Definition at line 34 of file delay_node.h.
|
overrideprivatevirtual |
Method to be implemented by the user.
Implements BT::TreeNode.
Definition at line 26 of file delay_node.cpp.
|
private |
Definition at line 53 of file delay_node.h.
|
private |
Definition at line 52 of file delay_node.h.
|
private |
Definition at line 56 of file delay_node.h.
|
private |
Definition at line 51 of file delay_node.h.
|
private |
Definition at line 54 of file delay_node.h.
|
private |
Definition at line 55 of file delay_node.h.
|
private |
Definition at line 46 of file delay_node.h.
|
private |
Definition at line 47 of file delay_node.h.