行为树其他常用代码

类 Subtree

BT::Tree有一个成员是 std::vector< Subtree::Ptr > subtrees。类BT::Tree::Subtree的成员函数如下:

1
2
3
4
5
6
7
Blackboard::Ptr   blackboard

std::string instance_name

std::vector< TreeNode::Ptr > nodes

std::string tree_ID

instance_name的结果:

1
2
3
subA::5
subB::16
subB::16/SubC::20

其中SubC是子树SubB的子树。

tree_ID是把instance_name的数字去掉了。

emitStateChanged

TreeNode::emitStateChanged()TreeNode 类中的一个方法。它用于发出信号,告知树节点的状态已发生变化。此方法对于在行为树中启用响应式和异步行为至关重要。当节点状态发生变化(例如,从running变为成功或失败)时,系统会调用 emitStateChanged() 来通知树,并可能触发进一步的操作或更新。 类似Qt中的信号和槽的机制。