IfcEdgeLoop

Definition from ISO/CD 10303-42:1992: An edge_loop is a loop with nonzero extent. It is a path in which the start and end vertices are the same. Its domain, if present, is a closed curve. An edge_loop may overlap itself.

Informal propositions:

1. The genus of the IfcEdgeLoop shall be 1 or greater.
2. The Euler formula shall be satisfied:
   (number of vertices) + genus - (number of edges) = 1;
3. No edge may be referenced more than once by the same IfcEdgeLoop with the same sense. For this purpose, an edge which is not an oriented edge is considered to be referenced with the sense TRUE.

> NOTE: Corresponding STEP entity: edge_loop. Please refer to ISO/IS 10303-42:1994, p. 122 for the final definition of the formal standard.

> HISTORY: New Entity in Release IFC 2x Edition 2.

EXPRESS specification:

ENTITY IfcEdgeLoop
SUBTYPE OF ( | IfcLoop);
EdgeList | : | LIST [1:?] OF IfcOrientedEdge;
DERIVE
Ne | : | INTEGER := SIZEOF(EdgeList);
WHERE
WR1 | : | (EdgeList[1].EdgeStart) :=: (EdgeList[Ne].EdgeEnd);
WR2 | : | IfcLoopHeadToTail(SELF);
END_ENTITY;

Attribute definitions:

EdgeList | : | A list of oriented edge entities which are concatenated together to form this path.
Ne | : | The number of elements in the edge list.

Formal Propositions:

WR1 | : | The start vertex of the first edge shall be the same as the end vertex of the last edge. This ensures that the path is closed to form a loop.
WR2 | : | The end vertex of each edge shall be the same as the start vertex of its successor.

Inheritance graph

ENTITY IfcEdgeLoop;
ENTITY IfcRepresentationItem;
INVERSE
LayerAssignments | : | SET OF IfcPresentationLayerAssignment FOR AssignedItems;
StyledByItem | : | SET [0:1] OF IfcStyledItem FOR Item;
ENTITY IfcTopologicalRepresentationItem;
ENTITY IfcLoop;
ENTITY IfcEdgeLoop;
EdgeList | : | LIST [1:?] OF IfcOrientedEdge;
DERIVE
Ne | : | INTEGER := SIZEOF(EdgeList);
END_ENTITY;