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};
use serde_with::serde_as;

#[serde_as]
#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
pub struct OdomInfo {
    pub header: crate::std_msgs::msg::Header,
    pub lost: bool,
    pub matches: i32,
    pub inliers: i32,
    pub icp_inliers_ratio: f32,
    pub icp_rotation: f32,
    pub icp_translation: f32,
    pub icp_structural_complexity: f32,
    pub icp_structural_distribution: f32,
    pub icp_correspondences: i32,
    #[serde_as(as = "[_; 36]")]
    pub covariance: [f64; 36],
    pub features: i32,
    pub local_map_size: i32,
    pub local_scan_map_size: i32,
    pub local_key_frames: i32,
    pub local_bundle_outliers: i32,
    pub local_bundle_constraints: i32,
    pub local_bundle_time: f32,
    pub key_frame_added: bool,
    pub time_estimation: f32,
    pub time_particle_filtering: f32,
    pub stamp: f32,
    pub interval: f32,
    pub distance_travelled: f32,
    pub memory_usage: i32,
    pub gravity_roll_error: f32,
    pub gravity_pitch_error: f32,
    pub local_bundle_ids: Vec<i32>,
    pub local_bundle_models: Vec<crate::rtabmap_msgs::msg::CameraModels>,
    pub local_bundle_poses: Vec<crate::geometry_msgs::msg::Pose>,
    pub transform: crate::geometry_msgs::msg::Transform,
    pub transform_filtered: crate::geometry_msgs::msg::Transform,
    pub transform_ground_truth: crate::geometry_msgs::msg::Transform,
    pub guess: crate::geometry_msgs::msg::Transform,
    #[serde(rename = "type")]    pub type_: i32,
    pub words_keys: Vec<i32>,
    pub words_values: Vec<crate::rtabmap_msgs::msg::KeyPoint>,
    pub word_matches: Vec<i32>,
    pub word_inliers: Vec<i32>,
    pub local_map_keys: Vec<i32>,
    pub local_map_values: Vec<crate::rtabmap_msgs::msg::Point3f>,
    pub local_scan_map: crate::sensor_msgs::msg::PointCloud2,
    pub ref_corners: Vec<crate::rtabmap_msgs::msg::Point2f>,
    pub new_corners: Vec<crate::rtabmap_msgs::msg::Point2f>,
    pub corner_inliers: Vec<i32>,
}

impl Default for OdomInfo {
    fn default() -> Self {
        OdomInfo {
            header: crate::std_msgs::msg::Header::default(),
            lost: false,
            matches: 0,
            inliers: 0,
            icp_inliers_ratio: 0.0,
            icp_rotation: 0.0,
            icp_translation: 0.0,
            icp_structural_complexity: 0.0,
            icp_structural_distribution: 0.0,
            icp_correspondences: 0,
            covariance: [0.0; 36],
            features: 0,
            local_map_size: 0,
            local_scan_map_size: 0,
            local_key_frames: 0,
            local_bundle_outliers: 0,
            local_bundle_constraints: 0,
            local_bundle_time: 0.0,
            key_frame_added: false,
            time_estimation: 0.0,
            time_particle_filtering: 0.0,
            stamp: 0.0,
            interval: 0.0,
            distance_travelled: 0.0,
            memory_usage: 0,
            gravity_roll_error: 0.0,
            gravity_pitch_error: 0.0,
            local_bundle_ids: Vec::new(),
            local_bundle_models: Vec::new(),
            local_bundle_poses: Vec::new(),
            transform: crate::geometry_msgs::msg::Transform::default(),
            transform_filtered: crate::geometry_msgs::msg::Transform::default(),
            transform_ground_truth: crate::geometry_msgs::msg::Transform::default(),
            guess: crate::geometry_msgs::msg::Transform::default(),
            type_: 0,
            words_keys: Vec::new(),
            words_values: Vec::new(),
            word_matches: Vec::new(),
            word_inliers: Vec::new(),
            local_map_keys: Vec::new(),
            local_map_values: Vec::new(),
            local_scan_map: crate::sensor_msgs::msg::PointCloud2::default(),
            ref_corners: Vec::new(),
            new_corners: Vec::new(),
            corner_inliers: Vec::new(),
        }
    }
}

impl ros2_client::Message for OdomInfo {}