﻿ IfcHalfSpaceSolid

#### IfcHalfSpaceSolid

Natural language names
 Halbraum Festkörper Half Space Solid
Change log
ItemSPFXMLChangeDescription
IfcHalfSpaceSolid
AgreementFlagMODIFIEDType changed from BOOLEAN to IfcBoolean.
##### Semantic definitions at the entity
Entity definition

A half space solid divides the domain into two by a base surface. Normally, the base surface is a plane and devides the infinitive space into two and indicates the side of the half-space by agreeing or disagreeing to the normal of the plane.

Figure 336 illustrates the definition of the IfcHalfSpaceSolid within a given coordinate system. The base surface is given by an unbounded plane, the red boundary is shown for visualization purposes only.

 Figure 336 — Half space solid geometry
NOTE  Definition according to ISO/CD 10303-42:1992
A half space solid is defined by the half space which is the regular subset of the domain which lies on one side of an unbounded surface. 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.

For a valid half space solid the surface shall divide the domain into exactly two subsets. Also, within the domain the surface shall be manifold and all surface normals shall point into the same subset.

NOTE  A half space is not a subtype of solid model, half space solids are only useful as operands in Boolean expressions.
NOTE  Entity adapted from half_space_solid defined in ISO 10303-42.
HISTORY  New entity in IFC1.5

Informal Propositions:

1. The base surface shall divide the domain into exactly two subsets. If the half space solid is of subtype boxed half space (IfcBoxedHalfSpace), the domain in question is that of the attribute enclosure. In all other cases the domain is all of space and the base surface shall be unbounded.
2. The base surface shall be an unbounded surface (subtype of IfcElementarySurface).
Attribute definitions
#AttributeTypeCardinalityDescription G
1BaseSurfaceIfcSurface Surface defining side of half space.X
2AgreementFlagIfcBoolean The agreement flag is TRUE if the normal to the BaseSurface points away from the material of the IfcHalfSpaceSolid. Otherwise it is FALSE.X
Dim
:=3
IfcDimensionCountThe space dimensionality of this class, it is always 3 X
##### Inherited definitions from supertypes
Entity inheritance
Attribute inheritance
#AttributeTypeCardinalityDescriptionG
IfcRepresentationItem
LayerAssignmentIfcPresentationLayerAssignment
@AssignedItems
S[0:1]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.
IFC2x3 CHANGE  The inverse attribute LayerAssignments has been added.
IFC4 CHANGE  The inverse attribute LayerAssignment has been restricted to max 1. Upward compatibility for file based exchange is guaranteed.
X
StyledByItemIfcStyledItem
@Item
S[0:1]Reference to the IfcStyledItem that provides presentation information to the representation, e.g. a curve style, including colour and thickness to a geometric curve.
IFC2x3 CHANGE  The inverse attribute StyledByItem has been added.
X
IfcGeometricRepresentationItem
IfcHalfSpaceSolid
1BaseSurfaceIfcSurface Surface defining side of half space.X
2AgreementFlagIfcBoolean The agreement flag is TRUE if the normal to the BaseSurface points away from the material of the IfcHalfSpaceSolid. Otherwise it is FALSE.X
Dim
:=3
IfcDimensionCountThe space dimensionality of this class, it is always 3 X
##### Formal representations
XML Specification
``` <xs:element name="IfcHalfSpaceSolid" type="ifc:IfcHalfSpaceSolid" substitutionGroup="ifc:IfcGeometricRepresentationItem" nillable="true"/>  <xs:complexType name="IfcHalfSpaceSolid">   <xs:complexContent>    <xs:extension base="ifc:IfcGeometricRepresentationItem">     <xs:sequence>      <xs:element name="BaseSurface" type="ifc:IfcSurface" nillable="true"/>     </xs:sequence>     <xs:attribute name="AgreementFlag" type="ifc:IfcBoolean" use="optional"/>    </xs:extension>   </xs:complexContent>  </xs:complexType> ```
EXPRESS Specification
``` ENTITY IfcHalfSpaceSolid  SUPERTYPE OF(ONEOF(IfcBoxedHalfSpace, IfcPolygonalBoundedHalfSpace))  SUBTYPE OF (IfcGeometricRepresentationItem);   BaseSurface : IfcSurface;   AgreementFlag : IfcBoolean;  DERIVE   Dim : IfcDimensionCount := 3; END_ENTITY;  EXPRESS-G diagram ```

References: IfcBooleanOperand