|
| RunOnceNode (const std::string &name, const NodeConfig &config) |
|
TreeNode * | child () |
|
const TreeNode * | child () const |
|
| DecoratorNode (const std::string &name, const NodeConfig &config) |
|
NodeStatus | executeTick () override |
| The method that should be used to invoke tick() and setStatus();. More...
|
|
virtual void | halt () override |
| The method used to interrupt the execution of this node. More...
|
|
void | haltChild () |
| Same as resetChild() More...
|
|
void | resetChild () |
|
void | setChild (TreeNode *child) |
|
virtual NodeType | type () const override |
|
virtual | ~DecoratorNode () override=default |
|
const NodeConfig & | config () const |
|
void | emitWakeUpSignal () |
| Notify that the tree should be ticked again() More...
|
|
const std::string & | fullPath () const |
|
template<typename T > |
Expected< T > | getInput (const std::string &key) const |
|
template<typename T > |
Result | getInput (const std::string &key, T &destination) const |
|
template<typename T > |
Expected< StampedValue< T > > | getInputStamped (const std::string &key) const |
|
template<typename T > |
Expected< Timestamp > | getInputStamped (const std::string &key, T &destination) const |
| getInputStamped is similar to getInput(dey, destination), but it returne also the Timestamp object, that can be used to check if a value was updated and when. More...
|
|
AnyPtrLocked | getLockedPortContent (const std::string &key) |
| getLockedPortContent should be used when: More...
|
|
StringView | getRawPortValue (const std::string &key) const |
|
void | haltNode () |
|
bool | isHalted () const |
|
const std::string & | name () const |
| Name of the instance, not the type. More...
|
|
TreeNode & | operator= (const TreeNode &other)=delete |
|
TreeNode & | operator= (TreeNode &&other) noexcept |
|
const std::string & | registrationName () const |
| registrationName is the ID used by BehaviorTreeFactory to create an instance. More...
|
|
bool | requiresWakeUp () const |
|
template<typename T > |
Result | setOutput (const std::string &key, const T &value) |
| setOutput modifies the content of an Output port More...
|
|
void | setPostTickFunction (PostTickCallback callback) |
|
void | setPreTickFunction (PreTickCallback callback) |
|
void | setTickMonitorCallback (TickMonitorCallback 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 (const TreeNode &other)=delete |
|
| TreeNode (std::string name, NodeConfig config) |
| TreeNode main constructor. More...
|
|
| TreeNode (TreeNode &&other) noexcept |
|
uint16_t | UID () const |
|
BT::NodeStatus | waitValidStatus () |
|
virtual | ~TreeNode () |
|
|
using | PostTickCallback = std::function< NodeStatus(TreeNode &, NodeStatus)> |
|
using | PreTickCallback = std::function< NodeStatus(TreeNode &)> |
|
typedef std::shared_ptr< TreeNode > | Ptr |
|
using | StatusChangeCallback = StatusChangeSignal::CallableFunction |
|
using | StatusChangeSignal = Signal< TimePoint, const TreeNode &, NodeStatus, NodeStatus > |
|
using | StatusChangeSubscriber = StatusChangeSignal::Subscriber |
|
using | TickMonitorCallback = std::function< void(TreeNode &, NodeStatus, std::chrono::microseconds)> |
|
using | PostScripts = std::array< ScriptFunction, size_t(PostCond::COUNT_)> |
|
using | PreScripts = std::array< ScriptFunction, size_t(PreCond::COUNT_)> |
|
NodeConfig & | config () |
|
void | modifyPortsRemapping (const PortsRemapping &new_remapping) |
|
template<typename T > |
T | parseString (const std::string &str) const |
|
PostScripts & | postConditionsScripts () |
|
PreScripts & | preConditionsScripts () |
|
void | resetStatus () |
| Set the status to IDLE. More...
|
|
void | setRegistrationID (StringView ID) |
|
void | setStatus (NodeStatus new_status) |
| setStatus changes the status of the node. it will throw if you try to change the status to IDLE, because your parent node should do that, not the user! More...
|
|
void | setWakeUpInstance (std::shared_ptr< WakeUpSignal > instance) |
|
TreeNode * | child_node_ |
|
The RunOnceNode is used when you want to execute the child only once. If the child is asynchronous, we will tick until either SUCCESS or FAILURE is returned.
After that first execution, you can set value of the port "then_skip" to:
- if TRUE (default), the node will be skipped in the future.
- if FALSE, return synchronously the same status returned by the child, forever.
Definition at line 32 of file run_once_node.h.