pub struct VisibilityGraphPlanner {
pub obstacles: Vec<Array2<f64>>,
/* private fields */
}Expand description
A pathplanning planner that uses visibility graphs to find paths
Fields§
§obstacles: Vec<Array2<f64>>The obstacles in the environment (polygons)
Implementations§
Source§impl VisibilityGraphPlanner
impl VisibilityGraphPlanner
Sourcepub fn new(obstacles: Vec<Array2<f64>>) -> Self
pub fn new(obstacles: Vec<Array2<f64>>) -> Self
Create a new visibility graph planner with the given obstacles
Sourcepub fn with_fast_path(self, use_fastpath: bool) -> Self
pub fn with_fast_path(self, use_fastpath: bool) -> Self
Set whether to use the fast path optimization
When enabled, the planner first checks if there’s a direct path from start to goal before building the full visibility graph.
Sourcepub fn build_graph(&mut self) -> SpatialResult<()>
pub fn build_graph(&mut self) -> SpatialResult<()>
Pre-compute the visibility graph for the given obstacles
This can be called explicitly to build the graph once and reuse it for multiple path queries.
Trait Implementations§
Source§impl Clone for VisibilityGraphPlanner
impl Clone for VisibilityGraphPlanner
Source§fn clone(&self) -> VisibilityGraphPlanner
fn clone(&self) -> VisibilityGraphPlanner
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreAuto Trait Implementations§
impl Freeze for VisibilityGraphPlanner
impl RefUnwindSafe for VisibilityGraphPlanner
impl Send for VisibilityGraphPlanner
impl Sync for VisibilityGraphPlanner
impl Unpin for VisibilityGraphPlanner
impl UnwindSafe for VisibilityGraphPlanner
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
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 moreSource§impl<T> Pointable for T
impl<T> Pointable for T
Source§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
Source§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
The inverse inclusion map: attempts to construct
self from the equivalent element of its
superset. Read moreSource§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
Checks if
self is actually part of its subset T (and can be converted to it).Source§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
Use with care! Same as
self.to_subset but without any property checks. Always succeeds.Source§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
The inclusion map: converts
self to the equivalent element of its superset.