ros2-interfaces-iron 0.0.2

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

#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
pub struct TrackedObject {
    pub header: crate::std_msgs::msg::Header,
    pub id: u16,
    pub pose: crate::geometry_msgs::msg::PoseWithCovariance,
    pub velocity: crate::geometry_msgs::msg::TwistWithCovariance,
    pub linear_acceleration: crate::geometry_msgs::msg::Vector3,
    pub linear_acceleration_covariance: [f64; 9],
    pub polygon: Vec<crate::geometry_msgs::msg::Point>,
    pub length: f32,
    pub length_quality: f32,
    pub width: f32,
    pub width_quality: f32,
    pub classification: u8,
    pub classification_quality: f32,
    pub existence_probability: f32,
    pub age_duration: crate::builtin_interfaces::msg::Duration,
    pub prediction_duration: crate::builtin_interfaces::msg::Duration,
    pub active: bool,
}

impl TrackedObject {
    pub const VEHICLE: u8 = 0;
    pub const PEDESTRIAN: u8 = 1;
    pub const UNKNOWN: u8 = 255;
}

impl Default for TrackedObject {
    fn default() -> Self {
        TrackedObject {
            header: crate::std_msgs::msg::Header::default(),
            id: 0,
            pose: crate::geometry_msgs::msg::PoseWithCovariance::default(),
            velocity: crate::geometry_msgs::msg::TwistWithCovariance::default(),
            linear_acceleration: crate::geometry_msgs::msg::Vector3::default(),
            linear_acceleration_covariance: [0.0; 9],
            polygon: Vec::new(),
            length: 0.0,
            length_quality: 0.0,
            width: 0.0,
            width_quality: 0.0,
            classification: 0,
            classification_quality: 0.0,
            existence_probability: 0.0,
            age_duration: crate::builtin_interfaces::msg::Duration::default(),
            prediction_duration: crate::builtin_interfaces::msg::Duration::default(),
            active: false,
        }
    }
}

impl ros2_client::Message for TrackedObject {}