ros2_interfaces_rolling/visualization_msgs/msg/
interactive_marker_control.rs

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
use serde::{Deserialize, Serialize};

#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
pub struct InteractiveMarkerControl {
    pub name: ::std::string::String,
    pub orientation: crate::geometry_msgs::msg::Quaternion,
    pub orientation_mode: u8,
    pub interaction_mode: u8,
    pub always_visible: bool,
    pub markers: Vec<crate::visualization_msgs::msg::Marker>,
    pub independent_marker_orientation: bool,
    pub description: ::std::string::String,
}

impl InteractiveMarkerControl {
    pub const INHERIT: u8 = 0;
    pub const FIXED: u8 = 1;
    pub const VIEW_FACING: u8 = 2;
    pub const NONE: u8 = 0;
    pub const MENU: u8 = 1;
    pub const BUTTON: u8 = 2;
    pub const MOVE_AXIS: u8 = 3;
    pub const MOVE_PLANE: u8 = 4;
    pub const ROTATE_AXIS: u8 = 5;
    pub const MOVE_ROTATE: u8 = 6;
    pub const MOVE_3D: u8 = 7;
    pub const ROTATE_3D: u8 = 8;
    pub const MOVE_ROTATE_3D: u8 = 9;
}

impl Default for InteractiveMarkerControl {
    fn default() -> Self {
        InteractiveMarkerControl {
            name: ::std::string::String::new(),
            orientation: crate::geometry_msgs::msg::Quaternion::default(),
            orientation_mode: 0,
            interaction_mode: 0,
            always_visible: false,
            markers: Vec::new(),
            independent_marker_orientation: false,
            description: ::std::string::String::new(),
        }
    }
}

impl ros2_client::Message for InteractiveMarkerControl {}