ros2_interfaces_rolling/shape_msgs/msg/
solid_primitive.rs1use 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 {}