(arcs: Arcs)
| 128 | |
| 129 | |
| 130 | def select_lowest_arc(arcs: Arcs) -> Tuple[Point, Arc]: |
| 131 | |
| 132 | x = [] |
| 133 | y = [] |
| 134 | |
| 135 | for a in arcs: |
| 136 | |
| 137 | if a.a1 < 1.5 * pi and a.a2 > 1.5 * pi: |
| 138 | x.append(a.c.x) |
| 139 | y.append(a.c.y - a.r) |
| 140 | else: |
| 141 | p, _ = select_lowest_point([a.s, a.e]) |
| 142 | x.append(p.x) |
| 143 | y.append(p.y) |
| 144 | |
| 145 | ixs = lexsort((x, y)) |
| 146 | |
| 147 | return Point(x[ixs[0]], y[ixs[0]]), arcs[ixs[0]] |
| 148 | |
| 149 | |
| 150 | def select_lowest(arcs: Arcs, points: Points) -> Entity: |
no test coverage detected