(crv: Adaptor3d_Curve, p1: float, p2: float)
| 5504 | |
| 5505 | |
| 5506 | def _adaptor_curve_to_edge(crv: Adaptor3d_Curve, p1: float, p2: float) -> TopoDS_Edge: |
| 5507 | |
| 5508 | GCT = GeomAbs_CurveType |
| 5509 | |
| 5510 | t = crv.GetType() |
| 5511 | |
| 5512 | if t == GCT.GeomAbs_BSplineCurve: |
| 5513 | bldr = BRepBuilderAPI_MakeEdge(crv.BSpline(), p1, p2) |
| 5514 | elif t == GCT.GeomAbs_BezierCurve: |
| 5515 | bldr = BRepBuilderAPI_MakeEdge(crv.Bezier(), p1, p2) |
| 5516 | elif t == GCT.GeomAbs_Circle: |
| 5517 | bldr = BRepBuilderAPI_MakeEdge(crv.Circle(), p1, p2) |
| 5518 | elif t == GCT.GeomAbs_Line: |
| 5519 | bldr = BRepBuilderAPI_MakeEdge(crv.Line(), p1, p2) |
| 5520 | elif t == GCT.GeomAbs_Ellipse: |
| 5521 | bldr = BRepBuilderAPI_MakeEdge(crv.Ellipse(), p1, p2) |
| 5522 | elif t == GCT.GeomAbs_Hyperbola: |
| 5523 | bldr = BRepBuilderAPI_MakeEdge(crv.Hyperbola(), p1, p2) |
| 5524 | elif t == GCT.GeomAbs_Parabola: |
| 5525 | bldr = BRepBuilderAPI_MakeEdge(crv.Parabola(), p1, p2) |
| 5526 | elif t == GCT.GeomAbs_OffsetCurve: |
| 5527 | bldr = BRepBuilderAPI_MakeEdge(crv.OffsetCurve(), p1, p2) |
| 5528 | else: |
| 5529 | raise ValueError(r"{t} is not a supported curve type") |
| 5530 | |
| 5531 | return bldr.Edge() |
| 5532 | |
| 5533 | |
| 5534 | # %% history related helpers |
no outgoing calls