src
decorators
subtree_node.cpp
Go to the documentation of this file.
1
#include "
behaviortree_cpp_v3/decorators/subtree_node.h
"
2
3
BT::SubtreeNode::SubtreeNode
(
const
std::string& name) :
DecoratorNode
(name, {})
4
{
5
setRegistrationID(
"SubTree"
);
6
}
7
8
BT::NodeStatus
BT::SubtreeNode::tick
()
9
{
10
NodeStatus
prev_status = status();
11
if
(prev_status ==
NodeStatus::IDLE
)
12
{
13
setStatus(
NodeStatus::RUNNING
);
14
}
15
auto
status = child_node_->executeTick();
16
if
(status !=
NodeStatus::RUNNING
)
17
{
18
resetChild();
19
}
20
21
return
status;
22
}
23
24
//--------------------------------
25
BT::SubtreePlusNode::SubtreePlusNode
(
const
std::string& name) :
DecoratorNode
(name, {})
26
{
27
setRegistrationID(
"SubTreePlus"
);
28
}
29
30
BT::NodeStatus
BT::SubtreePlusNode::tick
()
31
{
32
NodeStatus
prev_status = status();
33
if
(prev_status ==
NodeStatus::IDLE
)
34
{
35
setStatus(
NodeStatus::RUNNING
);
36
}
37
auto
status = child_node_->executeTick();
38
if
(status !=
NodeStatus::RUNNING
)
39
{
40
resetChild();
41
}
42
43
return
status;
44
}
BT::SubtreePlusNode::SubtreePlusNode
SubtreePlusNode(const std::string &name)
Definition:
subtree_node.cpp:25
subtree_node.h
BT::DecoratorNode
Definition:
decorator_node.h:8
BT::SubtreeNode::tick
virtual BT::NodeStatus tick() override
Method to be implemented by the user.
Definition:
subtree_node.cpp:8
BT::NodeStatus::RUNNING
@ RUNNING
BT::NodeStatus::IDLE
@ IDLE
BT::SubtreeNode::SubtreeNode
SubtreeNode(const std::string &name)
Definition:
subtree_node.cpp:3
BT::NodeStatus
NodeStatus
Definition:
basic_types.h:35
BT::SubtreePlusNode::tick
virtual BT::NodeStatus tick() override
Method to be implemented by the user.
Definition:
subtree_node.cpp:30
behaviortree_cpp_v3
Author(s): Michele Colledanchise, Davide Faconti
autogenerated on Wed Jun 26 2024 02:51:19