// This file is @generated by prost-build.
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ClientExpandMapOverwriteZoneInformation {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<
        super::super::super::super::make87_messages::core::Header,
    >,
    #[prost(int64, tag = "2")]
    pub id: i64,
    #[prost(string, tag = "3")]
    pub name: ::prost::alloc::string::String,
    #[prost(int64, tag = "4")]
    pub r#type: i64,
    #[prost(message, repeated, tag = "5")]
    pub polygon: ::prost::alloc::vec::Vec<super::super::geometry_msgs::msg::Point32>,
}
impl ::prost::Name for ClientExpandMapOverwriteZoneInformation {
    const NAME: &'static str = "ClientExpandMapOverwriteZoneInformation";
    const PACKAGE: &'static str = "make87_messages_ros2.humble.bosch_locator_bridge.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.humble.bosch_locator_bridge.msg.ClientExpandMapOverwriteZoneInformation"
            .into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.humble.bosch_locator_bridge.msg.ClientExpandMapOverwriteZoneInformation"
            .into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ClientExpandMapVisualization {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<
        super::super::super::super::make87_messages::core::Header,
    >,
    #[prost(message, optional, tag = "2")]
    pub timestamp: ::core::option::Option<super::super::builtin_interfaces::msg::Time>,
    #[prost(uint64, tag = "3")]
    pub visualization_id: u64,
    #[prost(message, repeated, tag = "4")]
    pub zones: ::prost::alloc::vec::Vec<ClientExpandMapOverwriteZoneInformation>,
    #[prost(message, optional, tag = "5")]
    pub prior_map_poses: ::core::option::Option<
        super::super::geometry_msgs::msg::PoseArray,
    >,
    #[prost(int32, repeated, tag = "6")]
    pub prior_map_pose_types: ::prost::alloc::vec::Vec<i32>,
}
impl ::prost::Name for ClientExpandMapVisualization {
    const NAME: &'static str = "ClientExpandMapVisualization";
    const PACKAGE: &'static str = "make87_messages_ros2.humble.bosch_locator_bridge.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.humble.bosch_locator_bridge.msg.ClientExpandMapVisualization"
            .into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.humble.bosch_locator_bridge.msg.ClientExpandMapVisualization"
            .into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ClientRecordingVisualization {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<
        super::super::super::super::make87_messages::core::Header,
    >,
    #[prost(message, optional, tag = "2")]
    pub timestamp: ::core::option::Option<super::super::builtin_interfaces::msg::Time>,
    #[prost(uint64, tag = "3")]
    pub visualization_id: u64,
    #[prost(int32, tag = "4")]
    pub status: i32,
    #[prost(double, tag = "5")]
    pub distance_to_last_lc: f64,
    #[prost(double, tag = "6")]
    pub delay: f64,
    #[prost(double, tag = "7")]
    pub progress: f64,
    #[prost(int32, repeated, tag = "8")]
    pub path_types: ::prost::alloc::vec::Vec<i32>,
}
impl ::prost::Name for ClientRecordingVisualization {
    const NAME: &'static str = "ClientRecordingVisualization";
    const PACKAGE: &'static str = "make87_messages_ros2.humble.bosch_locator_bridge.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.humble.bosch_locator_bridge.msg.ClientRecordingVisualization"
            .into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.humble.bosch_locator_bridge.msg.ClientRecordingVisualization"
            .into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ClientLocalizationPose {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<
        super::super::super::super::make87_messages::core::Header,
    >,
    #[prost(message, optional, tag = "2")]
    pub age: ::core::option::Option<super::super::builtin_interfaces::msg::Duration>,
    #[prost(message, optional, tag = "3")]
    pub timestamp: ::core::option::Option<super::super::builtin_interfaces::msg::Time>,
    #[prost(uint64, tag = "4")]
    pub unique_id: u64,
    #[prost(int32, tag = "5")]
    pub state: i32,
    #[prost(uint64, tag = "6")]
    pub epoch: u64,
    #[prost(uint64, tag = "7")]
    pub error_flags: u64,
    #[prost(uint64, tag = "8")]
    pub info_flags: u64,
}
impl ::prost::Name for ClientLocalizationPose {
    const NAME: &'static str = "ClientLocalizationPose";
    const PACKAGE: &'static str = "make87_messages_ros2.humble.bosch_locator_bridge.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.humble.bosch_locator_bridge.msg.ClientLocalizationPose"
            .into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.humble.bosch_locator_bridge.msg.ClientLocalizationPose"
            .into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ClientControlMode {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<
        super::super::super::super::make87_messages::core::Header,
    >,
    #[prost(message, optional, tag = "2")]
    pub stamp: ::core::option::Option<super::super::builtin_interfaces::msg::Time>,
    #[prost(uint32, tag = "3")]
    pub visual_recording_state: u32,
    #[prost(uint32, tag = "4")]
    pub map_state: u32,
    #[prost(uint32, tag = "5")]
    pub localization_state: u32,
    #[prost(uint32, tag = "6")]
    pub recording_state: u32,
    #[prost(uint32, tag = "7")]
    pub alignment_state: u32,
    #[prost(uint32, tag = "8")]
    pub mask_state: u32,
    #[prost(uint32, tag = "9")]
    pub expandmap_state: u32,
}
impl ::prost::Name for ClientControlMode {
    const NAME: &'static str = "ClientControlMode";
    const PACKAGE: &'static str = "make87_messages_ros2.humble.bosch_locator_bridge.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.humble.bosch_locator_bridge.msg.ClientControlMode".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.humble.bosch_locator_bridge.msg.ClientControlMode".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ClientGlobalAlignLandmarkObservationNotice {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<
        super::super::super::super::make87_messages::core::Header,
    >,
    #[prost(uint32, tag = "2")]
    pub pose_index: u32,
    #[prost(uint32, tag = "3")]
    pub landmark_index: u32,
}
impl ::prost::Name for ClientGlobalAlignLandmarkObservationNotice {
    const NAME: &'static str = "ClientGlobalAlignLandmarkObservationNotice";
    const PACKAGE: &'static str = "make87_messages_ros2.humble.bosch_locator_bridge.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.humble.bosch_locator_bridge.msg.ClientGlobalAlignLandmarkObservationNotice"
            .into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.humble.bosch_locator_bridge.msg.ClientGlobalAlignLandmarkObservationNotice"
            .into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ClientGlobalAlignLandmarkVisualizationInformation {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<
        super::super::super::super::make87_messages::core::Header,
    >,
    #[prost(int64, tag = "2")]
    pub r#type: i64,
    #[prost(bool, tag = "3")]
    pub has_orientation: bool,
    #[prost(string, tag = "4")]
    pub name: ::prost::alloc::string::String,
}
impl ::prost::Name for ClientGlobalAlignLandmarkVisualizationInformation {
    const NAME: &'static str = "ClientGlobalAlignLandmarkVisualizationInformation";
    const PACKAGE: &'static str = "make87_messages_ros2.humble.bosch_locator_bridge.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.humble.bosch_locator_bridge.msg.ClientGlobalAlignLandmarkVisualizationInformation"
            .into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.humble.bosch_locator_bridge.msg.ClientGlobalAlignLandmarkVisualizationInformation"
            .into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ClientGlobalAlignVisualization {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<
        super::super::super::super::make87_messages::core::Header,
    >,
    #[prost(message, optional, tag = "2")]
    pub timestamp: ::core::option::Option<super::super::builtin_interfaces::msg::Time>,
    #[prost(uint64, tag = "3")]
    pub visualization_id: u64,
    #[prost(message, repeated, tag = "4")]
    pub landmarks: ::prost::alloc::vec::Vec<
        ClientGlobalAlignLandmarkVisualizationInformation,
    >,
    #[prost(message, repeated, tag = "5")]
    pub observations: ::prost::alloc::vec::Vec<
        ClientGlobalAlignLandmarkObservationNotice,
    >,
}
impl ::prost::Name for ClientGlobalAlignVisualization {
    const NAME: &'static str = "ClientGlobalAlignVisualization";
    const PACKAGE: &'static str = "make87_messages_ros2.humble.bosch_locator_bridge.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.humble.bosch_locator_bridge.msg.ClientGlobalAlignVisualization"
            .into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.humble.bosch_locator_bridge.msg.ClientGlobalAlignVisualization"
            .into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ClientLocalizationVisualization {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<
        super::super::super::super::make87_messages::core::Header,
    >,
    #[prost(message, optional, tag = "2")]
    pub timestamp: ::core::option::Option<super::super::builtin_interfaces::msg::Time>,
    #[prost(uint64, tag = "3")]
    pub unique_id: u64,
    #[prost(int32, tag = "4")]
    pub loc_state: i32,
    #[prost(double, tag = "5")]
    pub delay: f64,
}
impl ::prost::Name for ClientLocalizationVisualization {
    const NAME: &'static str = "ClientLocalizationVisualization";
    const PACKAGE: &'static str = "make87_messages_ros2.humble.bosch_locator_bridge.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.humble.bosch_locator_bridge.msg.ClientLocalizationVisualization"
            .into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.humble.bosch_locator_bridge.msg.ClientLocalizationVisualization"
            .into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ClientMapVisualization {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<
        super::super::super::super::make87_messages::core::Header,
    >,
    #[prost(message, optional, tag = "2")]
    pub timestamp: ::core::option::Option<super::super::builtin_interfaces::msg::Time>,
    #[prost(uint64, tag = "3")]
    pub visualization_id: u64,
    #[prost(int32, tag = "4")]
    pub status: i32,
    #[prost(double, tag = "5")]
    pub distance_to_last_lc: f64,
    #[prost(double, tag = "6")]
    pub delay: f64,
    #[prost(double, tag = "7")]
    pub progress: f64,
    #[prost(int32, repeated, tag = "8")]
    pub path_types: ::prost::alloc::vec::Vec<i32>,
}
impl ::prost::Name for ClientMapVisualization {
    const NAME: &'static str = "ClientMapVisualization";
    const PACKAGE: &'static str = "make87_messages_ros2.humble.bosch_locator_bridge.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.humble.bosch_locator_bridge.msg.ClientMapVisualization"
            .into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.humble.bosch_locator_bridge.msg.ClientMapVisualization"
            .into()
    }
}
