|
| FallbackNode (const std::string &name, bool make_asynch=false) |
|
virtual void | halt () override |
|
virtual | ~FallbackNode () override=default |
|
void | addChild (TreeNode *child) |
| The method used to add nodes to the children vector. More...
|
|
const TreeNode * | child (size_t index) const |
|
const std::vector< TreeNode * > & | children () const |
|
size_t | childrenCount () const |
|
| ControlNode (const std::string &name, const NodeConfig &config) |
|
void | haltChild (size_t i) |
|
void | haltChildren () |
| same as resetChildren() More...
|
|
void | haltChildren (size_t first) |
|
void | resetChildren () |
|
virtual NodeType | type () const override final |
|
virtual | ~ControlNode () override=default |
|
const NodeConfig & | config () const |
|
void | emitWakeUpSignal () |
| Notify that the tree should be ticked again() More...
|
|
virtual BT::NodeStatus | executeTick () |
| The method that should be used to invoke tick() and setStatus();. 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)> |
|
static Expected< StringView > | getRemappedKey (StringView port_name, StringView remapped_port) |
|
template<class DerivedT , typename... ExtraArgs> |
static std::unique_ptr< TreeNode > | Instantiate (const std::string &name, const NodeConfig &config, ExtraArgs... args) |
|
static bool | isBlackboardPointer (StringView str, StringView *stripped_pointer=nullptr) |
| Check a string and return true if it matches the pattern: {...}. More...
|
|
static StringView | stripBlackboardPointer (StringView str) |
|
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) |
|
std::vector< TreeNode * > | children_nodes_ |
|
The FallbackNode is used to try different strategies, until one succeeds. If any child returns RUNNING, previous children will NOT be ticked again.
- If all the children return FAILURE, this node returns FAILURE.
- If a child returns RUNNING, this node returns RUNNING.
- If a child returns SUCCESS, stop the loop and return SUCCESS.
Definition at line 32 of file fallback_node.h.