diff --git a/src/geometry/geometry.rs b/src/geometry/geometry.rs index 917ff8c..556e38b 100644 --- a/src/geometry/geometry.rs +++ b/src/geometry/geometry.rs @@ -546,7 +546,12 @@ impl< > Geometry { pub fn first_rail(&self, node: NodeIndex) -> Option { - self.all_rails(node).next() + self.all_rails(node).find(|bend| { + !self + .graph + .edges_directed(bend.petgraph_index(), Incoming) + .any(|edge| matches!(edge.weight(), GeometryLabel::Outer)) + }) } pub fn all_rails(&self, node: NodeIndex) -> impl Iterator + '_ {