Skip to content

Commit 3748172

Browse files
committed
[web] refactor resolve paths
1 parent 1c245aa commit 3748172

File tree

1 file changed

+12
-24
lines changed

1 file changed

+12
-24
lines changed

web/src/bidijkstra.rs

Lines changed: 12 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -182,15 +182,12 @@ impl Dijkstra {
182182
self.resolve_edge(edge, &mut path, is_upwards, edges);
183183

184184
let current_edge = edges[edge];
185-
let next;
186185
let prev;
187186

188187
if is_upwards {
189-
next = current_edge.source;
190-
prev = self.dist_up[next];
188+
prev = self.dist_up[current_edge.source];
191189
} else {
192-
next = current_edge.target;
193-
prev = self.dist_down[next];
190+
prev = self.dist_down[current_edge.target];
194191
}
195192
if let Some(child) = prev.1 {
196193
self.walk_down(child, is_upwards, &mut path, edges);
@@ -205,26 +202,17 @@ impl Dijkstra {
205202
is_upwards: bool,
206203
edges: &[Way],
207204
) {
208-
let current_edge = edges[edge];
209-
210-
if is_upwards {
211-
if let Some(next) = current_edge.contrated_next {
212-
self.resolve_edge(next, &mut path, is_upwards, &edges);
213-
}
214-
if let Some(previous) = current_edge.contrated_previous {
215-
self.resolve_edge(previous, &mut path, is_upwards, &edges);
216-
} else {
217-
path.push(current_edge.source);
218-
}
219-
} else {
220-
if let Some(previous) = current_edge.contrated_previous {
221-
self.resolve_edge(previous, &mut path, is_upwards, &edges);
222-
}
223-
if let Some(next) = current_edge.contrated_next {
224-
self.resolve_edge(next, &mut path, is_upwards, &edges);
225-
} else {
226-
path.push(current_edge.target);
205+
match (&edges[edge].contrated_previous, &edges[edge].contrated_next) {
206+
(Some(previous), Some(next)) => {
207+
if is_upwards {
208+
self.resolve_edge(*next, &mut path, is_upwards, edges);
209+
self.resolve_edge(*previous, &mut path, is_upwards, edges);
210+
} else {
211+
self.resolve_edge(*previous, &mut path, is_upwards, edges);
212+
self.resolve_edge(*next, &mut path, is_upwards, edges);
213+
}
227214
}
215+
_ => path.push(edge),
228216
}
229217
}
230218

0 commit comments

Comments
 (0)