// This file is @generated by prost-build.
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GeoPoint {
    #[prost(double, tag = "1")]
    pub latitude: f64,
    #[prost(double, tag = "2")]
    pub longitude: f64,
    #[prost(double, tag = "3")]
    pub altitude: f64,
}
impl ::prost::Name for GeoPoint {
    const NAME: &'static str = "GeoPoint";
    const PACKAGE: &'static str = "make87_messages_ros2.rolling.tuw_object_map_msgs.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.rolling.tuw_object_map_msgs.msg.GeoPoint".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.rolling.tuw_object_map_msgs.msg.GeoPoint".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Object {
    #[prost(int64, tag = "1")]
    pub id: i64,
    #[prost(uint32, tag = "2")]
    pub r#type: u32,
    #[prost(message, repeated, tag = "3")]
    pub geo_points: ::prost::alloc::vec::Vec<GeoPoint>,
    #[prost(message, repeated, tag = "4")]
    pub map_points: ::prost::alloc::vec::Vec<super::super::geometry_msgs::msg::Point>,
    #[prost(double, repeated, tag = "5")]
    pub enflation_radius: ::prost::alloc::vec::Vec<f64>,
    #[prost(double, repeated, tag = "6")]
    pub bondary_radius: ::prost::alloc::vec::Vec<f64>,
}
impl ::prost::Name for Object {
    const NAME: &'static str = "Object";
    const PACKAGE: &'static str = "make87_messages_ros2.rolling.tuw_object_map_msgs.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.rolling.tuw_object_map_msgs.msg.Object".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.rolling.tuw_object_map_msgs.msg.Object".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Objects {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<super::super::std_msgs::msg::Header>,
    #[prost(message, repeated, tag = "2")]
    pub objects: ::prost::alloc::vec::Vec<Object>,
}
impl ::prost::Name for Objects {
    const NAME: &'static str = "Objects";
    const PACKAGE: &'static str = "make87_messages_ros2.rolling.tuw_object_map_msgs.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.rolling.tuw_object_map_msgs.msg.Objects".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.rolling.tuw_object_map_msgs.msg.Objects".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GeoJsonProperties {
    #[prost(uint32, tag = "1")]
    pub id: u32,
    #[prost(uint32, tag = "2")]
    pub r#type: u32,
    #[prost(double, repeated, tag = "3")]
    pub enflation_radius: ::prost::alloc::vec::Vec<f64>,
    #[prost(double, repeated, tag = "4")]
    pub bondary_radius: ::prost::alloc::vec::Vec<f64>,
}
impl ::prost::Name for GeoJsonProperties {
    const NAME: &'static str = "GeoJSONProperties";
    const PACKAGE: &'static str = "make87_messages_ros2.rolling.tuw_object_map_msgs.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.rolling.tuw_object_map_msgs.msg.GeoJSONProperties".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.rolling.tuw_object_map_msgs.msg.GeoJSONProperties".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GeoJsonGeometry {
    #[prost(string, tag = "1")]
    pub r#type: ::prost::alloc::string::String,
    #[prost(message, repeated, tag = "2")]
    pub coordinates: ::prost::alloc::vec::Vec<GeoPoint>,
    #[prost(message, optional, tag = "3")]
    pub properties: ::core::option::Option<GeoJsonProperties>,
}
impl ::prost::Name for GeoJsonGeometry {
    const NAME: &'static str = "GeoJSONGeometry";
    const PACKAGE: &'static str = "make87_messages_ros2.rolling.tuw_object_map_msgs.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.rolling.tuw_object_map_msgs.msg.GeoJSONGeometry".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.rolling.tuw_object_map_msgs.msg.GeoJSONGeometry".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GeoJsonFeature {
    #[prost(string, tag = "1")]
    pub r#type: ::prost::alloc::string::String,
    #[prost(message, optional, tag = "2")]
    pub geometry: ::core::option::Option<GeoJsonGeometry>,
}
impl ::prost::Name for GeoJsonFeature {
    const NAME: &'static str = "GeoJSONFeature";
    const PACKAGE: &'static str = "make87_messages_ros2.rolling.tuw_object_map_msgs.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.rolling.tuw_object_map_msgs.msg.GeoJSONFeature".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.rolling.tuw_object_map_msgs.msg.GeoJSONFeature".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GeoJson {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<super::super::std_msgs::msg::Header>,
    #[prost(string, tag = "2")]
    pub r#type: ::prost::alloc::string::String,
    #[prost(message, repeated, tag = "3")]
    pub features: ::prost::alloc::vec::Vec<GeoJsonFeature>,
}
impl ::prost::Name for GeoJson {
    const NAME: &'static str = "GeoJSON";
    const PACKAGE: &'static str = "make87_messages_ros2.rolling.tuw_object_map_msgs.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.rolling.tuw_object_map_msgs.msg.GeoJSON".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.rolling.tuw_object_map_msgs.msg.GeoJSON".into()
    }
}
