IFC 4.3.0.1 (IFC4X3) development

# 8.20.3.15 IfcPolyLoop

## 8.20.3.15.1 Semantic definition

The IfcPolyLoop is always closed and the last segment is from the last IfcCartesianPoint in the list of Polygon's to the first IfcCartesianPoint. Therefore the first point shall not be repeated at the end of the list, neither by referencing the same instance, nor by using an additional instance of IfcCartesianPoint having the coordinates as the first point.

Informal Propositions:

1. All the points in the polygon defining the poly loop shall be coplanar.
2. The first and the last Polygon shall be different by value.

## 8.20.3.15.6 Formal representation

ENTITY IfcPolyLoop
SUBTYPE OF (IfcLoop);
Polygon : LIST [3:?] OF UNIQUE IfcCartesianPoint;
WHERE
AllPointsSameDim : SIZEOF(QUERY(Temp <* Polygon | Temp.Dim <> Polygon[1].Dim)) = 0;
END_ENTITY;