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 Light {
    pub header: crate::std_msgs::msg::Header,
    pub name: ::std::string::String,
    #[serde(rename = "type")]    pub type_: u8,
    pub pose: crate::geometry_msgs::msg::Pose,
    pub diffuse: crate::std_msgs::msg::ColorRGBA,
    pub specular: crate::std_msgs::msg::ColorRGBA,
    pub attenuation_constant: f32,
    pub attenuation_linear: f32,
    pub attenuation_quadratic: f32,
    pub direction: crate::geometry_msgs::msg::Vector3,
    pub range: f32,
    pub cast_shadows: bool,
    pub spot_inner_angle: f32,
    pub spot_outer_angle: f32,
    pub spot_falloff: f32,
    pub id: u32,
    pub parent_id: u32,
    pub intensity: f32,
}

impl Light {
    pub const POINT: u8 = 0;
    pub const SPOT: u8 = 1;
    pub const DIRECTIONAL: u8 = 2;
}

impl Default for Light {
    fn default() -> Self {
        Light {
            header: crate::std_msgs::msg::Header::default(),
            name: ::std::string::String::new(),
            type_: 0,
            pose: crate::geometry_msgs::msg::Pose::default(),
            diffuse: crate::std_msgs::msg::ColorRGBA::default(),
            specular: crate::std_msgs::msg::ColorRGBA::default(),
            attenuation_constant: 0.0,
            attenuation_linear: 0.0,
            attenuation_quadratic: 0.0,
            direction: crate::geometry_msgs::msg::Vector3::default(),
            range: 0.0,
            cast_shadows: false,
            spot_inner_angle: 0.0,
            spot_outer_angle: 0.0,
            spot_falloff: 0.0,
            id: 0,
            parent_id: 0,
            intensity: 0.0,
        }
    }
}

impl ros2_client::Message for Light {}