(self, obj: Union[Line, HalfLine, Circle, HoleCircle])
| 448 | self.hole = hole |
| 449 | |
| 450 | def intersect(self, obj: Union[Line, HalfLine, Circle, HoleCircle]) -> Point: |
| 451 | if isinstance(obj, Line): |
| 452 | a, b = line_circle_intersection(obj, self) |
| 453 | if a.close(self.hole): |
| 454 | return b |
| 455 | return a |
| 456 | if isinstance(obj, HalfLine): |
| 457 | return obj.intersect(self) |
| 458 | if isinstance(obj, Circle): |
| 459 | a, b = circle_circle_intersection(obj, self) |
| 460 | if a.close(self.hole): |
| 461 | return b |
| 462 | return a |
| 463 | if isinstance(obj, HoleCircle): |
| 464 | a, b = circle_circle_intersection(obj, self) |
| 465 | if a.close(self.hole) or a.close(obj.hole): |
| 466 | return b |
| 467 | return a |
| 468 | |
| 469 | |
| 470 | def solve_quad(a: float, b: float, c: float) -> tuple[float, float]: |
nothing calls this directly
no test coverage detected