Class Ifc2x3::IfcBoxedHalfSpace¶
Defined in File Ifc2x3.h
Nested Relationships¶
This class is a nested type of Struct Ifc2x3.
Inheritance Relationships¶
Base Type¶
public Ifc2x3::IfcHalfSpaceSolid
(Class Ifc2x3::IfcHalfSpaceSolid)
Class Documentation¶

class
Ifc2x3
::
IfcBoxedHalfSpace
: public Ifc2x3::IfcHalfSpaceSolid¶ Definition from ISO/CD 1030342:1992: This entity is a subtype of the half space solid which is trimmed by a surrounding rectangular box. The box has its edges parallel to the coordinate axes of the geometric coordinate system.
NOTE The purpose of the box is to facilitate CSG computations by producing a solid of finite size.
The IfcBoxedHalfSpace is used (as its supertype IfcHalfSpaceSolid) only within Boolean operations. It divides the domain into exactly two subsets, where the domain in question is that of the attribute Enclosure. The purpose of the attribute Enclosure is to provide a search box for the other operand in the Boolean operation. It shall be sufficiently large to fully enclose the resulting solid after the Boolean operation with the half space. It however does not alter the final result. The result of the Boolean operation would be the same, as if executed by the supertype IfcHalfSpaceSolid. See Figure 253 below.
Figure 253 — Boxed half space operands
NOTE Corresponding ISO 1030342 entity: boxed_half_space, please refer to ISO/IS 1030342:1994, p. 185 for the final definition of the formal standard. The IFC class IfcBoundingBox is used for the definition of the enclosure, providing the same definition as box_domain.
HISTORY New entity in IFC Release 1.5.1, improved documentation available in IFC Release 2x.
IFC2x4 CHANGE Usage correct, position coordinate system for Enclosure is the object coordinate system.
The IfcBoundingBox (relating to ISO 1030342:1994 box_domain) that provides the enclosure is given for the convenience of the receiving application to enable the use of size box comparison for efficiency (for example, to check first whether size boxes intersect, if not no calculations has to be done to check whether the solids of the entities intersect).
The Enclosure therefore helps to prevent dealing with infinitesize related issues. The enclosure box is positioned within the object coordinate system, established by the ObjectPlacement of the element represented (for example, by IfcLocalPlacement). Figure 254 shows the Enclosure box being sufficiently large to fully enclose the Boolean result.
Figure 254 — Boxed half space geometry
Public Types

typedef IfcTemplatedEntityList<IfcBoxedHalfSpace>
list
¶
Public Functions

::Ifc2x3::IfcBoundingBox *
Enclosure
() const¶ The box which bounds the resulting solid of the Boolean operation involving the half space solid for computational purposes only.

void
setEnclosure
(::Ifc2x3::IfcBoundingBox *v)¶

IfcBoxedHalfSpace
(IfcEntityInstanceData *e)¶

IfcBoxedHalfSpace
(::Ifc2x3::IfcSurface *v1_BaseSurface, bool v2_AgreementFlag, ::Ifc2x3::IfcBoundingBox *v3_Enclosure)¶

typedef IfcTemplatedEntityList<IfcBoxedHalfSpace>