ExporterIFCUtils.IsCurveLoopConvexWithOpenings
Method
Description:
Checks if the region bounded by the input curve loop can be represented as the subtraction of 0 or more convex polygons from a base convex polygon.
Checks if the region bounded by the input curve loop can be represented as the subtraction of 0 or more convex polygons from a base convex polygon.
Remarks:
This function is intended to be used to determine if the geometry of a wall with an elevation profile can be successfully represented as a vertical extrusion with one or more openings removed. If this function is to return true, the subtracting polygons must each have at least one edge coincident with the base convex polygon. Before the check is performed, this input curve will be trimmed by the range extents of the wall, if any.
This function is intended to be used to determine if the geometry of a wall with an elevation profile can be successfully represented as a vertical extrusion with one or more openings removed. If this function is to return true, the subtracting polygons must each have at least one edge coincident with the base convex polygon. Before the check is performed, this input curve will be trimmed by the range extents of the wall, if any.
Syntax
Parameters
Parameter | Type | Description |
---|---|---|
inputCurveLoop | CurveLoop | The input curve loop. It is intended that this curve loop have been obtained from the elevation profile of a wall. |
wall | Wall | The wall from which the curve loop was obtained. |
range | IFCRange | The range extents of the wall. |
loopIsDegenerate | Boolean | If the function returns false but this returns true, the loop could be obtained but was degenerate. Thus there is no extrusion that can be produced. |
Return Value
Type | Description |
---|---|
Boolean | True if the region can be represented by a boolean combination of polygons, false otherwise. |
Exceptions
Exception | Condition |
---|---|
ArgumentNullException | A non-optional argument was null |