AutoAPMS
Streamlining behaviors in ROS 2
Loading...
Searching...
No Matches
node_registration_interface.hpp
1
// Copyright 2024 Robin Müller
2
//
3
// Licensed under the Apache License, Version 2.0 (the "License");
4
// you may not use this file except in compliance with the License.
5
// You may obtain a copy of the License at
6
//
7
// http://www.apache.org/licenses/LICENSE-2.0
8
//
9
// Unless required by applicable law or agreed to in writing, software
10
// distributed under the License is distributed on an "AS IS" BASIS,
11
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
// See the License for the specific language governing permissions and
13
// limitations under the License.
14
15
#pragma once
16
17
#include "auto_apms_behavior_tree_core/node/ros_node_context.hpp"
18
#include "behaviortree_cpp/bt_factory.h"
19
20
namespace
auto_apms_behavior_tree::core
21
{
22
28
class
NodeRegistrationInterface
29
{
30
public
:
31
NodeRegistrationInterface() =
default
;
32
virtual
~NodeRegistrationInterface() =
default
;
33
42
virtual
bool
requiresRosNodeContext
()
const
= 0;
43
51
virtual
void
registerWithBehaviorTreeFactory
(
52
BT::BehaviorTreeFactory & factory,
const
std::string & registration_name,
53
const
RosNodeContext
*
const
context_ptr =
nullptr
)
const
= 0;
54
};
55
56
}
// namespace auto_apms_behavior_tree::core
auto_apms_behavior_tree::core::NodeRegistrationInterface::registerWithBehaviorTreeFactory
virtual void registerWithBehaviorTreeFactory(BT::BehaviorTreeFactory &factory, const std::string ®istration_name, const RosNodeContext *const context_ptr=nullptr) const =0
Register the node associated with this instance with a behavior tree factory.
auto_apms_behavior_tree::core::NodeRegistrationInterface::requiresRosNodeContext
virtual bool requiresRosNodeContext() const =0
Determine whether a valid instance of RosNodeContext is required for registering the behavior tree no...
auto_apms_behavior_tree::core::RosNodeContext
Additional parameters specific to ROS 2 determined at runtime by TreeBuilder.
Definition
ros_node_context.hpp:31
auto_apms_behavior_tree::core
Core API for AutoAPMS's behavior tree implementation.
Definition
behavior.hpp:32
auto_apms_behavior_tree_core
include
auto_apms_behavior_tree_core
node
node_registration_interface.hpp
Generated by
1.13.2