// This file is @generated by prost-build.
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Lane {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<
        super::super::super::super::make87_messages::core::Header,
    >,
    #[prost(uint32, tag = "2")]
    pub quality: u32,
    #[prost(uint32, tag = "3")]
    pub marker_kind: u32,
    #[prost(uint32, tag = "4")]
    pub curve_model_kind: u32,
    #[prost(double, tag = "5")]
    pub marker_offset: f64,
    #[prost(double, tag = "6")]
    pub heading_angle: f64,
    #[prost(double, tag = "7")]
    pub curvature: f64,
    #[prost(double, tag = "8")]
    pub curvature_derivative: f64,
    #[prost(double, tag = "9")]
    pub marker_width: f64,
    #[prost(double, tag = "10")]
    pub view_range: f64,
}
impl ::prost::Name for Lane {
    const NAME: &'static str = "Lane";
    const PACKAGE: &'static str = "make87_messages_ros2.humble.derived_object_msgs.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.humble.derived_object_msgs.msg.Lane".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.humble.derived_object_msgs.msg.Lane".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct LaneModels {
    #[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, optional, tag = "3")]
    pub left_lane: ::core::option::Option<Lane>,
    #[prost(message, optional, tag = "4")]
    pub right_lane: ::core::option::Option<Lane>,
    #[prost(message, repeated, tag = "5")]
    pub additional_lanes: ::prost::alloc::vec::Vec<Lane>,
}
impl ::prost::Name for LaneModels {
    const NAME: &'static str = "LaneModels";
    const PACKAGE: &'static str = "make87_messages_ros2.humble.derived_object_msgs.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.humble.derived_object_msgs.msg.LaneModels".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.humble.derived_object_msgs.msg.LaneModels".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SolidPrimitiveWithCovariance {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<
        super::super::super::super::make87_messages::core::Header,
    >,
    #[prost(uint32, tag = "2")]
    pub r#type: u32,
    #[prost(double, repeated, tag = "3")]
    pub dimensions: ::prost::alloc::vec::Vec<f64>,
    #[prost(double, repeated, tag = "4")]
    pub covariance: ::prost::alloc::vec::Vec<f64>,
}
impl ::prost::Name for SolidPrimitiveWithCovariance {
    const NAME: &'static str = "SolidPrimitiveWithCovariance";
    const PACKAGE: &'static str = "make87_messages_ros2.humble.derived_object_msgs.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.humble.derived_object_msgs.msg.SolidPrimitiveWithCovariance"
            .into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.humble.derived_object_msgs.msg.SolidPrimitiveWithCovariance"
            .into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ObjectWithCovariance {
    #[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(uint32, tag = "3")]
    pub id: u32,
    #[prost(uint32, tag = "4")]
    pub detection_level: u32,
    #[prost(bool, tag = "5")]
    pub object_classified: bool,
    #[prost(message, optional, tag = "6")]
    pub pose: ::core::option::Option<
        super::super::geometry_msgs::msg::PoseWithCovariance,
    >,
    #[prost(message, optional, tag = "7")]
    pub twist: ::core::option::Option<
        super::super::geometry_msgs::msg::TwistWithCovariance,
    >,
    #[prost(message, optional, tag = "8")]
    pub accel: ::core::option::Option<
        super::super::geometry_msgs::msg::AccelWithCovariance,
    >,
    #[prost(message, optional, tag = "9")]
    pub polygon: ::core::option::Option<super::super::geometry_msgs::msg::Polygon>,
    #[prost(message, optional, tag = "10")]
    pub shape: ::core::option::Option<SolidPrimitiveWithCovariance>,
    #[prost(uint32, tag = "11")]
    pub classification: u32,
    #[prost(uint32, tag = "12")]
    pub classification_certainty: u32,
    #[prost(uint32, tag = "13")]
    pub classification_age: u32,
}
impl ::prost::Name for ObjectWithCovariance {
    const NAME: &'static str = "ObjectWithCovariance";
    const PACKAGE: &'static str = "make87_messages_ros2.humble.derived_object_msgs.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.humble.derived_object_msgs.msg.ObjectWithCovariance".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.humble.derived_object_msgs.msg.ObjectWithCovariance"
            .into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Object {
    #[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(uint32, tag = "3")]
    pub id: u32,
    #[prost(uint32, tag = "4")]
    pub detection_level: u32,
    #[prost(bool, tag = "5")]
    pub object_classified: bool,
    #[prost(message, optional, tag = "6")]
    pub pose: ::core::option::Option<super::super::geometry_msgs::msg::Pose>,
    #[prost(message, optional, tag = "7")]
    pub twist: ::core::option::Option<super::super::geometry_msgs::msg::Twist>,
    #[prost(message, optional, tag = "8")]
    pub accel: ::core::option::Option<super::super::geometry_msgs::msg::Accel>,
    #[prost(message, optional, tag = "9")]
    pub polygon: ::core::option::Option<super::super::geometry_msgs::msg::Polygon>,
    #[prost(message, optional, tag = "10")]
    pub shape: ::core::option::Option<super::super::shape_msgs::msg::SolidPrimitive>,
    #[prost(uint32, tag = "11")]
    pub classification: u32,
    #[prost(uint32, tag = "12")]
    pub classification_certainty: u32,
    #[prost(uint32, tag = "13")]
    pub classification_age: u32,
}
impl ::prost::Name for Object {
    const NAME: &'static str = "Object";
    const PACKAGE: &'static str = "make87_messages_ros2.humble.derived_object_msgs.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.humble.derived_object_msgs.msg.Object".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.humble.derived_object_msgs.msg.Object".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ObjectArray {
    #[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 objects: ::prost::alloc::vec::Vec<Object>,
}
impl ::prost::Name for ObjectArray {
    const NAME: &'static str = "ObjectArray";
    const PACKAGE: &'static str = "make87_messages_ros2.humble.derived_object_msgs.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.humble.derived_object_msgs.msg.ObjectArray".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.humble.derived_object_msgs.msg.ObjectArray".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ObjectWithCovarianceArray {
    #[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 objects: ::prost::alloc::vec::Vec<ObjectWithCovariance>,
}
impl ::prost::Name for ObjectWithCovarianceArray {
    const NAME: &'static str = "ObjectWithCovarianceArray";
    const PACKAGE: &'static str = "make87_messages_ros2.humble.derived_object_msgs.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.humble.derived_object_msgs.msg.ObjectWithCovarianceArray"
            .into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.humble.derived_object_msgs.msg.ObjectWithCovarianceArray"
            .into()
    }
}
