14 #ifndef BEHAVIORTREECORE_ACTIONNODE_H 15 #define BEHAVIORTREECORE_ACTIONNODE_H 59 virtual void halt() override final
88 virtual void halt()
override 120 void stopAndJoinThread();
168 void setStatusRunningAndYield();
184 void halt()
override;
189 std::unique_ptr<Pimpl>
_p;
const std::string & name() const
virtual void halt()=0
The method used to interrupt the execution of a RUNNING node.
The AsyncActionNode a different thread where the action will be executed.
virtual NodeType type() const overridefinal
The CoroActionNode class is an ideal candidate for asynchronous actions which need to communicate wit...
The SyncActionNode is an helper derived class that explicitly forbids the status RUNNING and doesn't ...
~ActionNodeBase() override=default
std::unordered_map< std::string, std::string > NodeParameters
std::unique_ptr< Pimpl > _p
virtual void halt() overridefinal
The method used to interrupt the execution of a RUNNING node.
ActionNodeBase(const std::string &name, const NodeParameters ¶meters=NodeParameters())
virtual NodeStatus executeTick() override
The method that will be executed to invoke tick(); and setStatus();.
std::function< NodeStatus(TreeNode &)> TickFunctor
The SimpleActionNode provides an easy to use ActionNode. The user should simply provide a callback wi...
TickFunctor tick_functor_
virtual void halt() override
The method used to interrupt the execution of a RUNNING node.
std::atomic< bool > loop_
virtual BT::NodeStatus tick()=0
Method to be implemented by the user.
AsyncActionNode ActionNode
void setStatus(NodeStatus new_status)