19#include "auto_apms_behavior_tree_core/definitions.hpp"
20#include "auto_apms_behavior_tree_core/node/node_manifest.hpp"
21#include "auto_apms_behavior_tree_core/node/node_registration_loader.hpp"
22#include "auto_apms_behavior_tree_core/tree/tree_document.hpp"
23#include "auto_apms_behavior_tree_core/tree/tree_resource.hpp"
24#include "rclcpp/rclcpp.hpp"
56 inline static const std::string LOGGER_NAME =
"tree_builder";
76 rclcpp::Node::SharedPtr ros_node, rclcpp::CallbackGroup::SharedPtr tree_node_waitables_callback_group,
77 rclcpp::executors::SingleThreadedExecutor::SharedPtr tree_node_waitables_executor,
78 NodeRegistrationLoader::SharedPtr tree_node_loader = NodeRegistrationLoader::make_shared());
88 explicit TreeBuilder(NodeRegistrationLoader::SharedPtr tree_node_loader = NodeRegistrationLoader::make_shared());
114 template <
typename EnumT>
128 Tree
instantiate(
const std::string & root_tree_name, TreeBlackboardSharedPtr bb_ptr = TreeBlackboard::create());
141 Tree
instantiate(TreeBlackboardSharedPtr bb_ptr = TreeBlackboard::create());
148template <
typename EnumT>
151 factory_.registerScriptingEnums<EnumT>();
Data structure for information about which behavior tree node plugin to load and how to configure the...
TreeBuilder(rclcpp::Node::SharedPtr ros_node, rclcpp::CallbackGroup::SharedPtr tree_node_waitables_callback_group, rclcpp::executors::SingleThreadedExecutor::SharedPtr tree_node_waitables_executor, NodeRegistrationLoader::SharedPtr tree_node_loader=NodeRegistrationLoader::make_shared())
Constructor.
TreeBuilder & setScriptingEnum(const std::string &enum_name, int val)
Define enums that may be used by any scripts inside the behavior tree.
Tree instantiate(const std::string &root_tree_name, TreeBlackboardSharedPtr bb_ptr=TreeBlackboard::create())
Create the behavior tree.
TreeBuilder & setScriptingEnumsFromType()
Define enums that may be used by any scripts inside the behavior tree.
TreeBuilder & registerNodes(const NodeManifest &tree_node_manifest, bool override=false) override
Load behavior tree node plugins and register them with the internal behavior tree factory.
TreeDocument(const std::string &format_version=BTCPP_FORMAT_DEFAULT_VERSION, NodeRegistrationLoader::SharedPtr tree_node_loader=NodeRegistrationLoader::make_shared())
Create a an empty tree document.
Core API for AutoAPMS's behavior tree implementation.