(x1, t1, x10, x2, t2, x20, val)
| 135 | |
| 136 | |
| 137 | def angle_cost(x1, t1, x10, x2, t2, x20, val): |
| 138 | |
| 139 | if t1 == "LINE" and t2 == "LINE": |
| 140 | v1 = gp_Vec2d(*(x1[2:] - x1[:2])) |
| 141 | v2 = gp_Vec2d(*(x2[2:] - x2[:2])) |
| 142 | elif t1 == "LINE" and t2 == "CIRCLE": |
| 143 | v1 = gp_Vec2d(*(x1[2:] - x1[:2])) |
| 144 | v2 = arc_first_tangent(x2) |
| 145 | elif t1 == "CIRCLE" and t2 == "LINE": |
| 146 | v1 = arc_last_tangent(x1) |
| 147 | v2 = gp_Vec2d(*(x2[2:] - x2[:2])) |
| 148 | elif t1 == "CIRCLE" and t2 == "CIRCLE": |
| 149 | v1 = arc_last_tangent(x1) |
| 150 | v2 = arc_first_tangent(x2) |
| 151 | else: |
| 152 | raise invalid_args(t1, t2) |
| 153 | |
| 154 | return v2.Angle(v1) - val |
| 155 | |
| 156 | |
| 157 | def length_cost(x, t, x0, val): |
nothing calls this directly
no test coverage detected