ros2_interfaces_humble/visualization_msgs/msg/
interactive_marker_control.rs1use serde::{Deserialize, Serialize};
2
3#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
4pub struct InteractiveMarkerControl {
5 pub name: ::std::string::String,
6 pub orientation: crate::geometry_msgs::msg::Quaternion,
7 pub orientation_mode: u8,
8 pub interaction_mode: u8,
9 pub always_visible: bool,
10 pub markers: Vec<crate::visualization_msgs::msg::Marker>,
11 pub independent_marker_orientation: bool,
12 pub description: ::std::string::String,
13}
14
15impl InteractiveMarkerControl {
16 pub const INHERIT: u8 = 0;
17 pub const FIXED: u8 = 1;
18 pub const VIEW_FACING: u8 = 2;
19 pub const NONE: u8 = 0;
20 pub const MENU: u8 = 1;
21 pub const BUTTON: u8 = 2;
22 pub const MOVE_AXIS: u8 = 3;
23 pub const MOVE_PLANE: u8 = 4;
24 pub const ROTATE_AXIS: u8 = 5;
25 pub const MOVE_ROTATE: u8 = 6;
26 pub const MOVE_3D: u8 = 7;
27 pub const ROTATE_3D: u8 = 8;
28 pub const MOVE_ROTATE_3D: u8 = 9;
29}
30
31impl Default for InteractiveMarkerControl {
32 fn default() -> Self {
33 InteractiveMarkerControl {
34 name: ::std::string::String::new(),
35 orientation: crate::geometry_msgs::msg::Quaternion::default(),
36 orientation_mode: 0,
37 interaction_mode: 0,
38 always_visible: false,
39 markers: Vec::new(),
40 independent_marker_orientation: false,
41 description: ::std::string::String::new(),
42 }
43 }
44}
45
46impl ros2_client::Message for InteractiveMarkerControl {}