19 const std::vector<common_lib::structures::Cone> &input_cones) {
20 auto message = custom_interfaces::msg::ConeArray();
21 for (
auto const &element : input_cones) {
22 auto cone = custom_interfaces::msg::Cone();
23 cone.position.x = element.position.x;
24 cone.position.y = element.position.y;
25 message.cone_array.push_back(cone);
30 const std::vector<common_lib::structures::PathPoint> &input_path,
bool is_map_closed) {
31 custom_interfaces::msg::PathPointArray message;
32 message.is_map_closed = is_map_closed;
33 for (
auto const &element : input_path) {
34 custom_interfaces::msg::PathPoint p;
35 p.x = element.position.x;
36 p.y = element.position.y;
37 p.v = element.ideal_velocity;
38 p.orientation = element.orientation;
39 message.pathpoint_array.push_back(p);
45 const custom_interfaces::msg::ConeArray &msg) {
46 std::vector<common_lib::structures::Cone> cone_array;
47 for (
const auto &cone : msg.cone_array) {
48 if (cone.position.x == 0 && cone.position.y == 0) {
49 RCLCPP_WARN(rclcpp::get_logger(
"rclcpp"),
"Cone at (0,0)");
52 static_cast<float>(cone.position.x),
static_cast<float>(cone.position.y));
53 cone_array.push_back(new_cone);