// This file is @generated by prost-build.
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct CostmapMetaData {
    #[prost(message, optional, tag = "1")]
    pub map_load_time: ::core::option::Option<
        super::super::builtin_interfaces::msg::Time,
    >,
    #[prost(message, optional, tag = "2")]
    pub update_time: ::core::option::Option<super::super::builtin_interfaces::msg::Time>,
    #[prost(string, tag = "3")]
    pub layer: ::prost::alloc::string::String,
    #[prost(float, tag = "4")]
    pub resolution: f32,
    #[prost(uint32, tag = "5")]
    pub size_x: u32,
    #[prost(uint32, tag = "6")]
    pub size_y: u32,
    #[prost(message, optional, tag = "7")]
    pub origin: ::core::option::Option<super::super::geometry_msgs::msg::Pose>,
}
impl ::prost::Name for CostmapMetaData {
    const NAME: &'static str = "CostmapMetaData";
    const PACKAGE: &'static str = "make87_messages_ros2.jazzy.nav2_msgs.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.jazzy.nav2_msgs.msg.CostmapMetaData".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.jazzy.nav2_msgs.msg.CostmapMetaData".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Costmap {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<super::super::std_msgs::msg::Header>,
    #[prost(message, optional, tag = "2")]
    pub metadata: ::core::option::Option<CostmapMetaData>,
    #[prost(uint32, repeated, tag = "3")]
    pub data: ::prost::alloc::vec::Vec<u32>,
}
impl ::prost::Name for Costmap {
    const NAME: &'static str = "Costmap";
    const PACKAGE: &'static str = "make87_messages_ros2.jazzy.nav2_msgs.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.jazzy.nav2_msgs.msg.Costmap".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.jazzy.nav2_msgs.msg.Costmap".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct CollisionDetectorState {
    #[prost(string, repeated, tag = "1")]
    pub polygons: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
    #[prost(bool, repeated, tag = "2")]
    pub detections: ::prost::alloc::vec::Vec<bool>,
}
impl ::prost::Name for CollisionDetectorState {
    const NAME: &'static str = "CollisionDetectorState";
    const PACKAGE: &'static str = "make87_messages_ros2.jazzy.nav2_msgs.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.jazzy.nav2_msgs.msg.CollisionDetectorState".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.jazzy.nav2_msgs.msg.CollisionDetectorState".into()
    }
}
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Particle {
    #[prost(message, optional, tag = "1")]
    pub pose: ::core::option::Option<super::super::geometry_msgs::msg::Pose>,
    #[prost(double, tag = "2")]
    pub weight: f64,
}
impl ::prost::Name for Particle {
    const NAME: &'static str = "Particle";
    const PACKAGE: &'static str = "make87_messages_ros2.jazzy.nav2_msgs.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.jazzy.nav2_msgs.msg.Particle".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.jazzy.nav2_msgs.msg.Particle".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct BehaviorTreeStatusChange {
    #[prost(message, optional, tag = "1")]
    pub timestamp: ::core::option::Option<super::super::builtin_interfaces::msg::Time>,
    #[prost(string, tag = "2")]
    pub node_name: ::prost::alloc::string::String,
    #[prost(uint32, tag = "3")]
    pub uid: u32,
    #[prost(string, tag = "4")]
    pub previous_status: ::prost::alloc::string::String,
    #[prost(string, tag = "5")]
    pub current_status: ::prost::alloc::string::String,
}
impl ::prost::Name for BehaviorTreeStatusChange {
    const NAME: &'static str = "BehaviorTreeStatusChange";
    const PACKAGE: &'static str = "make87_messages_ros2.jazzy.nav2_msgs.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.jazzy.nav2_msgs.msg.BehaviorTreeStatusChange".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.jazzy.nav2_msgs.msg.BehaviorTreeStatusChange".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct BehaviorTreeLog {
    #[prost(message, optional, tag = "1")]
    pub timestamp: ::core::option::Option<super::super::builtin_interfaces::msg::Time>,
    #[prost(message, repeated, tag = "2")]
    pub event_log: ::prost::alloc::vec::Vec<BehaviorTreeStatusChange>,
}
impl ::prost::Name for BehaviorTreeLog {
    const NAME: &'static str = "BehaviorTreeLog";
    const PACKAGE: &'static str = "make87_messages_ros2.jazzy.nav2_msgs.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.jazzy.nav2_msgs.msg.BehaviorTreeLog".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.jazzy.nav2_msgs.msg.BehaviorTreeLog".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MissedWaypoint {
    #[prost(uint32, tag = "1")]
    pub index: u32,
    #[prost(message, optional, tag = "2")]
    pub goal: ::core::option::Option<super::super::geometry_msgs::msg::PoseStamped>,
    #[prost(uint32, tag = "3")]
    pub error_code: u32,
}
impl ::prost::Name for MissedWaypoint {
    const NAME: &'static str = "MissedWaypoint";
    const PACKAGE: &'static str = "make87_messages_ros2.jazzy.nav2_msgs.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.jazzy.nav2_msgs.msg.MissedWaypoint".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.jazzy.nav2_msgs.msg.MissedWaypoint".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct CostmapFilterInfo {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<super::super::std_msgs::msg::Header>,
    #[prost(uint32, tag = "2")]
    pub r#type: u32,
    #[prost(string, tag = "3")]
    pub filter_mask_topic: ::prost::alloc::string::String,
    #[prost(float, tag = "4")]
    pub base: f32,
    #[prost(float, tag = "5")]
    pub multiplier: f32,
}
impl ::prost::Name for CostmapFilterInfo {
    const NAME: &'static str = "CostmapFilterInfo";
    const PACKAGE: &'static str = "make87_messages_ros2.jazzy.nav2_msgs.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.jazzy.nav2_msgs.msg.CostmapFilterInfo".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.jazzy.nav2_msgs.msg.CostmapFilterInfo".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct CostmapUpdate {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<super::super::std_msgs::msg::Header>,
    #[prost(uint32, tag = "2")]
    pub x: u32,
    #[prost(uint32, tag = "3")]
    pub y: u32,
    #[prost(uint32, tag = "4")]
    pub size_x: u32,
    #[prost(uint32, tag = "5")]
    pub size_y: u32,
    #[prost(uint32, repeated, tag = "6")]
    pub data: ::prost::alloc::vec::Vec<u32>,
}
impl ::prost::Name for CostmapUpdate {
    const NAME: &'static str = "CostmapUpdate";
    const PACKAGE: &'static str = "make87_messages_ros2.jazzy.nav2_msgs.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.jazzy.nav2_msgs.msg.CostmapUpdate".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.jazzy.nav2_msgs.msg.CostmapUpdate".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct VoxelGrid {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<super::super::std_msgs::msg::Header>,
    #[prost(uint32, repeated, tag = "2")]
    pub data: ::prost::alloc::vec::Vec<u32>,
    #[prost(message, optional, tag = "3")]
    pub origin: ::core::option::Option<super::super::geometry_msgs::msg::Point32>,
    #[prost(message, optional, tag = "4")]
    pub resolutions: ::core::option::Option<super::super::geometry_msgs::msg::Vector3>,
    #[prost(uint32, tag = "5")]
    pub size_x: u32,
    #[prost(uint32, tag = "6")]
    pub size_y: u32,
    #[prost(uint32, tag = "7")]
    pub size_z: u32,
}
impl ::prost::Name for VoxelGrid {
    const NAME: &'static str = "VoxelGrid";
    const PACKAGE: &'static str = "make87_messages_ros2.jazzy.nav2_msgs.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.jazzy.nav2_msgs.msg.VoxelGrid".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.jazzy.nav2_msgs.msg.VoxelGrid".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SpeedLimit {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<super::super::std_msgs::msg::Header>,
    #[prost(bool, tag = "2")]
    pub percentage: bool,
    #[prost(double, tag = "3")]
    pub speed_limit: f64,
}
impl ::prost::Name for SpeedLimit {
    const NAME: &'static str = "SpeedLimit";
    const PACKAGE: &'static str = "make87_messages_ros2.jazzy.nav2_msgs.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.jazzy.nav2_msgs.msg.SpeedLimit".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.jazzy.nav2_msgs.msg.SpeedLimit".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct CollisionMonitorState {
    #[prost(uint32, tag = "1")]
    pub action_type: u32,
    #[prost(string, tag = "2")]
    pub polygon_name: ::prost::alloc::string::String,
}
impl ::prost::Name for CollisionMonitorState {
    const NAME: &'static str = "CollisionMonitorState";
    const PACKAGE: &'static str = "make87_messages_ros2.jazzy.nav2_msgs.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.jazzy.nav2_msgs.msg.CollisionMonitorState".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.jazzy.nav2_msgs.msg.CollisionMonitorState".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ParticleCloud {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<super::super::std_msgs::msg::Header>,
    #[prost(message, repeated, tag = "2")]
    pub particles: ::prost::alloc::vec::Vec<Particle>,
}
impl ::prost::Name for ParticleCloud {
    const NAME: &'static str = "ParticleCloud";
    const PACKAGE: &'static str = "make87_messages_ros2.jazzy.nav2_msgs.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.jazzy.nav2_msgs.msg.ParticleCloud".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.jazzy.nav2_msgs.msg.ParticleCloud".into()
    }
}
