// This file is @generated by prost-build.
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PlaneData {
    #[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(float, tag = "4")]
    pub nx: f32,
    #[prost(float, tag = "5")]
    pub ny: f32,
    #[prost(float, tag = "6")]
    pub nz: f32,
    #[prost(float, tag = "7")]
    pub d: f32,
    #[prost(message, optional, tag = "8")]
    pub plane_orientation: ::core::option::Option<
        super::super::geometry_msgs::msg::Vector3,
    >,
    #[prost(message, repeated, tag = "9")]
    pub plane_points: ::prost::alloc::vec::Vec<
        super::super::geometry_msgs::msg::Vector3,
    >,
    #[prost(string, tag = "10")]
    pub data_source: ::prost::alloc::string::String,
}
impl ::prost::Name for PlaneData {
    const NAME: &'static str = "PlaneData";
    const PACKAGE: &'static str = "make87_messages_ros2.humble.situational_graphs_msgs.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.humble.situational_graphs_msgs.msg.PlaneData".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.humble.situational_graphs_msgs.msg.PlaneData".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RoomData {
    #[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(int32, repeated, tag = "4")]
    pub neighbour_ids: ::prost::alloc::vec::Vec<i32>,
    #[prost(message, optional, tag = "5")]
    pub room_length: ::core::option::Option<super::super::geometry_msgs::msg::Point>,
    #[prost(message, optional, tag = "6")]
    pub room_center: ::core::option::Option<super::super::geometry_msgs::msg::Pose>,
    #[prost(message, optional, tag = "7")]
    pub cluster_center: ::core::option::Option<super::super::geometry_msgs::msg::Point>,
    #[prost(message, repeated, tag = "8")]
    pub x_planes: ::prost::alloc::vec::Vec<PlaneData>,
    #[prost(message, repeated, tag = "9")]
    pub y_planes: ::prost::alloc::vec::Vec<PlaneData>,
    #[prost(message, repeated, tag = "10")]
    pub planes: ::prost::alloc::vec::Vec<PlaneData>,
    #[prost(message, optional, tag = "11")]
    pub cluster_array: ::core::option::Option<
        super::super::visualization_msgs::msg::MarkerArray,
    >,
}
impl ::prost::Name for RoomData {
    const NAME: &'static str = "RoomData";
    const PACKAGE: &'static str = "make87_messages_ros2.humble.situational_graphs_msgs.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.humble.situational_graphs_msgs.msg.RoomData".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.humble.situational_graphs_msgs.msg.RoomData".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RoomsData {
    #[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(message, repeated, tag = "3")]
    pub rooms: ::prost::alloc::vec::Vec<RoomData>,
}
impl ::prost::Name for RoomsData {
    const NAME: &'static str = "RoomsData";
    const PACKAGE: &'static str = "make87_messages_ros2.humble.situational_graphs_msgs.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.humble.situational_graphs_msgs.msg.RoomsData".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.humble.situational_graphs_msgs.msg.RoomsData".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct WallData {
    #[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(message, optional, tag = "4")]
    pub wall_center: ::core::option::Option<super::super::geometry_msgs::msg::Pose>,
    #[prost(message, optional, tag = "5")]
    pub wall_point: ::core::option::Option<super::super::geometry_msgs::msg::Point>,
    #[prost(message, repeated, tag = "6")]
    pub x_planes: ::prost::alloc::vec::Vec<PlaneData>,
    #[prost(message, repeated, tag = "7")]
    pub y_planes: ::prost::alloc::vec::Vec<PlaneData>,
}
impl ::prost::Name for WallData {
    const NAME: &'static str = "WallData";
    const PACKAGE: &'static str = "make87_messages_ros2.humble.situational_graphs_msgs.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.humble.situational_graphs_msgs.msg.WallData".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.humble.situational_graphs_msgs.msg.WallData".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct WallsData {
    #[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(message, repeated, tag = "3")]
    pub walls: ::prost::alloc::vec::Vec<WallData>,
}
impl ::prost::Name for WallsData {
    const NAME: &'static str = "WallsData";
    const PACKAGE: &'static str = "make87_messages_ros2.humble.situational_graphs_msgs.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.humble.situational_graphs_msgs.msg.WallsData".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.humble.situational_graphs_msgs.msg.WallsData".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PlanesData {
    #[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(message, repeated, tag = "3")]
    pub x_planes: ::prost::alloc::vec::Vec<PlaneData>,
    #[prost(message, repeated, tag = "4")]
    pub y_planes: ::prost::alloc::vec::Vec<PlaneData>,
}
impl ::prost::Name for PlanesData {
    const NAME: &'static str = "PlanesData";
    const PACKAGE: &'static str = "make87_messages_ros2.humble.situational_graphs_msgs.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.humble.situational_graphs_msgs.msg.PlanesData".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.humble.situational_graphs_msgs.msg.PlanesData".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ScanMatchingStatus {
    #[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(bool, tag = "3")]
    pub has_converged: bool,
    #[prost(float, tag = "4")]
    pub matching_error: f32,
    #[prost(float, tag = "5")]
    pub inlier_fraction: f32,
    #[prost(message, optional, tag = "6")]
    pub relative_pose: ::core::option::Option<super::super::geometry_msgs::msg::Pose>,
    #[prost(message, repeated, tag = "7")]
    pub prediction_labels: ::prost::alloc::vec::Vec<super::super::std_msgs::msg::String>,
    #[prost(message, repeated, tag = "8")]
    pub prediction_errors: ::prost::alloc::vec::Vec<
        super::super::geometry_msgs::msg::Pose,
    >,
}
impl ::prost::Name for ScanMatchingStatus {
    const NAME: &'static str = "ScanMatchingStatus";
    const PACKAGE: &'static str = "make87_messages_ros2.humble.situational_graphs_msgs.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.humble.situational_graphs_msgs.msg.ScanMatchingStatus"
            .into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.humble.situational_graphs_msgs.msg.ScanMatchingStatus"
            .into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PointClouds {
    #[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(message, repeated, tag = "3")]
    pub pointclouds: ::prost::alloc::vec::Vec<
        super::super::sensor_msgs::msg::PointCloud2,
    >,
}
impl ::prost::Name for PointClouds {
    const NAME: &'static str = "PointClouds";
    const PACKAGE: &'static str = "make87_messages_ros2.humble.situational_graphs_msgs.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.humble.situational_graphs_msgs.msg.PointClouds".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.humble.situational_graphs_msgs.msg.PointClouds".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct FloorData {
    #[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(message, optional, tag = "4")]
    pub floor_center: ::core::option::Option<super::super::geometry_msgs::msg::Pose>,
    #[prost(int32, repeated, tag = "5")]
    pub keyframe_ids: ::prost::alloc::vec::Vec<i32>,
    #[prost(uint32, tag = "6")]
    pub state: u32,
}
impl ::prost::Name for FloorData {
    const NAME: &'static str = "FloorData";
    const PACKAGE: &'static str = "make87_messages_ros2.humble.situational_graphs_msgs.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.humble.situational_graphs_msgs.msg.FloorData".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.humble.situational_graphs_msgs.msg.FloorData".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct FloorCoeffs {
    #[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(float, repeated, tag = "3")]
    pub coeffs: ::prost::alloc::vec::Vec<f32>,
}
impl ::prost::Name for FloorCoeffs {
    const NAME: &'static str = "FloorCoeffs";
    const PACKAGE: &'static str = "make87_messages_ros2.humble.situational_graphs_msgs.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.humble.situational_graphs_msgs.msg.FloorCoeffs".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.humble.situational_graphs_msgs.msg.FloorCoeffs".into()
    }
}
