mirror of
https://github.com/IfcOpenShell/IfcOpenShell.git
synced 2026-09-19 14:41:25 +00:00
Align vertical bounding plane strategy contract with caller
get_vertical_bounding_planes always returns EXTRUDE_CLIP; the EXTRUDE_CLIP-vs-BREP decision belongs to the calling layer. Generated with the assistance of an AI coding tool.
This commit is contained in:
@@ -284,9 +284,11 @@ def get_vertical_bounding_planes(
|
|||||||
:param base_z: Base elevation of the space in SI.
|
:param base_z: Base elevation of the space in SI.
|
||||||
:param direction: "UP" for top (ceiling/roof) or "DOWN" for bottom (floor/slab).
|
:param direction: "UP" for top (ceiling/roof) or "DOWN" for bottom (floor/slab).
|
||||||
:param start_z: Elevation to cast rays from in SI (the RL cut level).
|
:param start_z: Elevation to cast rays from in SI (the RL cut level).
|
||||||
:return: (strategy, planes). Strategy is "EXTRUDE_CLIP" when hits were
|
:return: (strategy, planes). Strategy is always "EXTRUDE_CLIP"; an empty
|
||||||
found, otherwise "BREP". Planes are (point, normal) tuples in SI; the
|
planes list means open top (direction="UP") or void below
|
||||||
normal points toward the removed side (half-space convention).
|
(direction="DOWN"). The strategy decision between extrusion and B-rep
|
||||||
|
happens in the calling layer. Planes are (point, normal) tuples in SI;
|
||||||
|
the normal points toward the removed side (half-space convention).
|
||||||
"""
|
"""
|
||||||
ray_dir = np.array([0.0, 0.0, 1.0]) if direction == "UP" else np.array([0.0, 0.0, -1.0])
|
ray_dir = np.array([0.0, 0.0, 1.0]) if direction == "UP" else np.array([0.0, 0.0, -1.0])
|
||||||
origin_z = start_z if start_z is not None else base_z + 0.001
|
origin_z = start_z if start_z is not None else base_z + 0.001
|
||||||
|
|||||||
Reference in New Issue
Block a user