path_finding/search/
breadth_first.rs1use crate::graph::Graph;
2use crate::grid::{Direction, Grid};
3use crate::node::Node;
4use crate::path::PathFinding;
5use crate::search::probing;
6use crate::search::probing::{probe_graph, probe_grid};
7
8pub struct BreadthFirstSearch {}
9
10impl PathFinding for BreadthFirstSearch {
11 fn graph(&self, source: Node, target: Node, graph: &Graph) -> Graph {
12 return probe_graph(source.id, target.id, graph, probing::dequeue);
13 }
14
15 fn grid(&self, source: (usize, usize), target: (usize, usize), grid: &Grid, directions: &[Direction]) -> Graph {
16 return probe_grid(source, target, grid, directions, probing::dequeue);
17 }
18}