ros2_interfaces_rolling/rc_reason_msgs/srv/
cad_match_detect_object.rs

1use serde::{Deserialize, Serialize};
2
3
4#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
5pub struct CadMatchDetectObjectRequest {
6    pub template_id: ::std::string::String,
7    pub pose_frame: ::std::string::String,
8    pub region_of_interest_id: ::std::string::String,
9    pub load_carrier_id: ::std::string::String,
10    pub load_carrier_compartment: crate::rc_reason_msgs::msg::Compartment,
11    pub robot_pose: crate::geometry_msgs::msg::Pose,
12    pub collision_detection: crate::rc_reason_msgs::msg::CollisionDetection,
13    pub pose_prior_ids: Vec<::std::string::String>,
14    pub data_acquisition_mode: ::std::string::String,
15}
16
17impl Default for CadMatchDetectObjectRequest {
18    fn default() -> Self {
19        CadMatchDetectObjectRequest {
20            template_id: ::std::string::String::new(),
21            pose_frame: ::std::string::String::new(),
22            region_of_interest_id: ::std::string::String::new(),
23            load_carrier_id: ::std::string::String::new(),
24            load_carrier_compartment: crate::rc_reason_msgs::msg::Compartment::default(),
25            robot_pose: crate::geometry_msgs::msg::Pose::default(),
26            collision_detection: crate::rc_reason_msgs::msg::CollisionDetection::default(),
27            pose_prior_ids: Vec::new(),
28            data_acquisition_mode: ::std::string::String::new(),
29        }
30    }
31}
32
33impl ros2_client::Message for CadMatchDetectObjectRequest {}
34
35
36
37#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
38pub struct CadMatchDetectObjectResponse {
39    pub timestamp: crate::builtin_interfaces::msg::Time,
40    pub matches: Vec<crate::rc_reason_msgs::msg::Match>,
41    pub grasps: Vec<crate::rc_reason_msgs::msg::Grasp>,
42    pub load_carriers: Vec<crate::rc_reason_msgs::msg::LoadCarrier>,
43    pub return_code: crate::rc_common_msgs::msg::ReturnCode,
44}
45
46impl Default for CadMatchDetectObjectResponse {
47    fn default() -> Self {
48        CadMatchDetectObjectResponse {
49            timestamp: crate::builtin_interfaces::msg::Time::default(),
50            matches: Vec::new(),
51            grasps: Vec::new(),
52            load_carriers: Vec::new(),
53            return_code: crate::rc_common_msgs::msg::ReturnCode::default(),
54        }
55    }
56}
57
58impl ros2_client::Message for CadMatchDetectObjectResponse {}
59
60
61pub struct CadMatchDetectObject;
62impl ros2_client::Service for CadMatchDetectObject {
63    type Request = CadMatchDetectObjectRequest;
64    type Response = CadMatchDetectObjectResponse;
65
66    fn request_type_name(&self) -> &str { "CadMatchDetectObjectRequest" }
67    fn response_type_name(&self) -> &str { "CadMatchDetectObjectResponse" }
68}