(half_space)
| 68 | |
| 69 | |
| 70 | def _half_space_plane(half_space) -> dict | None: |
| 71 | if not half_space.is_a("IfcHalfSpaceSolid"): |
| 72 | return None |
| 73 | surface = half_space.BaseSurface |
| 74 | if not surface or not surface.is_a("IfcPlane"): |
| 75 | return None |
| 76 | pos = surface.Position |
| 77 | loc = _rc(pos.Location.Coordinates) |
| 78 | normal = _rc(pos.Axis.DirectionRatios) if pos.Axis else [0.0, 0.0, 1.0] |
| 79 | return {"location": loc, "normal": normal} |
| 80 | |
| 81 | |
| 82 | def _walk_clipping(item) -> tuple: |
no test coverage detected