// This file is @generated by prost-build.
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct TrajectoryPoint {
    #[prost(message, optional, tag = "1")]
    pub time_from_start: ::core::option::Option<
        super::super::builtin_interfaces::msg::Duration,
    >,
    #[prost(message, optional, tag = "2")]
    pub pose: ::core::option::Option<super::super::geometry_msgs::msg::Pose>,
    #[prost(float, tag = "3")]
    pub longitudinal_velocity_mps: f32,
    #[prost(float, tag = "4")]
    pub lateral_velocity_mps: f32,
    #[prost(float, tag = "5")]
    pub acceleration_mps2: f32,
    #[prost(float, tag = "6")]
    pub heading_rate_rps: f32,
    #[prost(float, tag = "7")]
    pub front_wheel_angle_rad: f32,
    #[prost(float, tag = "8")]
    pub rear_wheel_angle_rad: f32,
}
impl ::prost::Name for TrajectoryPoint {
    const NAME: &'static str = "TrajectoryPoint";
    const PACKAGE: &'static str = "make87_messages_ros2.rolling.autoware_planning_msgs.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.rolling.autoware_planning_msgs.msg.TrajectoryPoint".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.rolling.autoware_planning_msgs.msg.TrajectoryPoint".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Trajectory {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<super::super::std_msgs::msg::Header>,
    #[prost(message, repeated, tag = "2")]
    pub points: ::prost::alloc::vec::Vec<TrajectoryPoint>,
}
impl ::prost::Name for Trajectory {
    const NAME: &'static str = "Trajectory";
    const PACKAGE: &'static str = "make87_messages_ros2.rolling.autoware_planning_msgs.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.rolling.autoware_planning_msgs.msg.Trajectory".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.rolling.autoware_planning_msgs.msg.Trajectory".into()
    }
}
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct PathPoint {
    #[prost(message, optional, tag = "1")]
    pub pose: ::core::option::Option<super::super::geometry_msgs::msg::Pose>,
    #[prost(float, tag = "2")]
    pub longitudinal_velocity_mps: f32,
    #[prost(float, tag = "3")]
    pub lateral_velocity_mps: f32,
    #[prost(float, tag = "4")]
    pub heading_rate_rps: f32,
    #[prost(bool, tag = "5")]
    pub is_final: bool,
}
impl ::prost::Name for PathPoint {
    const NAME: &'static str = "PathPoint";
    const PACKAGE: &'static str = "make87_messages_ros2.rolling.autoware_planning_msgs.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.rolling.autoware_planning_msgs.msg.PathPoint".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.rolling.autoware_planning_msgs.msg.PathPoint".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct LaneletPrimitive {
    #[prost(int64, tag = "1")]
    pub id: i64,
    #[prost(string, tag = "2")]
    pub primitive_type: ::prost::alloc::string::String,
}
impl ::prost::Name for LaneletPrimitive {
    const NAME: &'static str = "LaneletPrimitive";
    const PACKAGE: &'static str = "make87_messages_ros2.rolling.autoware_planning_msgs.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.rolling.autoware_planning_msgs.msg.LaneletPrimitive".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.rolling.autoware_planning_msgs.msg.LaneletPrimitive"
            .into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct LaneletSegment {
    #[prost(message, optional, tag = "1")]
    pub preferred_primitive: ::core::option::Option<LaneletPrimitive>,
    #[prost(message, repeated, tag = "2")]
    pub primitives: ::prost::alloc::vec::Vec<LaneletPrimitive>,
}
impl ::prost::Name for LaneletSegment {
    const NAME: &'static str = "LaneletSegment";
    const PACKAGE: &'static str = "make87_messages_ros2.rolling.autoware_planning_msgs.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.rolling.autoware_planning_msgs.msg.LaneletSegment".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.rolling.autoware_planning_msgs.msg.LaneletSegment".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct LaneletRoute {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<super::super::std_msgs::msg::Header>,
    #[prost(message, optional, tag = "2")]
    pub start_pose: ::core::option::Option<super::super::geometry_msgs::msg::Pose>,
    #[prost(message, optional, tag = "3")]
    pub goal_pose: ::core::option::Option<super::super::geometry_msgs::msg::Pose>,
    #[prost(message, repeated, tag = "4")]
    pub segments: ::prost::alloc::vec::Vec<LaneletSegment>,
    #[prost(message, optional, tag = "5")]
    pub uuid: ::core::option::Option<super::super::unique_identifier_msgs::msg::Uuid>,
    #[prost(bool, tag = "6")]
    pub allow_modification: bool,
}
impl ::prost::Name for LaneletRoute {
    const NAME: &'static str = "LaneletRoute";
    const PACKAGE: &'static str = "make87_messages_ros2.rolling.autoware_planning_msgs.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.rolling.autoware_planning_msgs.msg.LaneletRoute".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.rolling.autoware_planning_msgs.msg.LaneletRoute".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Path {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<super::super::std_msgs::msg::Header>,
    #[prost(message, repeated, tag = "2")]
    pub points: ::prost::alloc::vec::Vec<PathPoint>,
    #[prost(message, repeated, tag = "3")]
    pub left_bound: ::prost::alloc::vec::Vec<super::super::geometry_msgs::msg::Point>,
    #[prost(message, repeated, tag = "4")]
    pub right_bound: ::prost::alloc::vec::Vec<super::super::geometry_msgs::msg::Point>,
}
impl ::prost::Name for Path {
    const NAME: &'static str = "Path";
    const PACKAGE: &'static str = "make87_messages_ros2.rolling.autoware_planning_msgs.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.rolling.autoware_planning_msgs.msg.Path".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.rolling.autoware_planning_msgs.msg.Path".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PoseWithUuidStamped {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<super::super::std_msgs::msg::Header>,
    #[prost(message, optional, tag = "2")]
    pub pose: ::core::option::Option<super::super::geometry_msgs::msg::Pose>,
    #[prost(message, optional, tag = "3")]
    pub uuid: ::core::option::Option<super::super::unique_identifier_msgs::msg::Uuid>,
}
impl ::prost::Name for PoseWithUuidStamped {
    const NAME: &'static str = "PoseWithUuidStamped";
    const PACKAGE: &'static str = "make87_messages_ros2.rolling.autoware_planning_msgs.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.rolling.autoware_planning_msgs.msg.PoseWithUuidStamped"
            .into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.rolling.autoware_planning_msgs.msg.PoseWithUuidStamped"
            .into()
    }
}
