pub struct PlanPath {
pub waypoints: [Point2f; 32],
pub len: u32,
pub cost: Length,
pub iterations: u32,
}Expand description
The best path known when the refinement window closed.
Every consecutive pair of waypoints is collision free, so the path can be driven as published.
Fields§
§waypoints: [Point2f; 32]§len: u32Waypoints actually used in waypoints.
cost: LengthCost of the RRT* tree path, which is what the anytime quality scores. The published waypoints are a shortcut of it, so this is an upper bound on the distance actually driven.
iterations: u32RRT* iterations spent on this path, base block included.
Trait Implementations§
Source§impl<'__de, __Context> BorrowDecode<'__de, __Context> for PlanPath
impl<'__de, __Context> BorrowDecode<'__de, __Context> for PlanPath
Source§fn borrow_decode<__D: BorrowDecoder<'__de, Context = __Context>>(
decoder: &mut __D,
) -> Result<Self, DecodeError>
fn borrow_decode<__D: BorrowDecoder<'__de, Context = __Context>>( decoder: &mut __D, ) -> Result<Self, DecodeError>
Attempt to decode this type with the given BorrowDecode.
Source§impl<'de> Deserialize<'de> for PlanPath
impl<'de> Deserialize<'de> for PlanPath
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Auto Trait Implementations§
impl Freeze for PlanPath
impl RefUnwindSafe for PlanPath
impl Send for PlanPath
impl Sync for PlanPath
impl Unpin for PlanPath
impl UnsafeUnpin for PlanPath
impl UnwindSafe for PlanPath
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CuMsgPayload for T
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
impl<T> GetTypeRegistration for T
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more