ros2_interfaces_rolling/shape_msgs/msg/
solid_primitive.rs

1use serde::{Deserialize, Serialize};
2
3#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
4pub struct SolidPrimitive {
5    #[serde(rename = "type")]    pub type_: u8,
6    pub dimensions: Vec<f64>,
7    pub polygon: crate::geometry_msgs::msg::Polygon,
8}
9
10impl SolidPrimitive {
11    pub const BOX: u8 = 1;
12    pub const SPHERE: u8 = 2;
13    pub const CYLINDER: u8 = 3;
14    pub const CONE: u8 = 4;
15    pub const PRISM: u8 = 5;
16    pub const BOX_X: u8 = 0;
17    pub const BOX_Y: u8 = 1;
18    pub const BOX_Z: u8 = 2;
19    pub const SPHERE_RADIUS: u8 = 0;
20    pub const CYLINDER_HEIGHT: u8 = 0;
21    pub const CYLINDER_RADIUS: u8 = 1;
22    pub const CONE_HEIGHT: u8 = 0;
23    pub const CONE_RADIUS: u8 = 1;
24    pub const PRISM_HEIGHT: u8 = 0;
25}
26
27impl Default for SolidPrimitive {
28    fn default() -> Self {
29        SolidPrimitive {
30            type_: 0,
31            dimensions: Vec::new(),
32            polygon: crate::geometry_msgs::msg::Polygon::default(),
33        }
34    }
35}
36
37impl ros2_client::Message for SolidPrimitive {}