15 #ifndef TRAFFIC_SIMULATOR__BEHAVIOR__BEHAVIOR_PLUGIN_BASE_HPP_
16 #define TRAFFIC_SIMULATOR__BEHAVIOR__BEHAVIOR_PLUGIN_BASE_HPP_
25 #include <traffic_simulator_msgs/msg/behavior_parameter.hpp>
26 #include <traffic_simulator_msgs/msg/entity_type.hpp>
27 #include <traffic_simulator_msgs/msg/obstacle.hpp>
28 #include <traffic_simulator_msgs/msg/pedestrian_parameters.hpp>
29 #include <traffic_simulator_msgs/msg/vehicle_parameters.hpp>
30 #include <traffic_simulator_msgs/msg/waypoints_array.hpp>
31 #include <unordered_map>
32 #include <visualization_msgs/msg/marker_array.hpp>
37 std::unordered_map<std::string, traffic_simulator::CanonicalizedEntityStatus>;
43 virtual void configure(
const rclcpp::Logger & logger) = 0;
44 virtual auto update(
const double current_time,
const double step_time) ->
void = 0;
47 #define DEFINE_GETTER_SETTER(NAME, KEY, TYPE) \
48 virtual TYPE get##NAME() = 0; \
49 virtual void set##NAME(const TYPE & value) = 0; \
50 auto get##NAME##Key() const->const std::string & \
52 static const std::string key = KEY; \
57 DEFINE_GETTER_SETTER(BehaviorParameter,
"behavior_parameter", traffic_simulator_msgs::msg::BehaviorParameter)
61 DEFINE_GETTER_SETTER(DefaultMatchingDistanceForLaneletPoseCalculation, "matching_distance_for_lanelet_pose_calculation",
double)
67 DEFINE_GETTER_SETTER(PedestrianParameters, "pedestrian_parameters", traffic_simulator_msgs::msg::PedestrianParameters)
68 DEFINE_GETTER_SETTER(PolylineTrajectory, "polyline_trajectory",
std::shared_ptr<traffic_simulator_msgs::msg::PolylineTrajectory>)
75 DEFINE_GETTER_SETTER(VehicleParameters, "vehicle_parameters", traffic_simulator_msgs::msg::VehicleParameters)
78 #undef DEFINE_GETTER_SETTER
#define DEFINE_GETTER_SETTER(NAME, KEY, TYPE)
Definition: behavior_plugin_base.hpp:47
Definition: behavior_plugin_base.hpp:40
virtual ~BehaviorPluginBase()=default
virtual auto update(const double current_time, const double step_time) -> void=0
virtual void configure(const rclcpp::Logger &logger)=0
virtual const std::string & getCurrentAction() const =0
Definition: action_node.hpp:39
std::unordered_map< std::string, traffic_simulator::CanonicalizedEntityStatus > EntityStatusDict
Definition: behavior_plugin_base.hpp:37
Definition: bounding_box.hpp:32
Request
Definition: behavior.hpp:25
std::string string
Definition: junit5.hpp:26