// This file is @generated by prost-build.
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ObjectProperty {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<
        super::super::super::super::make87_messages::core::Header,
    >,
    #[prost(string, tag = "2")]
    pub name: ::prost::alloc::string::String,
    #[prost(string, tag = "3")]
    pub value: ::prost::alloc::string::String,
}
impl ::prost::Name for ObjectProperty {
    const NAME: &'static str = "ObjectProperty";
    const PACKAGE: &'static str = "make87_messages_ros2.humble.grasping_msgs.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.humble.grasping_msgs.msg.ObjectProperty".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.humble.grasping_msgs.msg.ObjectProperty".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(string, tag = "3")]
    pub name: ::prost::alloc::string::String,
    #[prost(string, tag = "4")]
    pub support_surface: ::prost::alloc::string::String,
    #[prost(message, repeated, tag = "5")]
    pub properties: ::prost::alloc::vec::Vec<ObjectProperty>,
    #[prost(message, optional, tag = "6")]
    pub point_cluster: ::core::option::Option<
        super::super::sensor_msgs::msg::PointCloud2,
    >,
    #[prost(message, repeated, tag = "7")]
    pub primitives: ::prost::alloc::vec::Vec<
        super::super::shape_msgs::msg::SolidPrimitive,
    >,
    #[prost(message, repeated, tag = "8")]
    pub primitive_poses: ::prost::alloc::vec::Vec<
        super::super::geometry_msgs::msg::Pose,
    >,
    #[prost(message, repeated, tag = "9")]
    pub meshes: ::prost::alloc::vec::Vec<super::super::shape_msgs::msg::Mesh>,
    #[prost(message, repeated, tag = "10")]
    pub mesh_poses: ::prost::alloc::vec::Vec<super::super::geometry_msgs::msg::Pose>,
    #[prost(message, optional, tag = "11")]
    pub surface: ::core::option::Option<super::super::shape_msgs::msg::Plane>,
}
impl ::prost::Name for Object {
    const NAME: &'static str = "Object";
    const PACKAGE: &'static str = "make87_messages_ros2.humble.grasping_msgs.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.humble.grasping_msgs.msg.Object".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.humble.grasping_msgs.msg.Object".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GraspableObject {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<
        super::super::super::super::make87_messages::core::Header,
    >,
    #[prost(message, optional, tag = "2")]
    pub object: ::core::option::Option<Object>,
    #[prost(message, repeated, tag = "3")]
    pub grasps: ::prost::alloc::vec::Vec<super::super::moveit_msgs::msg::Grasp>,
}
impl ::prost::Name for GraspableObject {
    const NAME: &'static str = "GraspableObject";
    const PACKAGE: &'static str = "make87_messages_ros2.humble.grasping_msgs.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.humble.grasping_msgs.msg.GraspableObject".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.humble.grasping_msgs.msg.GraspableObject".into()
    }
}
