15 #ifndef TRAFFIC_SIMULATOR__BEHAVIOR__BEHAVIOR_PLUGIN_BASE_HPP_
16 #define TRAFFIC_SIMULATOR__BEHAVIOR__BEHAVIOR_PLUGIN_BASE_HPP_
26 #include <traffic_simulator_msgs/msg/behavior_parameter.hpp>
27 #include <traffic_simulator_msgs/msg/entity_type.hpp>
28 #include <traffic_simulator_msgs/msg/obstacle.hpp>
29 #include <traffic_simulator_msgs/msg/pedestrian_parameters.hpp>
30 #include <traffic_simulator_msgs/msg/vehicle_parameters.hpp>
31 #include <traffic_simulator_msgs/msg/waypoints_array.hpp>
32 #include <unordered_map>
33 #include <visualization_msgs/msg/marker_array.hpp>
38 std::unordered_map<std::string, traffic_simulator::CanonicalizedEntityStatus>;
46 virtual auto configure(
const rclcpp::Logger & logger) ->
void = 0;
47 virtual auto update(
const double current_time,
const double step_time) ->
void = 0;
51 #define DEFINE_GETTER_SETTER(NAME, KEY, TYPE) \
52 virtual auto get##NAME() -> TYPE = 0; \
53 virtual auto set##NAME(const TYPE & value) -> void = 0; \
54 auto get##NAME##Key() const -> const std::string & \
56 static const std::string key = KEY; \
60 DEFINE_GETTER_SETTER(BehaviorParameter,
"behavior_parameter", traffic_simulator_msgs::msg::BehaviorParameter)
64 DEFINE_GETTER_SETTER(DefaultMatchingDistanceForLaneletPoseCalculation, "matching_distance_for_lanelet_pose_calculation",
double)
82 #undef DEFINE_GETTER_SETTER
#define DEFINE_GETTER_SETTER(NAME, KEY, TYPE)
Definition: behavior_plugin_base.hpp:51
Definition: behavior_plugin_base.hpp:43
virtual auto configure(const rclcpp::Logger &logger) -> void=0
virtual ~BehaviorPluginBase()=default
virtual auto getCurrentAction() const -> const std::string &=0
virtual auto update(const double current_time, const double step_time) -> void=0
Definition: action_node.hpp:41
std::unordered_map< std::string, traffic_simulator::CanonicalizedEntityStatus > EntityStatusDict
Definition: behavior_plugin_base.hpp:38
std::unordered_map< std::pair< std::string, std::string >, double > EuclideanDistancesMap
Definition: behavior_plugin_base.hpp:40
Definition: bounding_box.hpp:32
Definition: lanelet_wrapper.hpp:43
Request
Definition: behavior.hpp:25
traffic_simulator::lane_change::Parameter Parameter
Definition: lane_change.hpp:27
geometry_msgs::msg::Pose Pose
Definition: lanelet_wrapper.hpp:70
Definition: operators.hpp:25