diff --git a/src/db/db/dbEdgePairRelations.cc b/src/db/db/dbEdgePairRelations.cc index 5d32bcc27..de4f46078 100644 --- a/src/db/db/dbEdgePairRelations.cc +++ b/src/db/db/dbEdgePairRelations.cc @@ -330,6 +330,7 @@ static bool var_near_part_of_edge (zero_distance_mode zd_mode, db::coord_traits< } // handle the parallel case + // NOTE: a point is "parallel" to an edge if (e.parallel (g)) { if (std::abs (double (e.distance (g.p1 ()))) >= double (d)) { @@ -387,7 +388,7 @@ static bool var_near_part_of_edge (zero_distance_mode zd_mode, db::coord_traits< l1 = std::max (0.0, l1); l2 = std::min (1.0, l2); - if (l1 >= l2) { + if (l1 > l2 + db::epsilon) { return false; } else { if (output) { diff --git a/testdata/drc/drcSimpleTests_au146.gds b/testdata/drc/drcSimpleTests_au146.gds index 66262fc23..d85bb1933 100644 Binary files a/testdata/drc/drcSimpleTests_au146.gds and b/testdata/drc/drcSimpleTests_au146.gds differ diff --git a/testdata/drc/drcSimpleTests_au146d.gds b/testdata/drc/drcSimpleTests_au146d.gds index 8621421d6..7ea9e5329 100644 Binary files a/testdata/drc/drcSimpleTests_au146d.gds and b/testdata/drc/drcSimpleTests_au146d.gds differ