ros2_interfaces_rolling/moveit_msgs/msg/
collision_object.rs

1use serde::{Deserialize, Serialize};
2
3#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
4pub struct CollisionObject {
5    pub header: crate::std_msgs::msg::Header,
6    pub pose: crate::geometry_msgs::msg::Pose,
7    pub id: ::std::string::String,
8    #[serde(rename = "type")]    pub type_: crate::object_recognition_msgs::msg::ObjectType,
9    pub primitives: Vec<crate::shape_msgs::msg::SolidPrimitive>,
10    pub primitive_poses: Vec<crate::geometry_msgs::msg::Pose>,
11    pub meshes: Vec<crate::shape_msgs::msg::Mesh>,
12    pub mesh_poses: Vec<crate::geometry_msgs::msg::Pose>,
13    pub planes: Vec<crate::shape_msgs::msg::Plane>,
14    pub plane_poses: Vec<crate::geometry_msgs::msg::Pose>,
15    pub subframe_names: Vec<::std::string::String>,
16    pub subframe_poses: Vec<crate::geometry_msgs::msg::Pose>,
17    pub operation: u8,
18}
19
20impl CollisionObject {
21    pub const ADD: u8 = 0;
22    pub const REMOVE: u8 = 1;
23    pub const APPEND: u8 = 2;
24    pub const MOVE: u8 = 3;
25}
26
27impl Default for CollisionObject {
28    fn default() -> Self {
29        CollisionObject {
30            header: crate::std_msgs::msg::Header::default(),
31            pose: crate::geometry_msgs::msg::Pose::default(),
32            id: ::std::string::String::new(),
33            type_: crate::object_recognition_msgs::msg::ObjectType::default(),
34            primitives: Vec::new(),
35            primitive_poses: Vec::new(),
36            meshes: Vec::new(),
37            mesh_poses: Vec::new(),
38            planes: Vec::new(),
39            plane_poses: Vec::new(),
40            subframe_names: Vec::new(),
41            subframe_poses: Vec::new(),
42            operation: 0,
43        }
44    }
45}
46
47impl ros2_client::Message for CollisionObject {}