ros2_interfaces_rolling/derived_object_msgs/msg/
lane.rs

1use serde::{Deserialize, Serialize};
2
3#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
4pub struct Lane {
5    pub quality: u8,
6    pub marker_kind: u8,
7    pub curve_model_kind: u8,
8    pub marker_offset: f64,
9    pub heading_angle: f64,
10    pub curvature: f64,
11    pub curvature_derivative: f64,
12    pub marker_width: f64,
13    pub view_range: f64,
14}
15
16impl Lane {
17    pub const LANE_QUALITY_INVALID: u8 = 0;
18    pub const LANE_QUALITY_UNKNOWN: u8 = 1;
19    pub const LANE_QUALITY_NOT_AVAILABLE: u8 = 2;
20    pub const LANE_QUALITY_0: u8 = 3;
21    pub const LANE_QUALITY_1: u8 = 4;
22    pub const LANE_QUALITY_2: u8 = 5;
23    pub const LANE_QUALITY_3: u8 = 6;
24    pub const LANE_QUALITY_4: u8 = 7;
25    pub const LANE_QUALITY_5: u8 = 8;
26    pub const LANE_QUALITY_6: u8 = 9;
27    pub const LANE_QUALITY_7: u8 = 10;
28    pub const LANE_QUALITY_8: u8 = 11;
29    pub const LANE_QUALITY_9: u8 = 12;
30    pub const LANE_QUALITY_KIND_COUNT: u8 = 13;
31    pub const LANE_MARKER_INVALID: u8 = 0;
32    pub const LANE_MARKER_UNKNOWN: u8 = 1;
33    pub const LANE_MARKER_NOT_AVAILABLE: u8 = 2;
34    pub const LANE_MARKER_NONE: u8 = 3;
35    pub const LANE_MARKER_SOLID: u8 = 4;
36    pub const LANE_MARKER_DASHED: u8 = 5;
37    pub const LANE_MARKER_VIRTUAL: u8 = 6;
38    pub const LANE_MARKER_DOTS: u8 = 7;
39    pub const LANE_MARKER_ROAD_EDGE: u8 = 8;
40    pub const LANE_MARKER_DOUBLE_LINE: u8 = 9;
41    pub const LANE_MARKER_KIND_COUNT: u8 = 10;
42    pub const LANE_CURVE_MODEL_INVALID: u8 = 0;
43    pub const LANE_CURVE_MODEL_UNKNOWN: u8 = 1;
44    pub const LANE_CURVE_MODEL_NOT_AVAILABLE: u8 = 2;
45    pub const LANE_CURVE_MODEL_LINEAR: u8 = 3;
46    pub const LANE_CURVE_MODEL_PARABOLIC: u8 = 4;
47    pub const LANE_CURVE_MODEL_3D: u8 = 5;
48    pub const LANE_CURVE_MODEL_KIND_COUNT: u8 = 6;
49}
50
51impl Default for Lane {
52    fn default() -> Self {
53        Lane {
54            quality: 0,
55            marker_kind: 0,
56            curve_model_kind: 0,
57            marker_offset: 0.0,
58            heading_angle: 0.0,
59            curvature: 0.0,
60            curvature_derivative: 0.0,
61            marker_width: 0.0,
62            view_range: 0.0,
63        }
64    }
65}
66
67impl ros2_client::Message for Lane {}