diff --git a/committed.toml b/committed.toml index 09364c1..2c561b4 100644 --- a/committed.toml +++ b/committed.toml @@ -28,6 +28,7 @@ allowed_scopes = [ "autorouter/place_via", "autorouter/pointroute", "autorouter/ratsnest", + "autorouter/ratline", "autorouter/remove_bands", "autorouter/selection", "drawing/band", diff --git a/src/autorouter/ratline.rs b/src/autorouter/ratline.rs index 831e788..5b12a24 100644 --- a/src/autorouter/ratline.rs +++ b/src/autorouter/ratline.rs @@ -81,6 +81,25 @@ impl<'a, M: AccessMesadata> RatlineRef<'a, M> { .ratsnest() .graph() .edge_indices() + .filter(move |other| { + let (self_source, self_target) = self + .autorouter + .ratsnest + .graph() + .edge_endpoints(self.index) + .unwrap(); + let (other_source, other_target) = self + .autorouter + .ratsnest + .graph() + .edge_endpoints(*other) + .unwrap(); + + self_source != other_source + && self_source != other_target + && self_target != other_source + && self_target != other_target + }) .filter(move |other| { let other_line = other.ref_(self.autorouter).line();