// This file is @generated by prost-build.
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ApplyJointEffortRequest {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<
        super::super::super::super::make87_messages::core::Header,
    >,
    #[prost(string, tag = "2")]
    pub joint_name: ::prost::alloc::string::String,
    #[prost(double, tag = "3")]
    pub effort: f64,
    #[prost(message, optional, tag = "4")]
    pub start_time: ::core::option::Option<super::super::builtin_interfaces::msg::Time>,
    #[prost(message, optional, tag = "5")]
    pub duration: ::core::option::Option<
        super::super::builtin_interfaces::msg::Duration,
    >,
}
impl ::prost::Name for ApplyJointEffortRequest {
    const NAME: &'static str = "ApplyJointEffortRequest";
    const PACKAGE: &'static str = "make87_messages_ros2.humble.gazebo_msgs.srv";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.humble.gazebo_msgs.srv.ApplyJointEffortRequest".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.humble.gazebo_msgs.srv.ApplyJointEffortRequest".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ApplyJointEffortResponse {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<
        super::super::super::super::make87_messages::core::Header,
    >,
    #[prost(bool, tag = "2")]
    pub success: bool,
    #[prost(string, tag = "3")]
    pub status_message: ::prost::alloc::string::String,
}
impl ::prost::Name for ApplyJointEffortResponse {
    const NAME: &'static str = "ApplyJointEffortResponse";
    const PACKAGE: &'static str = "make87_messages_ros2.humble.gazebo_msgs.srv";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.humble.gazebo_msgs.srv.ApplyJointEffortResponse".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.humble.gazebo_msgs.srv.ApplyJointEffortResponse".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct LinkRequestRequest {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<
        super::super::super::super::make87_messages::core::Header,
    >,
    #[prost(string, tag = "2")]
    pub link_name: ::prost::alloc::string::String,
}
impl ::prost::Name for LinkRequestRequest {
    const NAME: &'static str = "LinkRequestRequest";
    const PACKAGE: &'static str = "make87_messages_ros2.humble.gazebo_msgs.srv";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.humble.gazebo_msgs.srv.LinkRequestRequest".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.humble.gazebo_msgs.srv.LinkRequestRequest".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct LinkRequestResponse {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<
        super::super::super::super::make87_messages::core::Header,
    >,
}
impl ::prost::Name for LinkRequestResponse {
    const NAME: &'static str = "LinkRequestResponse";
    const PACKAGE: &'static str = "make87_messages_ros2.humble.gazebo_msgs.srv";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.humble.gazebo_msgs.srv.LinkRequestResponse".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.humble.gazebo_msgs.srv.LinkRequestResponse".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetLinkStateRequest {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<
        super::super::super::super::make87_messages::core::Header,
    >,
    #[prost(string, tag = "2")]
    pub link_name: ::prost::alloc::string::String,
    #[prost(string, tag = "3")]
    pub reference_frame: ::prost::alloc::string::String,
}
impl ::prost::Name for GetLinkStateRequest {
    const NAME: &'static str = "GetLinkStateRequest";
    const PACKAGE: &'static str = "make87_messages_ros2.humble.gazebo_msgs.srv";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.humble.gazebo_msgs.srv.GetLinkStateRequest".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.humble.gazebo_msgs.srv.GetLinkStateRequest".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetLinkStateResponse {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<
        super::super::super::super::make87_messages::core::Header,
    >,
    #[prost(message, optional, tag = "2")]
    pub link_state: ::core::option::Option<super::msg::LinkState>,
    #[prost(bool, tag = "3")]
    pub success: bool,
    #[prost(string, tag = "4")]
    pub status_message: ::prost::alloc::string::String,
}
impl ::prost::Name for GetLinkStateResponse {
    const NAME: &'static str = "GetLinkStateResponse";
    const PACKAGE: &'static str = "make87_messages_ros2.humble.gazebo_msgs.srv";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.humble.gazebo_msgs.srv.GetLinkStateResponse".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.humble.gazebo_msgs.srv.GetLinkStateResponse".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetLinkPropertiesRequest {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<
        super::super::super::super::make87_messages::core::Header,
    >,
    #[prost(string, tag = "2")]
    pub link_name: ::prost::alloc::string::String,
}
impl ::prost::Name for GetLinkPropertiesRequest {
    const NAME: &'static str = "GetLinkPropertiesRequest";
    const PACKAGE: &'static str = "make87_messages_ros2.humble.gazebo_msgs.srv";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.humble.gazebo_msgs.srv.GetLinkPropertiesRequest".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.humble.gazebo_msgs.srv.GetLinkPropertiesRequest".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetLinkPropertiesResponse {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<
        super::super::super::super::make87_messages::core::Header,
    >,
    #[prost(message, optional, tag = "2")]
    pub com: ::core::option::Option<super::super::geometry_msgs::msg::Pose>,
    #[prost(bool, tag = "3")]
    pub gravity_mode: bool,
    #[prost(double, tag = "4")]
    pub mass: f64,
    #[prost(double, tag = "5")]
    pub ixx: f64,
    #[prost(double, tag = "6")]
    pub ixy: f64,
    #[prost(double, tag = "7")]
    pub ixz: f64,
    #[prost(double, tag = "8")]
    pub iyy: f64,
    #[prost(double, tag = "9")]
    pub iyz: f64,
    #[prost(double, tag = "10")]
    pub izz: f64,
    #[prost(bool, tag = "11")]
    pub success: bool,
    #[prost(string, tag = "12")]
    pub status_message: ::prost::alloc::string::String,
}
impl ::prost::Name for GetLinkPropertiesResponse {
    const NAME: &'static str = "GetLinkPropertiesResponse";
    const PACKAGE: &'static str = "make87_messages_ros2.humble.gazebo_msgs.srv";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.humble.gazebo_msgs.srv.GetLinkPropertiesResponse".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.humble.gazebo_msgs.srv.GetLinkPropertiesResponse".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetModelPropertiesRequest {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<
        super::super::super::super::make87_messages::core::Header,
    >,
    #[prost(string, tag = "2")]
    pub model_name: ::prost::alloc::string::String,
}
impl ::prost::Name for GetModelPropertiesRequest {
    const NAME: &'static str = "GetModelPropertiesRequest";
    const PACKAGE: &'static str = "make87_messages_ros2.humble.gazebo_msgs.srv";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.humble.gazebo_msgs.srv.GetModelPropertiesRequest".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.humble.gazebo_msgs.srv.GetModelPropertiesRequest".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetModelPropertiesResponse {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<
        super::super::super::super::make87_messages::core::Header,
    >,
    #[prost(string, tag = "2")]
    pub parent_model_name: ::prost::alloc::string::String,
    #[prost(string, tag = "3")]
    pub canonical_body_name: ::prost::alloc::string::String,
    #[prost(string, repeated, tag = "4")]
    pub body_names: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
    #[prost(string, repeated, tag = "5")]
    pub geom_names: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
    #[prost(string, repeated, tag = "6")]
    pub joint_names: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
    #[prost(string, repeated, tag = "7")]
    pub child_model_names: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
    #[prost(bool, tag = "8")]
    pub is_static: bool,
    #[prost(bool, tag = "9")]
    pub success: bool,
    #[prost(string, tag = "10")]
    pub status_message: ::prost::alloc::string::String,
}
impl ::prost::Name for GetModelPropertiesResponse {
    const NAME: &'static str = "GetModelPropertiesResponse";
    const PACKAGE: &'static str = "make87_messages_ros2.humble.gazebo_msgs.srv";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.humble.gazebo_msgs.srv.GetModelPropertiesResponse".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.humble.gazebo_msgs.srv.GetModelPropertiesResponse".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct JointRequestRequest {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<
        super::super::super::super::make87_messages::core::Header,
    >,
    #[prost(string, tag = "2")]
    pub joint_name: ::prost::alloc::string::String,
}
impl ::prost::Name for JointRequestRequest {
    const NAME: &'static str = "JointRequestRequest";
    const PACKAGE: &'static str = "make87_messages_ros2.humble.gazebo_msgs.srv";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.humble.gazebo_msgs.srv.JointRequestRequest".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.humble.gazebo_msgs.srv.JointRequestRequest".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct JointRequestResponse {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<
        super::super::super::super::make87_messages::core::Header,
    >,
}
impl ::prost::Name for JointRequestResponse {
    const NAME: &'static str = "JointRequestResponse";
    const PACKAGE: &'static str = "make87_messages_ros2.humble.gazebo_msgs.srv";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.humble.gazebo_msgs.srv.JointRequestResponse".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.humble.gazebo_msgs.srv.JointRequestResponse".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ApplyLinkWrenchRequest {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<
        super::super::super::super::make87_messages::core::Header,
    >,
    #[prost(string, tag = "2")]
    pub link_name: ::prost::alloc::string::String,
    #[prost(string, tag = "3")]
    pub reference_frame: ::prost::alloc::string::String,
    #[prost(message, optional, tag = "4")]
    pub reference_point: ::core::option::Option<super::super::geometry_msgs::msg::Point>,
    #[prost(message, optional, tag = "5")]
    pub wrench: ::core::option::Option<super::super::geometry_msgs::msg::Wrench>,
    #[prost(message, optional, tag = "6")]
    pub start_time: ::core::option::Option<super::super::builtin_interfaces::msg::Time>,
    #[prost(message, optional, tag = "7")]
    pub duration: ::core::option::Option<
        super::super::builtin_interfaces::msg::Duration,
    >,
}
impl ::prost::Name for ApplyLinkWrenchRequest {
    const NAME: &'static str = "ApplyLinkWrenchRequest";
    const PACKAGE: &'static str = "make87_messages_ros2.humble.gazebo_msgs.srv";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.humble.gazebo_msgs.srv.ApplyLinkWrenchRequest".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.humble.gazebo_msgs.srv.ApplyLinkWrenchRequest".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ApplyLinkWrenchResponse {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<
        super::super::super::super::make87_messages::core::Header,
    >,
    #[prost(bool, tag = "2")]
    pub success: bool,
    #[prost(string, tag = "3")]
    pub status_message: ::prost::alloc::string::String,
}
impl ::prost::Name for ApplyLinkWrenchResponse {
    const NAME: &'static str = "ApplyLinkWrenchResponse";
    const PACKAGE: &'static str = "make87_messages_ros2.humble.gazebo_msgs.srv";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.humble.gazebo_msgs.srv.ApplyLinkWrenchResponse".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.humble.gazebo_msgs.srv.ApplyLinkWrenchResponse".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SetLinkStateRequest {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<
        super::super::super::super::make87_messages::core::Header,
    >,
    #[prost(message, optional, tag = "2")]
    pub link_state: ::core::option::Option<super::msg::LinkState>,
}
impl ::prost::Name for SetLinkStateRequest {
    const NAME: &'static str = "SetLinkStateRequest";
    const PACKAGE: &'static str = "make87_messages_ros2.humble.gazebo_msgs.srv";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.humble.gazebo_msgs.srv.SetLinkStateRequest".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.humble.gazebo_msgs.srv.SetLinkStateRequest".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SetLinkStateResponse {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<
        super::super::super::super::make87_messages::core::Header,
    >,
    #[prost(bool, tag = "2")]
    pub success: bool,
    #[prost(string, tag = "3")]
    pub status_message: ::prost::alloc::string::String,
}
impl ::prost::Name for SetLinkStateResponse {
    const NAME: &'static str = "SetLinkStateResponse";
    const PACKAGE: &'static str = "make87_messages_ros2.humble.gazebo_msgs.srv";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.humble.gazebo_msgs.srv.SetLinkStateResponse".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.humble.gazebo_msgs.srv.SetLinkStateResponse".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct BodyRequestRequest {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<
        super::super::super::super::make87_messages::core::Header,
    >,
    #[prost(string, tag = "2")]
    pub body_name: ::prost::alloc::string::String,
}
impl ::prost::Name for BodyRequestRequest {
    const NAME: &'static str = "BodyRequestRequest";
    const PACKAGE: &'static str = "make87_messages_ros2.humble.gazebo_msgs.srv";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.humble.gazebo_msgs.srv.BodyRequestRequest".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.humble.gazebo_msgs.srv.BodyRequestRequest".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct BodyRequestResponse {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<
        super::super::super::super::make87_messages::core::Header,
    >,
}
impl ::prost::Name for BodyRequestResponse {
    const NAME: &'static str = "BodyRequestResponse";
    const PACKAGE: &'static str = "make87_messages_ros2.humble.gazebo_msgs.srv";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.humble.gazebo_msgs.srv.BodyRequestResponse".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.humble.gazebo_msgs.srv.BodyRequestResponse".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SetJointTrajectoryRequest {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<
        super::super::super::super::make87_messages::core::Header,
    >,
    #[prost(string, tag = "2")]
    pub model_name: ::prost::alloc::string::String,
    #[prost(message, optional, tag = "3")]
    pub joint_trajectory: ::core::option::Option<
        super::super::trajectory_msgs::msg::JointTrajectory,
    >,
    #[prost(message, optional, tag = "4")]
    pub model_pose: ::core::option::Option<super::super::geometry_msgs::msg::Pose>,
    #[prost(bool, tag = "5")]
    pub set_model_pose: bool,
    #[prost(bool, tag = "6")]
    pub disable_physics_updates: bool,
}
impl ::prost::Name for SetJointTrajectoryRequest {
    const NAME: &'static str = "SetJointTrajectoryRequest";
    const PACKAGE: &'static str = "make87_messages_ros2.humble.gazebo_msgs.srv";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.humble.gazebo_msgs.srv.SetJointTrajectoryRequest".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.humble.gazebo_msgs.srv.SetJointTrajectoryRequest".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SetJointTrajectoryResponse {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<
        super::super::super::super::make87_messages::core::Header,
    >,
    #[prost(bool, tag = "2")]
    pub success: bool,
    #[prost(string, tag = "3")]
    pub status_message: ::prost::alloc::string::String,
}
impl ::prost::Name for SetJointTrajectoryResponse {
    const NAME: &'static str = "SetJointTrajectoryResponse";
    const PACKAGE: &'static str = "make87_messages_ros2.humble.gazebo_msgs.srv";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.humble.gazebo_msgs.srv.SetJointTrajectoryResponse".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.humble.gazebo_msgs.srv.SetJointTrajectoryResponse".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ApplyBodyWrenchRequest {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<
        super::super::super::super::make87_messages::core::Header,
    >,
    #[prost(string, tag = "2")]
    pub body_name: ::prost::alloc::string::String,
    #[prost(string, tag = "3")]
    pub reference_frame: ::prost::alloc::string::String,
    #[prost(message, optional, tag = "4")]
    pub reference_point: ::core::option::Option<super::super::geometry_msgs::msg::Point>,
    #[prost(message, optional, tag = "5")]
    pub wrench: ::core::option::Option<super::super::geometry_msgs::msg::Wrench>,
    #[prost(message, optional, tag = "6")]
    pub start_time: ::core::option::Option<super::super::builtin_interfaces::msg::Time>,
    #[prost(message, optional, tag = "7")]
    pub duration: ::core::option::Option<
        super::super::builtin_interfaces::msg::Duration,
    >,
}
impl ::prost::Name for ApplyBodyWrenchRequest {
    const NAME: &'static str = "ApplyBodyWrenchRequest";
    const PACKAGE: &'static str = "make87_messages_ros2.humble.gazebo_msgs.srv";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.humble.gazebo_msgs.srv.ApplyBodyWrenchRequest".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.humble.gazebo_msgs.srv.ApplyBodyWrenchRequest".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ApplyBodyWrenchResponse {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<
        super::super::super::super::make87_messages::core::Header,
    >,
    #[prost(bool, tag = "2")]
    pub success: bool,
    #[prost(string, tag = "3")]
    pub status_message: ::prost::alloc::string::String,
}
impl ::prost::Name for ApplyBodyWrenchResponse {
    const NAME: &'static str = "ApplyBodyWrenchResponse";
    const PACKAGE: &'static str = "make87_messages_ros2.humble.gazebo_msgs.srv";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.humble.gazebo_msgs.srv.ApplyBodyWrenchResponse".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.humble.gazebo_msgs.srv.ApplyBodyWrenchResponse".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct DeleteLightRequest {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<
        super::super::super::super::make87_messages::core::Header,
    >,
    #[prost(string, tag = "2")]
    pub light_name: ::prost::alloc::string::String,
}
impl ::prost::Name for DeleteLightRequest {
    const NAME: &'static str = "DeleteLightRequest";
    const PACKAGE: &'static str = "make87_messages_ros2.humble.gazebo_msgs.srv";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.humble.gazebo_msgs.srv.DeleteLightRequest".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.humble.gazebo_msgs.srv.DeleteLightRequest".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct DeleteLightResponse {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<
        super::super::super::super::make87_messages::core::Header,
    >,
    #[prost(bool, tag = "2")]
    pub success: bool,
    #[prost(string, tag = "3")]
    pub status_message: ::prost::alloc::string::String,
}
impl ::prost::Name for DeleteLightResponse {
    const NAME: &'static str = "DeleteLightResponse";
    const PACKAGE: &'static str = "make87_messages_ros2.humble.gazebo_msgs.srv";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.humble.gazebo_msgs.srv.DeleteLightResponse".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.humble.gazebo_msgs.srv.DeleteLightResponse".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SpawnEntityRequest {
    #[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 xml: ::prost::alloc::string::String,
    #[prost(string, tag = "4")]
    pub robot_namespace: ::prost::alloc::string::String,
    #[prost(message, optional, tag = "5")]
    pub initial_pose: ::core::option::Option<super::super::geometry_msgs::msg::Pose>,
    #[prost(string, tag = "6")]
    pub reference_frame: ::prost::alloc::string::String,
}
impl ::prost::Name for SpawnEntityRequest {
    const NAME: &'static str = "SpawnEntityRequest";
    const PACKAGE: &'static str = "make87_messages_ros2.humble.gazebo_msgs.srv";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.humble.gazebo_msgs.srv.SpawnEntityRequest".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.humble.gazebo_msgs.srv.SpawnEntityRequest".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SpawnEntityResponse {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<
        super::super::super::super::make87_messages::core::Header,
    >,
    #[prost(bool, tag = "2")]
    pub success: bool,
    #[prost(string, tag = "3")]
    pub status_message: ::prost::alloc::string::String,
}
impl ::prost::Name for SpawnEntityResponse {
    const NAME: &'static str = "SpawnEntityResponse";
    const PACKAGE: &'static str = "make87_messages_ros2.humble.gazebo_msgs.srv";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.humble.gazebo_msgs.srv.SpawnEntityResponse".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.humble.gazebo_msgs.srv.SpawnEntityResponse".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SetModelConfigurationRequest {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<
        super::super::super::super::make87_messages::core::Header,
    >,
    #[prost(string, tag = "2")]
    pub model_name: ::prost::alloc::string::String,
    #[prost(string, tag = "3")]
    pub urdf_param_name: ::prost::alloc::string::String,
    #[prost(string, repeated, tag = "4")]
    pub joint_names: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
    #[prost(double, repeated, tag = "5")]
    pub joint_positions: ::prost::alloc::vec::Vec<f64>,
}
impl ::prost::Name for SetModelConfigurationRequest {
    const NAME: &'static str = "SetModelConfigurationRequest";
    const PACKAGE: &'static str = "make87_messages_ros2.humble.gazebo_msgs.srv";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.humble.gazebo_msgs.srv.SetModelConfigurationRequest".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.humble.gazebo_msgs.srv.SetModelConfigurationRequest"
            .into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SetModelConfigurationResponse {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<
        super::super::super::super::make87_messages::core::Header,
    >,
    #[prost(bool, tag = "2")]
    pub success: bool,
    #[prost(string, tag = "3")]
    pub status_message: ::prost::alloc::string::String,
}
impl ::prost::Name for SetModelConfigurationResponse {
    const NAME: &'static str = "SetModelConfigurationResponse";
    const PACKAGE: &'static str = "make87_messages_ros2.humble.gazebo_msgs.srv";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.humble.gazebo_msgs.srv.SetModelConfigurationResponse"
            .into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.humble.gazebo_msgs.srv.SetModelConfigurationResponse"
            .into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SetLinkPropertiesRequest {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<
        super::super::super::super::make87_messages::core::Header,
    >,
    #[prost(string, tag = "2")]
    pub link_name: ::prost::alloc::string::String,
    #[prost(message, optional, tag = "3")]
    pub com: ::core::option::Option<super::super::geometry_msgs::msg::Pose>,
    #[prost(bool, tag = "4")]
    pub gravity_mode: bool,
    #[prost(double, tag = "5")]
    pub mass: f64,
    #[prost(double, tag = "6")]
    pub ixx: f64,
    #[prost(double, tag = "7")]
    pub ixy: f64,
    #[prost(double, tag = "8")]
    pub ixz: f64,
    #[prost(double, tag = "9")]
    pub iyy: f64,
    #[prost(double, tag = "10")]
    pub iyz: f64,
    #[prost(double, tag = "11")]
    pub izz: f64,
}
impl ::prost::Name for SetLinkPropertiesRequest {
    const NAME: &'static str = "SetLinkPropertiesRequest";
    const PACKAGE: &'static str = "make87_messages_ros2.humble.gazebo_msgs.srv";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.humble.gazebo_msgs.srv.SetLinkPropertiesRequest".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.humble.gazebo_msgs.srv.SetLinkPropertiesRequest".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SetLinkPropertiesResponse {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<
        super::super::super::super::make87_messages::core::Header,
    >,
    #[prost(bool, tag = "2")]
    pub success: bool,
    #[prost(string, tag = "3")]
    pub status_message: ::prost::alloc::string::String,
}
impl ::prost::Name for SetLinkPropertiesResponse {
    const NAME: &'static str = "SetLinkPropertiesResponse";
    const PACKAGE: &'static str = "make87_messages_ros2.humble.gazebo_msgs.srv";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.humble.gazebo_msgs.srv.SetLinkPropertiesResponse".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.humble.gazebo_msgs.srv.SetLinkPropertiesResponse".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SpawnModelRequest {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<
        super::super::super::super::make87_messages::core::Header,
    >,
    #[prost(string, tag = "2")]
    pub model_name: ::prost::alloc::string::String,
    #[prost(string, tag = "3")]
    pub model_xml: ::prost::alloc::string::String,
    #[prost(string, tag = "4")]
    pub robot_namespace: ::prost::alloc::string::String,
    #[prost(message, optional, tag = "5")]
    pub initial_pose: ::core::option::Option<super::super::geometry_msgs::msg::Pose>,
    #[prost(string, tag = "6")]
    pub reference_frame: ::prost::alloc::string::String,
}
impl ::prost::Name for SpawnModelRequest {
    const NAME: &'static str = "SpawnModelRequest";
    const PACKAGE: &'static str = "make87_messages_ros2.humble.gazebo_msgs.srv";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.humble.gazebo_msgs.srv.SpawnModelRequest".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.humble.gazebo_msgs.srv.SpawnModelRequest".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SpawnModelResponse {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<
        super::super::super::super::make87_messages::core::Header,
    >,
    #[prost(bool, tag = "2")]
    pub success: bool,
    #[prost(string, tag = "3")]
    pub status_message: ::prost::alloc::string::String,
}
impl ::prost::Name for SpawnModelResponse {
    const NAME: &'static str = "SpawnModelResponse";
    const PACKAGE: &'static str = "make87_messages_ros2.humble.gazebo_msgs.srv";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.humble.gazebo_msgs.srv.SpawnModelResponse".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.humble.gazebo_msgs.srv.SpawnModelResponse".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetModelListRequest {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<
        super::super::super::super::make87_messages::core::Header,
    >,
}
impl ::prost::Name for GetModelListRequest {
    const NAME: &'static str = "GetModelListRequest";
    const PACKAGE: &'static str = "make87_messages_ros2.humble.gazebo_msgs.srv";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.humble.gazebo_msgs.srv.GetModelListRequest".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.humble.gazebo_msgs.srv.GetModelListRequest".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetModelListResponse {
    #[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, repeated, tag = "3")]
    pub model_names: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
    #[prost(bool, tag = "4")]
    pub success: bool,
}
impl ::prost::Name for GetModelListResponse {
    const NAME: &'static str = "GetModelListResponse";
    const PACKAGE: &'static str = "make87_messages_ros2.humble.gazebo_msgs.srv";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.humble.gazebo_msgs.srv.GetModelListResponse".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.humble.gazebo_msgs.srv.GetModelListResponse".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SetPhysicsPropertiesRequest {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<
        super::super::super::super::make87_messages::core::Header,
    >,
    #[prost(double, tag = "2")]
    pub time_step: f64,
    #[prost(double, tag = "3")]
    pub max_update_rate: f64,
    #[prost(message, optional, tag = "4")]
    pub gravity: ::core::option::Option<super::super::geometry_msgs::msg::Vector3>,
    #[prost(message, optional, tag = "5")]
    pub ode_config: ::core::option::Option<super::msg::OdePhysics>,
}
impl ::prost::Name for SetPhysicsPropertiesRequest {
    const NAME: &'static str = "SetPhysicsPropertiesRequest";
    const PACKAGE: &'static str = "make87_messages_ros2.humble.gazebo_msgs.srv";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.humble.gazebo_msgs.srv.SetPhysicsPropertiesRequest".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.humble.gazebo_msgs.srv.SetPhysicsPropertiesRequest".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SetPhysicsPropertiesResponse {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<
        super::super::super::super::make87_messages::core::Header,
    >,
    #[prost(bool, tag = "2")]
    pub success: bool,
    #[prost(string, tag = "3")]
    pub status_message: ::prost::alloc::string::String,
}
impl ::prost::Name for SetPhysicsPropertiesResponse {
    const NAME: &'static str = "SetPhysicsPropertiesResponse";
    const PACKAGE: &'static str = "make87_messages_ros2.humble.gazebo_msgs.srv";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.humble.gazebo_msgs.srv.SetPhysicsPropertiesResponse".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.humble.gazebo_msgs.srv.SetPhysicsPropertiesResponse"
            .into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SetLightPropertiesRequest {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<
        super::super::super::super::make87_messages::core::Header,
    >,
    #[prost(string, tag = "2")]
    pub light_name: ::prost::alloc::string::String,
    #[prost(message, optional, tag = "3")]
    pub diffuse: ::core::option::Option<super::super::std_msgs::msg::ColorRgba>,
    #[prost(double, tag = "4")]
    pub attenuation_constant: f64,
    #[prost(double, tag = "5")]
    pub attenuation_linear: f64,
    #[prost(double, tag = "6")]
    pub attenuation_quadratic: f64,
}
impl ::prost::Name for SetLightPropertiesRequest {
    const NAME: &'static str = "SetLightPropertiesRequest";
    const PACKAGE: &'static str = "make87_messages_ros2.humble.gazebo_msgs.srv";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.humble.gazebo_msgs.srv.SetLightPropertiesRequest".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.humble.gazebo_msgs.srv.SetLightPropertiesRequest".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SetLightPropertiesResponse {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<
        super::super::super::super::make87_messages::core::Header,
    >,
    #[prost(bool, tag = "2")]
    pub success: bool,
    #[prost(string, tag = "3")]
    pub status_message: ::prost::alloc::string::String,
}
impl ::prost::Name for SetLightPropertiesResponse {
    const NAME: &'static str = "SetLightPropertiesResponse";
    const PACKAGE: &'static str = "make87_messages_ros2.humble.gazebo_msgs.srv";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.humble.gazebo_msgs.srv.SetLightPropertiesResponse".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.humble.gazebo_msgs.srv.SetLightPropertiesResponse".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetWorldPropertiesRequest {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<
        super::super::super::super::make87_messages::core::Header,
    >,
}
impl ::prost::Name for GetWorldPropertiesRequest {
    const NAME: &'static str = "GetWorldPropertiesRequest";
    const PACKAGE: &'static str = "make87_messages_ros2.humble.gazebo_msgs.srv";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.humble.gazebo_msgs.srv.GetWorldPropertiesRequest".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.humble.gazebo_msgs.srv.GetWorldPropertiesRequest".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetWorldPropertiesResponse {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<
        super::super::super::super::make87_messages::core::Header,
    >,
    #[prost(double, tag = "2")]
    pub sim_time: f64,
    #[prost(string, repeated, tag = "3")]
    pub model_names: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
    #[prost(bool, tag = "4")]
    pub rendering_enabled: bool,
    #[prost(bool, tag = "5")]
    pub success: bool,
    #[prost(string, tag = "6")]
    pub status_message: ::prost::alloc::string::String,
}
impl ::prost::Name for GetWorldPropertiesResponse {
    const NAME: &'static str = "GetWorldPropertiesResponse";
    const PACKAGE: &'static str = "make87_messages_ros2.humble.gazebo_msgs.srv";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.humble.gazebo_msgs.srv.GetWorldPropertiesResponse".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.humble.gazebo_msgs.srv.GetWorldPropertiesResponse".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SetModelStateRequest {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<
        super::super::super::super::make87_messages::core::Header,
    >,
    #[prost(message, optional, tag = "2")]
    pub model_state: ::core::option::Option<super::msg::ModelState>,
}
impl ::prost::Name for SetModelStateRequest {
    const NAME: &'static str = "SetModelStateRequest";
    const PACKAGE: &'static str = "make87_messages_ros2.humble.gazebo_msgs.srv";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.humble.gazebo_msgs.srv.SetModelStateRequest".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.humble.gazebo_msgs.srv.SetModelStateRequest".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SetModelStateResponse {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<
        super::super::super::super::make87_messages::core::Header,
    >,
    #[prost(bool, tag = "2")]
    pub success: bool,
    #[prost(string, tag = "3")]
    pub status_message: ::prost::alloc::string::String,
}
impl ::prost::Name for SetModelStateResponse {
    const NAME: &'static str = "SetModelStateResponse";
    const PACKAGE: &'static str = "make87_messages_ros2.humble.gazebo_msgs.srv";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.humble.gazebo_msgs.srv.SetModelStateResponse".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.humble.gazebo_msgs.srv.SetModelStateResponse".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct DeleteModelRequest {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<
        super::super::super::super::make87_messages::core::Header,
    >,
    #[prost(string, tag = "2")]
    pub model_name: ::prost::alloc::string::String,
}
impl ::prost::Name for DeleteModelRequest {
    const NAME: &'static str = "DeleteModelRequest";
    const PACKAGE: &'static str = "make87_messages_ros2.humble.gazebo_msgs.srv";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.humble.gazebo_msgs.srv.DeleteModelRequest".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.humble.gazebo_msgs.srv.DeleteModelRequest".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct DeleteModelResponse {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<
        super::super::super::super::make87_messages::core::Header,
    >,
    #[prost(bool, tag = "2")]
    pub success: bool,
    #[prost(string, tag = "3")]
    pub status_message: ::prost::alloc::string::String,
}
impl ::prost::Name for DeleteModelResponse {
    const NAME: &'static str = "DeleteModelResponse";
    const PACKAGE: &'static str = "make87_messages_ros2.humble.gazebo_msgs.srv";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.humble.gazebo_msgs.srv.DeleteModelResponse".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.humble.gazebo_msgs.srv.DeleteModelResponse".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetJointPropertiesRequest {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<
        super::super::super::super::make87_messages::core::Header,
    >,
    #[prost(string, tag = "2")]
    pub joint_name: ::prost::alloc::string::String,
}
impl ::prost::Name for GetJointPropertiesRequest {
    const NAME: &'static str = "GetJointPropertiesRequest";
    const PACKAGE: &'static str = "make87_messages_ros2.humble.gazebo_msgs.srv";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.humble.gazebo_msgs.srv.GetJointPropertiesRequest".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.humble.gazebo_msgs.srv.GetJointPropertiesRequest".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetJointPropertiesResponse {
    #[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 damping: ::prost::alloc::vec::Vec<f64>,
    #[prost(double, repeated, tag = "4")]
    pub position: ::prost::alloc::vec::Vec<f64>,
    #[prost(double, repeated, tag = "5")]
    pub rate: ::prost::alloc::vec::Vec<f64>,
    #[prost(bool, tag = "6")]
    pub success: bool,
    #[prost(string, tag = "7")]
    pub status_message: ::prost::alloc::string::String,
}
impl ::prost::Name for GetJointPropertiesResponse {
    const NAME: &'static str = "GetJointPropertiesResponse";
    const PACKAGE: &'static str = "make87_messages_ros2.humble.gazebo_msgs.srv";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.humble.gazebo_msgs.srv.GetJointPropertiesResponse".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.humble.gazebo_msgs.srv.GetJointPropertiesResponse".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SetJointPropertiesRequest {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<
        super::super::super::super::make87_messages::core::Header,
    >,
    #[prost(string, tag = "2")]
    pub joint_name: ::prost::alloc::string::String,
    #[prost(message, optional, tag = "3")]
    pub ode_joint_config: ::core::option::Option<super::msg::OdeJointProperties>,
}
impl ::prost::Name for SetJointPropertiesRequest {
    const NAME: &'static str = "SetJointPropertiesRequest";
    const PACKAGE: &'static str = "make87_messages_ros2.humble.gazebo_msgs.srv";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.humble.gazebo_msgs.srv.SetJointPropertiesRequest".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.humble.gazebo_msgs.srv.SetJointPropertiesRequest".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SetJointPropertiesResponse {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<
        super::super::super::super::make87_messages::core::Header,
    >,
    #[prost(bool, tag = "2")]
    pub success: bool,
    #[prost(string, tag = "3")]
    pub status_message: ::prost::alloc::string::String,
}
impl ::prost::Name for SetJointPropertiesResponse {
    const NAME: &'static str = "SetJointPropertiesResponse";
    const PACKAGE: &'static str = "make87_messages_ros2.humble.gazebo_msgs.srv";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.humble.gazebo_msgs.srv.SetJointPropertiesResponse".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.humble.gazebo_msgs.srv.SetJointPropertiesResponse".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetModelStateRequest {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<
        super::super::super::super::make87_messages::core::Header,
    >,
    #[prost(string, tag = "2")]
    pub model_name: ::prost::alloc::string::String,
    #[prost(string, tag = "3")]
    pub relative_entity_name: ::prost::alloc::string::String,
}
impl ::prost::Name for GetModelStateRequest {
    const NAME: &'static str = "GetModelStateRequest";
    const PACKAGE: &'static str = "make87_messages_ros2.humble.gazebo_msgs.srv";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.humble.gazebo_msgs.srv.GetModelStateRequest".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.humble.gazebo_msgs.srv.GetModelStateRequest".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetModelStateResponse {
    #[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 pose: ::core::option::Option<super::super::geometry_msgs::msg::Pose>,
    #[prost(message, optional, tag = "4")]
    pub twist: ::core::option::Option<super::super::geometry_msgs::msg::Twist>,
    #[prost(bool, tag = "5")]
    pub success: bool,
    #[prost(string, tag = "6")]
    pub status_message: ::prost::alloc::string::String,
}
impl ::prost::Name for GetModelStateResponse {
    const NAME: &'static str = "GetModelStateResponse";
    const PACKAGE: &'static str = "make87_messages_ros2.humble.gazebo_msgs.srv";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.humble.gazebo_msgs.srv.GetModelStateResponse".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.humble.gazebo_msgs.srv.GetModelStateResponse".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SetEntityStateRequest {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<
        super::super::super::super::make87_messages::core::Header,
    >,
    #[prost(message, optional, tag = "2")]
    pub state: ::core::option::Option<super::msg::EntityState>,
}
impl ::prost::Name for SetEntityStateRequest {
    const NAME: &'static str = "SetEntityStateRequest";
    const PACKAGE: &'static str = "make87_messages_ros2.humble.gazebo_msgs.srv";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.humble.gazebo_msgs.srv.SetEntityStateRequest".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.humble.gazebo_msgs.srv.SetEntityStateRequest".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SetEntityStateResponse {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<
        super::super::super::super::make87_messages::core::Header,
    >,
    #[prost(bool, tag = "2")]
    pub success: bool,
}
impl ::prost::Name for SetEntityStateResponse {
    const NAME: &'static str = "SetEntityStateResponse";
    const PACKAGE: &'static str = "make87_messages_ros2.humble.gazebo_msgs.srv";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.humble.gazebo_msgs.srv.SetEntityStateResponse".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.humble.gazebo_msgs.srv.SetEntityStateResponse".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetLightPropertiesRequest {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<
        super::super::super::super::make87_messages::core::Header,
    >,
    #[prost(string, tag = "2")]
    pub light_name: ::prost::alloc::string::String,
}
impl ::prost::Name for GetLightPropertiesRequest {
    const NAME: &'static str = "GetLightPropertiesRequest";
    const PACKAGE: &'static str = "make87_messages_ros2.humble.gazebo_msgs.srv";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.humble.gazebo_msgs.srv.GetLightPropertiesRequest".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.humble.gazebo_msgs.srv.GetLightPropertiesRequest".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetLightPropertiesResponse {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<
        super::super::super::super::make87_messages::core::Header,
    >,
    #[prost(message, optional, tag = "2")]
    pub diffuse: ::core::option::Option<super::super::std_msgs::msg::ColorRgba>,
    #[prost(double, tag = "3")]
    pub attenuation_constant: f64,
    #[prost(double, tag = "4")]
    pub attenuation_linear: f64,
    #[prost(double, tag = "5")]
    pub attenuation_quadratic: f64,
    #[prost(bool, tag = "6")]
    pub success: bool,
    #[prost(string, tag = "7")]
    pub status_message: ::prost::alloc::string::String,
}
impl ::prost::Name for GetLightPropertiesResponse {
    const NAME: &'static str = "GetLightPropertiesResponse";
    const PACKAGE: &'static str = "make87_messages_ros2.humble.gazebo_msgs.srv";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.humble.gazebo_msgs.srv.GetLightPropertiesResponse".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.humble.gazebo_msgs.srv.GetLightPropertiesResponse".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct DeleteEntityRequest {
    #[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,
}
impl ::prost::Name for DeleteEntityRequest {
    const NAME: &'static str = "DeleteEntityRequest";
    const PACKAGE: &'static str = "make87_messages_ros2.humble.gazebo_msgs.srv";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.humble.gazebo_msgs.srv.DeleteEntityRequest".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.humble.gazebo_msgs.srv.DeleteEntityRequest".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct DeleteEntityResponse {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<
        super::super::super::super::make87_messages::core::Header,
    >,
    #[prost(bool, tag = "2")]
    pub success: bool,
    #[prost(string, tag = "3")]
    pub status_message: ::prost::alloc::string::String,
}
impl ::prost::Name for DeleteEntityResponse {
    const NAME: &'static str = "DeleteEntityResponse";
    const PACKAGE: &'static str = "make87_messages_ros2.humble.gazebo_msgs.srv";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.humble.gazebo_msgs.srv.DeleteEntityResponse".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.humble.gazebo_msgs.srv.DeleteEntityResponse".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetEntityStateRequest {
    #[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 reference_frame: ::prost::alloc::string::String,
}
impl ::prost::Name for GetEntityStateRequest {
    const NAME: &'static str = "GetEntityStateRequest";
    const PACKAGE: &'static str = "make87_messages_ros2.humble.gazebo_msgs.srv";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.humble.gazebo_msgs.srv.GetEntityStateRequest".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.humble.gazebo_msgs.srv.GetEntityStateRequest".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetEntityStateResponse {
    #[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 state: ::core::option::Option<super::msg::EntityState>,
    #[prost(bool, tag = "4")]
    pub success: bool,
}
impl ::prost::Name for GetEntityStateResponse {
    const NAME: &'static str = "GetEntityStateResponse";
    const PACKAGE: &'static str = "make87_messages_ros2.humble.gazebo_msgs.srv";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.humble.gazebo_msgs.srv.GetEntityStateResponse".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.humble.gazebo_msgs.srv.GetEntityStateResponse".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetPhysicsPropertiesRequest {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<
        super::super::super::super::make87_messages::core::Header,
    >,
}
impl ::prost::Name for GetPhysicsPropertiesRequest {
    const NAME: &'static str = "GetPhysicsPropertiesRequest";
    const PACKAGE: &'static str = "make87_messages_ros2.humble.gazebo_msgs.srv";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.humble.gazebo_msgs.srv.GetPhysicsPropertiesRequest".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.humble.gazebo_msgs.srv.GetPhysicsPropertiesRequest".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetPhysicsPropertiesResponse {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<
        super::super::super::super::make87_messages::core::Header,
    >,
    #[prost(double, tag = "2")]
    pub time_step: f64,
    #[prost(bool, tag = "3")]
    pub pause: bool,
    #[prost(double, tag = "4")]
    pub max_update_rate: f64,
    #[prost(message, optional, tag = "5")]
    pub gravity: ::core::option::Option<super::super::geometry_msgs::msg::Vector3>,
    #[prost(message, optional, tag = "6")]
    pub ode_config: ::core::option::Option<super::msg::OdePhysics>,
    #[prost(bool, tag = "7")]
    pub success: bool,
    #[prost(string, tag = "8")]
    pub status_message: ::prost::alloc::string::String,
}
impl ::prost::Name for GetPhysicsPropertiesResponse {
    const NAME: &'static str = "GetPhysicsPropertiesResponse";
    const PACKAGE: &'static str = "make87_messages_ros2.humble.gazebo_msgs.srv";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.humble.gazebo_msgs.srv.GetPhysicsPropertiesResponse".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.humble.gazebo_msgs.srv.GetPhysicsPropertiesResponse"
            .into()
    }
}
