(cmd, timeout=12)
| 1304 | upper = [] |
| 1305 | for q in reversed(p): |
| 1306 | while len(upper) >= 2 and cross(upper[-2], upper[-1], q) <= 0: |
| 1307 | upper.pop() |
| 1308 | upper.append(q) |
| 1309 | return lower[:-1] + upper[:-1] |
| 1310 | |
| 1311 | |
| 1312 | def _gf_point_in_polygon(pt, poly): |
| 1313 | if not poly or len(poly) < 3: |
| 1314 | return False |
| 1315 | inside = False |
| 1316 | j = len(poly) - 1 |
| 1317 | for i in range(len(poly)): |
| 1318 | xi, yi = poly[i]['x'], poly[i]['y'] |
| 1319 | xj, yj = poly[j]['x'], poly[j]['y'] |
no test coverage detected