FazBrowse GitHub Viewer
|
Trending
|
URL:
|
Home
Tools:
[Download Repo ZIP]
[View Raw Code]
[Original HTTPS Page]
btcpp_sample/main.cpp at main · cardboardcode/btcpp_sample · GitHub
cardboardcode
/
btcpp_sample
Public
forked from
BehaviorTree/btcpp_sample
Notifications
You must be signed in to change notification settings
Fork
0
Star
0
Code
Pull requests
0
Actions
Projects
Security and quality
0
Insights
Additional navigation options
Code
Pull requests
Actions
Projects
Security and quality
Insights
Expand file tree
Breadcrumbs
btcpp_sample
/
main.cpp
Copy path
More file actions
More file actions
Latest commit
History
History
History
76 lines (59 loc) · 1.55 KB
Breadcrumbs
btcpp_sample
/
main.cpp
Copy path
File metadata and controls
76 lines (59 loc) · 1.55 KB
Raw
Copy raw file
Download raw file
Open symbols panel
Edit and raw actions
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
#
include
"
behaviortree_cpp/bt_factory.h
"
using
namespace
BT
;
//
clang-format off
static
const
char
* xml_text =
R"(
<root BTCPP_format="4" >
<BehaviorTree ID="MainTree">
<Sequence name="root">
<AlwaysSuccess/>
<SaySomething message="this works too" />
<ThinkWhatToSay text="{the_answer}"/>
<SaySomething message="{the_answer}" />
</Sequence>
</BehaviorTree>
</root>
)"
;
//
clang-format on
class
SaySomething
:
public
BT
::SyncActionNode
{
public:
SaySomething
(
const
std::string& name,
const
BT
::NodeConfig& config) :
BT::SyncActionNode
(name, config)
{}
BT
::NodeStatus
tick
()
override
{
std::string msg;
getInput
(
"
message
"
, msg);
std::cout << msg << std::endl;
return
BT
::NodeStatus::
SUCCESS
;
}
static
BT
::PortsList
providedPorts
()
{
return
{
BT
::InputPort<std::string>(
"
message
"
)};
}
};
class
ThinkWhatToSay
:
public
BT
::SyncActionNode
{
public:
ThinkWhatToSay
(
const
std::string& name,
const
BT
::NodeConfig& config) :
BT::SyncActionNode
(name, config)
{}
BT
::NodeStatus
tick
()
override
{
setOutput
(
"
text
"
,
"
The answer is 42
"
);
return
BT
::NodeStatus::
SUCCESS
;
}
static
BT
::PortsList
providedPorts
()
{
return
{
BT
::OutputPort<std::string>(
"
text
"
)};
}
};
int
main
()
{
BehaviorTreeFactory factory;
factory.
registerNodeType
<SaySomething>(
"
SaySomething
"
);
factory.
registerNodeType
<ThinkWhatToSay>(
"
ThinkWhatToSay
"
);
auto
tree = factory.
createTreeFromText
(xml_text);
tree.
tickWhileRunning
();
return
0
;
}
Back
|
FazBrowse Home
|
New Git URL