def _lane_msg_from_lines(left: Line, middle: Line, right: Line) -> LaneMsg: """Create a lane message from three lines.""" msg = LaneMsg() msg.middle_line = middle.to_geometry_msgs() msg.left_line = left.to_geometry_msgs() msg.right_line = right.to_geometry_msgs() return msg
def parking_msgs( right_spots: List[Polygon], left_spots: List[Polygon], right_border: Line, left_border: Line, id: int, ) -> groundtruth_srvs.ParkingSrvResponse: response = groundtruth_srvs.ParkingSrvResponse() right_msg = groundtruth_msgs.Parking() right_msg.borders = [ groundtruth_msgs.Line(right_border.to_geometry_msgs()) ] right_msg.spots = list( groundtruth_msgs.LabeledPolygon(spot.to_geometry_msg(), groundtruth_msgs.Parking.SPOT_FREE) for spot in right_spots) response.right_msg = right_msg left_msg = groundtruth_msgs.Parking() left_msg.borders = [groundtruth_msgs.Line(left_border.to_geometry_msgs())] left_msg.spots = list( groundtruth_msgs.LabeledPolygon(spot.to_geometry_msg(), groundtruth_msgs.Parking.SPOT_FREE) for spot in left_spots) response.left_msg = left_msg return response