ros2-interfaces-rolling 0.0.1

Structs for Messages and Services listed by ROS Index for ROS2 Rolling. Built around the `ros2-client` crate.
Documentation
use serde::{Deserialize, Serialize};

#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
pub struct TrackedProperties {
    pub object_age: u16,
    pub hidden_status_age: u16,
    pub object_phase: u8,
    pub dynamic_property: u8,
    pub relative_time_of_measure: u16,
    pub position_closest_point: crate::ibeo_msgs::msg::Point2Di,
    pub relative_velocity: crate::ibeo_msgs::msg::Point2Di,
    pub relative_velocity_sigma: crate::ibeo_msgs::msg::Point2Dui,
    pub classification: u8,
    pub classification_age: u16,
    pub object_box_size: crate::ibeo_msgs::msg::Point2Di,
    pub object_box_size_sigma: crate::ibeo_msgs::msg::Point2Dui,
    pub object_box_orientation: i16,
    pub object_box_orientation_sigma: u16,
    pub tracking_point_location: u8,
    pub tracking_point_coordinate: crate::ibeo_msgs::msg::Point2Di,
    pub tracking_point_coordinate_sigma: crate::ibeo_msgs::msg::Point2Dui,
    pub velocity: crate::ibeo_msgs::msg::Point2Di,
    pub velocity_sigma: crate::ibeo_msgs::msg::Point2Dui,
    pub acceleration: crate::ibeo_msgs::msg::Point2Di,
    pub acceleration_sigma: crate::ibeo_msgs::msg::Point2Dui,
    pub yaw_rate: i16,
    pub yaw_rate_sigma: u16,
    pub number_of_contour_points: u8,
    pub contour_point_list: Vec<crate::ibeo_msgs::msg::ContourPointSigma>,
}

impl TrackedProperties {
    pub const INITIALIZATION_PHASE: u8 = 0;
    pub const TRACKING_PHASE: u8 = 1;
    pub const DYNAMIC_AND_MOVING: u8 = 0;
    pub const DYNAMIC_AND_STOPPED: u8 = 1;
    pub const A_PRIORI_STATIONARY: u8 = 2;
    pub const UNCLASSIFIED: u8 = 0;
    pub const UNKNOWN_SMALL: u8 = 1;
    pub const UNKNOWN_BIG: u8 = 2;
    pub const PEDESTRIAN: u8 = 3;
    pub const BIKE: u8 = 4;
    pub const CAR: u8 = 5;
    pub const TRUCK: u8 = 6;
    pub const OVER_DRIVABLE: u8 = 10;
    pub const UNDER_DRIVABLE: u8 = 11;
    pub const CENTER_OF_GRAVITY: u8 = 0;
    pub const TOP_FRONT_LEFT_CORNER: u8 = 1;
    pub const TOP_FRONT_RIGHT_CORNER: u8 = 2;
    pub const BOTTOM_REAR_RIGHT_CORNER: u8 = 3;
    pub const BOTTOM_REAR_LEFT_CORNER: u8 = 4;
    pub const CENTER_OF_TOP_FRONT_EDGE: u8 = 5;
    pub const CENTER_OF_RIGHT_EDGE: u8 = 6;
    pub const CENTER_OF_BOTTOM_REAR_EDGE: u8 = 7;
    pub const CENTER_OF_LEFT_EDGE: u8 = 8;
    pub const BOX_CENTER: u8 = 9;
    pub const INVALID: u8 = 255;
}

impl Default for TrackedProperties {
    fn default() -> Self {
        TrackedProperties {
            object_age: 0,
            hidden_status_age: 0,
            object_phase: 0,
            dynamic_property: 0,
            relative_time_of_measure: 0,
            position_closest_point: crate::ibeo_msgs::msg::Point2Di::default(),
            relative_velocity: crate::ibeo_msgs::msg::Point2Di::default(),
            relative_velocity_sigma: crate::ibeo_msgs::msg::Point2Dui::default(),
            classification: 0,
            classification_age: 0,
            object_box_size: crate::ibeo_msgs::msg::Point2Di::default(),
            object_box_size_sigma: crate::ibeo_msgs::msg::Point2Dui::default(),
            object_box_orientation: 0,
            object_box_orientation_sigma: 0,
            tracking_point_location: 0,
            tracking_point_coordinate: crate::ibeo_msgs::msg::Point2Di::default(),
            tracking_point_coordinate_sigma: crate::ibeo_msgs::msg::Point2Dui::default(),
            velocity: crate::ibeo_msgs::msg::Point2Di::default(),
            velocity_sigma: crate::ibeo_msgs::msg::Point2Dui::default(),
            acceleration: crate::ibeo_msgs::msg::Point2Di::default(),
            acceleration_sigma: crate::ibeo_msgs::msg::Point2Dui::default(),
            yaw_rate: 0,
            yaw_rate_sigma: 0,
            number_of_contour_points: 0,
            contour_point_list: Vec::new(),
        }
    }
}

impl ros2_client::Message for TrackedProperties {}