// This file is @generated by prost-build.
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Shape {
    #[prost(int64, tag = "1")]
    pub id: i64,
    #[prost(uint32, tag = "2")]
    pub shape: u32,
    #[prost(uint32, tag = "3")]
    pub r#type: u32,
    #[prost(message, repeated, tag = "4")]
    pub poses: ::prost::alloc::vec::Vec<super::super::geometry_msgs::msg::Pose>,
    #[prost(message, repeated, tag = "5")]
    pub params_poses: ::prost::alloc::vec::Vec<
        super::super::tuw_std_msgs::msg::ParameterArray,
    >,
    #[prost(message, optional, tag = "6")]
    pub params: ::core::option::Option<super::super::tuw_std_msgs::msg::ParameterArray>,
}
impl ::prost::Name for Shape {
    const NAME: &'static str = "Shape";
    const PACKAGE: &'static str = "make87_messages_ros2.rolling.tuw_object_msgs.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.rolling.tuw_object_msgs.msg.Shape".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.rolling.tuw_object_msgs.msg.Shape".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ShapeArray {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<super::super::std_msgs::msg::Header>,
    #[prost(message, repeated, tag = "2")]
    pub shapes: ::prost::alloc::vec::Vec<Shape>,
}
impl ::prost::Name for ShapeArray {
    const NAME: &'static str = "ShapeArray";
    const PACKAGE: &'static str = "make87_messages_ros2.rolling.tuw_object_msgs.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.rolling.tuw_object_msgs.msg.ShapeArray".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.rolling.tuw_object_msgs.msg.ShapeArray".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Object {
    #[prost(int32, repeated, tag = "1")]
    pub ids: ::prost::alloc::vec::Vec<i32>,
    #[prost(int32, tag = "2")]
    pub shape: i32,
    #[prost(double, repeated, tag = "3")]
    pub shape_variables: ::prost::alloc::vec::Vec<f64>,
    #[prost(double, repeated, tag = "4")]
    pub ids_confidence: ::prost::alloc::vec::Vec<f64>,
    #[prost(message, optional, tag = "5")]
    pub pose: ::core::option::Option<super::super::geometry_msgs::msg::Pose>,
    #[prost(message, optional, tag = "6")]
    pub twist: ::core::option::Option<super::super::geometry_msgs::msg::Twist>,
}
impl ::prost::Name for Object {
    const NAME: &'static str = "Object";
    const PACKAGE: &'static str = "make87_messages_ros2.rolling.tuw_object_msgs.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.rolling.tuw_object_msgs.msg.Object".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.rolling.tuw_object_msgs.msg.Object".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ObjectStamped {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<super::super::std_msgs::msg::Header>,
    #[prost(message, optional, tag = "2")]
    pub object: ::core::option::Option<Object>,
}
impl ::prost::Name for ObjectStamped {
    const NAME: &'static str = "ObjectStamped";
    const PACKAGE: &'static str = "make87_messages_ros2.rolling.tuw_object_msgs.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.rolling.tuw_object_msgs.msg.ObjectStamped".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.rolling.tuw_object_msgs.msg.ObjectStamped".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ObjectWithCovariance {
    #[prost(message, optional, tag = "1")]
    pub object: ::core::option::Option<Object>,
    #[prost(double, repeated, tag = "2")]
    pub covariance_pose: ::prost::alloc::vec::Vec<f64>,
    #[prost(double, repeated, tag = "3")]
    pub covariance_twist: ::prost::alloc::vec::Vec<f64>,
    #[prost(double, repeated, tag = "4")]
    pub correlation: ::prost::alloc::vec::Vec<f64>,
}
impl ::prost::Name for ObjectWithCovariance {
    const NAME: &'static str = "ObjectWithCovariance";
    const PACKAGE: &'static str = "make87_messages_ros2.rolling.tuw_object_msgs.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.rolling.tuw_object_msgs.msg.ObjectWithCovariance".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.rolling.tuw_object_msgs.msg.ObjectWithCovariance".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ObjectWithCovarianceArray {
    #[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<ObjectWithCovariance>,
}
impl ::prost::Name for ObjectWithCovarianceArray {
    const NAME: &'static str = "ObjectWithCovarianceArray";
    const PACKAGE: &'static str = "make87_messages_ros2.rolling.tuw_object_msgs.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.rolling.tuw_object_msgs.msg.ObjectWithCovarianceArray"
            .into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.rolling.tuw_object_msgs.msg.ObjectWithCovarianceArray"
            .into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ObjectWithCovarianceArrayArray {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<super::super::std_msgs::msg::Header>,
    #[prost(message, repeated, tag = "2")]
    pub objects_array: ::prost::alloc::vec::Vec<ObjectWithCovarianceArray>,
}
impl ::prost::Name for ObjectWithCovarianceArrayArray {
    const NAME: &'static str = "ObjectWithCovarianceArrayArray";
    const PACKAGE: &'static str = "make87_messages_ros2.rolling.tuw_object_msgs.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.rolling.tuw_object_msgs.msg.ObjectWithCovarianceArrayArray"
            .into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.rolling.tuw_object_msgs.msg.ObjectWithCovarianceArrayArray"
            .into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ObjectDetection {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<super::super::std_msgs::msg::Header>,
    #[prost(float, tag = "2")]
    pub distance_min: f32,
    #[prost(float, tag = "3")]
    pub distance_max: f32,
    #[prost(float, tag = "4")]
    pub distance_max_id: f32,
    #[prost(message, optional, tag = "5")]
    pub view_direction: ::core::option::Option<
        super::super::geometry_msgs::msg::Quaternion,
    >,
    #[prost(float, tag = "6")]
    pub fov_horizontal: f32,
    #[prost(float, tag = "7")]
    pub fov_vertical: f32,
    #[prost(string, tag = "8")]
    pub r#type: ::prost::alloc::string::String,
    #[prost(message, repeated, tag = "9")]
    pub objects: ::prost::alloc::vec::Vec<ObjectWithCovariance>,
    #[prost(string, tag = "10")]
    pub sensor_type: ::prost::alloc::string::String,
}
impl ::prost::Name for ObjectDetection {
    const NAME: &'static str = "ObjectDetection";
    const PACKAGE: &'static str = "make87_messages_ros2.rolling.tuw_object_msgs.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.rolling.tuw_object_msgs.msg.ObjectDetection".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.rolling.tuw_object_msgs.msg.ObjectDetection".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ObjectWithCovarianceStamped {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<super::super::std_msgs::msg::Header>,
    #[prost(message, optional, tag = "2")]
    pub object: ::core::option::Option<ObjectWithCovariance>,
}
impl ::prost::Name for ObjectWithCovarianceStamped {
    const NAME: &'static str = "ObjectWithCovarianceStamped";
    const PACKAGE: &'static str = "make87_messages_ros2.rolling.tuw_object_msgs.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.rolling.tuw_object_msgs.msg.ObjectWithCovarianceStamped"
            .into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.rolling.tuw_object_msgs.msg.ObjectWithCovarianceStamped"
            .into()
    }
}
