// This file is @generated by prost-build.
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Edge {
    #[prost(int64, tag = "1")]
    pub id: i64,
    #[prost(bool, tag = "2")]
    pub valid: bool,
    #[prost(double, tag = "3")]
    pub weight: f64,
    #[prost(uint32, repeated, tag = "4")]
    pub flags: ::prost::alloc::vec::Vec<u32>,
    #[prost(int64, tag = "5")]
    pub start: i64,
    #[prost(int64, tag = "6")]
    pub end: i64,
    #[prost(message, repeated, tag = "7")]
    pub path: ::prost::alloc::vec::Vec<super::super::geometry_msgs::msg::Pose>,
}
impl ::prost::Name for Edge {
    const NAME: &'static str = "Edge";
    const PACKAGE: &'static str = "make87_messages_ros2.rolling.tuw_graph_msgs.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.rolling.tuw_graph_msgs.msg.Edge".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.rolling.tuw_graph_msgs.msg.Edge".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Node {
    #[prost(int64, tag = "1")]
    pub id: i64,
    #[prost(bool, tag = "2")]
    pub valid: bool,
    #[prost(message, optional, tag = "3")]
    pub pose: ::core::option::Option<super::super::geometry_msgs::msg::Pose>,
    #[prost(uint32, repeated, tag = "4")]
    pub flags: ::prost::alloc::vec::Vec<u32>,
}
impl ::prost::Name for Node {
    const NAME: &'static str = "Node";
    const PACKAGE: &'static str = "make87_messages_ros2.rolling.tuw_graph_msgs.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.rolling.tuw_graph_msgs.msg.Node".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.rolling.tuw_graph_msgs.msg.Node".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Graph {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<super::super::std_msgs::msg::Header>,
    #[prost(message, optional, tag = "2")]
    pub origin: ::core::option::Option<super::super::geometry_msgs::msg::Pose>,
    #[prost(message, repeated, tag = "3")]
    pub nodes: ::prost::alloc::vec::Vec<Node>,
    #[prost(message, repeated, tag = "4")]
    pub edges: ::prost::alloc::vec::Vec<Edge>,
}
impl ::prost::Name for Graph {
    const NAME: &'static str = "Graph";
    const PACKAGE: &'static str = "make87_messages_ros2.rolling.tuw_graph_msgs.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.rolling.tuw_graph_msgs.msg.Graph".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.rolling.tuw_graph_msgs.msg.Graph".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct State {
    #[prost(int64, tag = "1")]
    pub step: i64,
    #[prost(int32, repeated, tag = "2")]
    pub list_node_open: ::prost::alloc::vec::Vec<i32>,
    #[prost(int32, repeated, tag = "3")]
    pub list_edge_open: ::prost::alloc::vec::Vec<i32>,
    #[prost(message, repeated, tag = "4")]
    pub color_open: ::prost::alloc::vec::Vec<super::super::std_msgs::msg::ColorRgba>,
    #[prost(int32, repeated, tag = "5")]
    pub list_node_closed: ::prost::alloc::vec::Vec<i32>,
    #[prost(int32, repeated, tag = "6")]
    pub list_edge_closed: ::prost::alloc::vec::Vec<i32>,
    #[prost(message, repeated, tag = "7")]
    pub color_closed: ::prost::alloc::vec::Vec<super::super::std_msgs::msg::ColorRgba>,
}
impl ::prost::Name for State {
    const NAME: &'static str = "State";
    const PACKAGE: &'static str = "make87_messages_ros2.rolling.tuw_graph_msgs.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.rolling.tuw_graph_msgs.msg.State".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.rolling.tuw_graph_msgs.msg.State".into()
    }
}
