// This file is @generated by prost-build.
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct BoundingBox3D {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<
        super::super::super::super::make87_messages::core::Header,
    >,
    #[prost(message, optional, tag = "2")]
    pub center: ::core::option::Option<super::super::geometry_msgs::msg::Pose>,
    #[prost(message, optional, tag = "3")]
    pub size: ::core::option::Option<super::super::geometry_msgs::msg::Vector3>,
}
impl ::prost::Name for BoundingBox3D {
    const NAME: &'static str = "BoundingBox3D";
    const PACKAGE: &'static str = "make87_messages_ros2.humble.rmf_obstacle_msgs.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.humble.rmf_obstacle_msgs.msg.BoundingBox3D".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.humble.rmf_obstacle_msgs.msg.BoundingBox3D".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Obstacle {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<
        super::super::super::super::make87_messages::core::Header,
    >,
    #[prost(message, optional, tag = "2")]
    pub ros2_header: ::core::option::Option<super::super::std_msgs::msg::Header>,
    #[prost(int32, tag = "3")]
    pub id: i32,
    #[prost(string, tag = "4")]
    pub source: ::prost::alloc::string::String,
    #[prost(string, tag = "5")]
    pub level_name: ::prost::alloc::string::String,
    #[prost(string, tag = "6")]
    pub classification: ::prost::alloc::string::String,
    #[prost(message, optional, tag = "7")]
    pub bbox: ::core::option::Option<BoundingBox3D>,
    #[prost(double, tag = "8")]
    pub data_resolution: f64,
    #[prost(int32, repeated, tag = "9")]
    pub data: ::prost::alloc::vec::Vec<i32>,
    #[prost(message, optional, tag = "10")]
    pub lifetime: ::core::option::Option<
        super::super::builtin_interfaces::msg::Duration,
    >,
    #[prost(int32, tag = "11")]
    pub action: i32,
}
impl ::prost::Name for Obstacle {
    const NAME: &'static str = "Obstacle";
    const PACKAGE: &'static str = "make87_messages_ros2.humble.rmf_obstacle_msgs.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.humble.rmf_obstacle_msgs.msg.Obstacle".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.humble.rmf_obstacle_msgs.msg.Obstacle".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Obstacles {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<
        super::super::super::super::make87_messages::core::Header,
    >,
    #[prost(message, repeated, tag = "2")]
    pub obstacles: ::prost::alloc::vec::Vec<Obstacle>,
}
impl ::prost::Name for Obstacles {
    const NAME: &'static str = "Obstacles";
    const PACKAGE: &'static str = "make87_messages_ros2.humble.rmf_obstacle_msgs.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.humble.rmf_obstacle_msgs.msg.Obstacles".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.humble.rmf_obstacle_msgs.msg.Obstacles".into()
    }
}
