8.8.3.27 IfcPolygonalBoundedHalfSpace
8.8.3.27.1 Semantic definition
The polygonal bounded half space is a special subtype of a half space solid, where the material of the half space used in Boolean expressions is bounded by a twodimensional boundary. The base surface of the half space is positioned by its normal relative to the object coordinate system (as defined at the supertype IfcHalfSpaceSolid), and its boundary (with straight and arc segments) is defined in the XY plane of the position coordinate system established by the Position attribute, the subtraction body is extruded perpendicular to the XY plane of the position coordinate system, that is, into the direction of the positive Z axis defined by the Position attribute.
The boundary is defined by a 2 dimensional polyline (or 2 dimensional composite curve, consisting of straight segments and circular arc segments, or indexed poly curve) within the XY plane of the position coordinate system. The side of the surface which is in the half space is determined by the surface normal and the agreement flag. If the agreement flag is TRUE, then the subset is the one the normal points away from. If the agreement flag is FALSE, then the subset is the one the normal points into.
Figure 8.8.3.27.A illustrates a polygonal bounded half space.
 Black coordinates indicate the object coordinate system (usually provided by IfcLocalPlacement).
 Green coordinates indicate the position coordinate system; the PolygonalBoundary is given within this coordinate system. It is provided by IfcPolygonalBoundedHalfSpace.Position. This coordinate system is relative to the object coordinate system. The extrusion direction of the subtraction body is the positive Z axis.
 Red coordinates indicate the normal of the plane. It is provided by the BaseSurface (IfcSurface.Position). This normal is also relative to the object coordinate system.
The polygonal bounded half space is used to limit the volume of the half space in Boolean difference expressions. Only the part that is defined by a theoretical intersection between the half space solid and an extruded area solid, defined by extruding the polygonal boundary, is used for Boolean expressions.
The PolygonalBoundary defines the 2D polyline which bounds the effectiveness of the half space in Boolean expressions. The BaseSurface is defined by a plane, and the normal of the plane together with the AgreementFlag defines the side of the material of the half space.
Informal Propositions
 The IfcPolyline or the IfcCompositeCurve providing the PolygonalBoundary shall be closed.
 If the PolygonalBoundary is given by an IfcCompositeCurve, it shall only have IfcCompositeCurveSegment's of type IfcPolyline, or IfcTrimmedCurve (having a BasisCurve of type IfcLine, or IfcCircle)
 The BaseSurface defined at supertype IfcHalfSpaceSolid shall be of type IfcPlane
 The normal of the plane, being the BaseSurface, shall not be perpendicular to the zaxis of the position coordinate system
8.8.3.27.2 Entity inheritance

 IfcHalfSpaceSolid
 IfcAnnotationFillArea
 IfcBooleanResult
 IfcBoundingBox
 IfcCartesianPointList
 IfcCartesianTransformationOperator
 IfcCsgPrimitive3D
 IfcCurve
 IfcDirection
 IfcFaceBasedSurfaceModel
 IfcFillAreaStyleHatching
 IfcFillAreaStyleTiles
 IfcGeometricSet
 IfcLightSource
 IfcPlacement
 IfcPlanarExtent
 IfcPoint
 IfcSectionedSpine
 IfcSegment
 IfcShellBasedSurfaceModel
 IfcSolidModel
 IfcSurface
 IfcTessellatedItem
 IfcTextLiteral
 IfcVector
8.8.3.27.3 Attributes
#  Attribute  Type  Description 

IfcRepresentationItem (2)  
LayerAssignment  SET [0:1] OF IfcPresentationLayerAssignment FOR AssignedItems 
Assignment of the representation item to a single or multiple layer(s). The LayerAssignments can override a LayerAssignments of the IfcRepresentation it is used within the list of Items. 

StyledByItem  SET [0:1] OF IfcStyledItem FOR Item 
Reference to the IfcStyledItem that provides presentation information to the representation, e.g. a curve style, including colour and thickness to a geometric curve. 

IfcHalfSpaceSolid (3)  
1  BaseSurface  IfcSurface 
Surface defining side of half space. 
2  AgreementFlag  IfcBoolean 
The agreement flag is TRUE if the normal to the BaseSurface points away from the material of the IfcHalfSpaceSolid. Otherwise it is FALSE. 
*  Dim  IfcDimensionCount 
This attribute is formally derived.
The space dimensionality of this class, it is always 3 
Click to show 5 hidden inherited attributes Click to hide 5 inherited attributes  
IfcPolygonalBoundedHalfSpace (2)  
3  Position  IfcAxis2Placement3D 
Definition of the position coordinate system for the twodimensional boundary. 
4  PolygonalBoundary  IfcBoundedCurve 
Twodimensional bounded curve, defined in the xy plane of the position coordinate system. 
8.8.3.27.4 Formal propositions
Name  Description 

BoundaryDim 
The bounding polyline should have the dimensionality of 2. 


BoundaryType 
Only bounded curves of type IfcCompositeCurve, IfcPolyline, and IfcIndexedPolyCurve are valid boundary curves. 

8.8.3.27.5 Formal representation
ENTITY IfcPolygonalBoundedHalfSpace
SUBTYPE OF (IfcHalfSpaceSolid);
Position : IfcAxis2Placement3D;
PolygonalBoundary : IfcBoundedCurve;
WHERE
BoundaryDim : PolygonalBoundary.Dim = 2;
BoundaryType : SIZEOF(TYPEOF(PolygonalBoundary) * [
'IFC4X3_DEV_040635d1.IFCPOLYLINE',
'IFC4X3_DEV_040635d1.IFCCOMPOSITECURVE',
'IFC4X3_DEV_040635d1.IFCINDEXEDPOLYCURVE'
]) = 1;
END_ENTITY;