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 VisibilityConstraint {
    pub target_radius: f64,
    pub target_pose: crate::geometry_msgs::msg::PoseStamped,
    pub cone_sides: i32,
    pub sensor_pose: crate::geometry_msgs::msg::PoseStamped,
    pub max_view_angle: f64,
    pub max_range_angle: f64,
    pub sensor_view_direction: u8,
    pub weight: f64,
}

impl VisibilityConstraint {
    pub const SENSOR_Z: u8 = 0;
    pub const SENSOR_Y: u8 = 1;
    pub const SENSOR_X: u8 = 2;
}

impl Default for VisibilityConstraint {
    fn default() -> Self {
        VisibilityConstraint {
            target_radius: 0.0,
            target_pose: crate::geometry_msgs::msg::PoseStamped::default(),
            cone_sides: 0,
            sensor_pose: crate::geometry_msgs::msg::PoseStamped::default(),
            max_view_angle: 0.0,
            max_range_angle: 0.0,
            sensor_view_direction: 0,
            weight: 0.0,
        }
    }
}

impl ros2_client::Message for VisibilityConstraint {}