ros2_interfaces_humble/visualization_msgs/msg/
interactive_marker_control.rs

1use 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 {}