pub struct SimpleWorld { /* private fields */ }Expand description
A world simply described by a directed weighted graph
Implementations§
Source§impl SimpleWorld
impl SimpleWorld
Sourcepub fn new(
graph: Arc<Graph<SimpleNodeData, SimpleEdgeData>>,
agent_size: f64,
) -> Self
pub fn new( graph: Arc<Graph<SimpleNodeData, SimpleEdgeData>>, agent_size: f64, ) -> Self
Creates a new simple world.
§Arguments
graph- The graph representing the world.agent_size- The radius of the agents.
Trait Implementations§
Source§impl Heuristic<SimpleWorld, SimpleState, GraphEdgeId, OrderedFloat<f64>, OrderedFloat<f64>> for SimpleHeuristic
impl Heuristic<SimpleWorld, SimpleState, GraphEdgeId, OrderedFloat<f64>, OrderedFloat<f64>> for SimpleHeuristic
Source§fn get_heuristic(&self, state: &SimpleState) -> Option<MyTime>
fn get_heuristic(&self, state: &SimpleState) -> Option<MyTime>
Returns the heuristic value for the given state,
or None if the goal state is not reachable from that state.
Source§impl HeuristicBuilder<SimpleWorld, SimpleState, GraphEdgeId, OrderedFloat<f64>, OrderedFloat<f64>> for SimpleHeuristic
impl HeuristicBuilder<SimpleWorld, SimpleState, GraphEdgeId, OrderedFloat<f64>, OrderedFloat<f64>> for SimpleHeuristic
Source§fn build(
transition_system: Arc<SimpleWorld>,
task: Arc<Task<SimpleState, MyTime>>,
) -> Self
fn build( transition_system: Arc<SimpleWorld>, task: Arc<Task<SimpleState, MyTime>>, ) -> Self
Builds a new heuristic for the given transition system and task. Read more
Source§impl TransitionSystem<SimpleState, GraphEdgeId, OrderedFloat<f64>, OrderedFloat<f64>> for SimpleWorld
impl TransitionSystem<SimpleState, GraphEdgeId, OrderedFloat<f64>, OrderedFloat<f64>> for SimpleWorld
Source§fn actions_from(&self, state: &SimpleState) -> Iter<'_, GraphEdgeId>
fn actions_from(&self, state: &SimpleState) -> Iter<'_, GraphEdgeId>
Returns the actions that can be applied from the given state.
Source§fn transition(&self, _state: &SimpleState, action: &GraphEdgeId) -> SimpleState
fn transition(&self, _state: &SimpleState, action: &GraphEdgeId) -> SimpleState
Returns the state resulting from applying the given action to the given state.
Source§fn transition_cost(&self, _state: &SimpleState, action: &GraphEdgeId) -> MyTime
fn transition_cost(&self, _state: &SimpleState, action: &GraphEdgeId) -> MyTime
Returns the cost of applying the given action to the given state (i.e. the duration of the action).
Source§fn reverse_actions_from(&self, state: &SimpleState) -> Iter<'_, GraphEdgeId>
fn reverse_actions_from(&self, state: &SimpleState) -> Iter<'_, GraphEdgeId>
Returns the actions that can be applied to reach the given state.
Source§fn reverse_transition(
&self,
_state: &SimpleState,
action: &GraphEdgeId,
) -> SimpleState
fn reverse_transition( &self, _state: &SimpleState, action: &GraphEdgeId, ) -> SimpleState
Returns the state resulting from applying the given reverse action to the given state.
Source§fn reverse_transition_cost(
&self,
_state: &SimpleState,
action: &GraphEdgeId,
) -> MyTime
fn reverse_transition_cost( &self, _state: &SimpleState, action: &GraphEdgeId, ) -> MyTime
Returns the cost of applying the given reverse action to the given state (i.e. the duration of the action).
Source§fn can_wait_at(&self, _state: &SimpleState) -> bool
fn can_wait_at(&self, _state: &SimpleState) -> bool
Returns true if agents can wait at the given state.
Source§fn conflict(
&self,
moves: A2<&Move<SimpleState, GraphEdgeId, MyTime, MyTime>>,
) -> bool
fn conflict( &self, moves: A2<&Move<SimpleState, GraphEdgeId, MyTime, MyTime>>, ) -> bool
Returns true if the two moves lead to a collision.
Auto Trait Implementations§
impl Freeze for SimpleWorld
impl RefUnwindSafe for SimpleWorld
impl Send for SimpleWorld
impl Sync for SimpleWorld
impl Unpin for SimpleWorld
impl UnsafeUnpin for SimpleWorld
impl UnwindSafe for SimpleWorld
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> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
Source§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Convert
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can
then be further downcast into Box<ConcreteType> where ConcreteType implements Trait.Source§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Convert
Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be
further downcast into Rc<ConcreteType> where ConcreteType implements Trait.Source§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
Convert
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.Source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
Convert
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.Source§impl<T> DowncastSync for T
impl<T> DowncastSync 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.