You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
let current_edge = edge_lists.get(current_edge_list_id.0)
200
-
.and_then(|el| el.get(current_edge_id))
201
-
.ok_or(OvertureMapsCollectionError::InternalError(format!("edge list {current_edge_list_id:?} or edge {current_edge_id:?} not found during island detection starting at edge {edge:?}")))?;
207
+
.and_then(|el| el.get(¤t_edge_id))
208
+
.ok_or(OvertureMapsCollectionError::InternalError(format!("edge list {current_edge_list_id:?} or edge {current_edge_id:?} not found during island detection starting at edge {edge:?}")))?;
202
209
203
210
// Expand queue
204
-
let outward_edges:Vec<&(EdgeListId,EdgeId)> = forward_adjacency
205
-
[current_edge.dst_vertex_id.0]
206
-
.keys()
207
-
.collect();
208
-
for(edge_list_id, edge_id)in outward_edges {
209
-
visit_queue.push_back((edge_list_id, edge_id));
210
-
}
211
-
let inward_edges:Vec<&(EdgeListId,EdgeId)> = backward_adjacency
212
-
[current_edge.src_vertex_id.0]
213
-
.keys()
214
-
.collect();
215
-
for(edge_list_id, edge_id)in inward_edges {
216
-
visit_queue.push_back((edge_list_id, edge_id));
217
-
}
211
+
visit_edge(
212
+
¤t_edge,
213
+
&mut visited,
214
+
&mut visit_queue,
215
+
forward_adjacency,
216
+
backward_adjacency,
217
+
);
218
218
219
219
// Update counter
220
220
let current_midpoint = compute_midpoint(current_edge, vertices);
// Update vertex_lookup to reflect the remapped vertex indices,
226
+
for v in vertex_lookup.values_mut(){
227
+
*v = vertex_remapping[*v].ok_or(OvertureMapsCollectionError::InternalError(format!("vertex index {v} expected after island computation but was flagged for deletion")))?.0;
0 commit comments