IFC 4.3.2.20240904 (IFC4X3_ADD2) under development

8.20.3.6 IfcEdgeLoop

AbV ⓘ

8.20.3.6.1 Semantic definition

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.

8.20.3.6.2 Entity inheritance

8.20.3.6.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.

Click to show 2 hidden inherited attributes Click to hide 2 inherited attributes
IfcEdgeLoop (2)
1 EdgeList LIST [1:?] OF IfcOrientedEdge

A list of oriented edge entities which are concatenated together to form this path.

* Ne IfcInteger

This attribute is formally derived.

SIZEOF(EdgeList)

The number of elements in the edge list.

Table 8.20.3.6.C

8.20.3.6.4 Formal propositions

Name Description
IsClosed

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.

(EdgeList[1].EdgeStart) :=: (EdgeList[Ne].EdgeEnd)
IsContinuous

The end vertex of each edge shall be the same as the start vertex of its successor.

IfcLoopHeadToTail(SELF)
Table 8.20.3.6.D

8.20.3.6.5 Examples

8.20.3.6.6 Formal representation

ENTITY IfcEdgeLoop
 SUBTYPE OF (IfcLoop);
	EdgeList : LIST [1:?] OF IfcOrientedEdge;
 DERIVE
	 Ne : IfcInteger := SIZEOF(EdgeList);
 WHERE
	IsClosed : (EdgeList[1].EdgeStart) :=: (EdgeList[Ne].EdgeEnd);
	IsContinuous : IfcLoopHeadToTail(SELF);
END_ENTITY;

8.20.3.6.7 References

Edit on Github


Is this page difficult to understand? Let us know!

8.20.3.6.8 Changelog

8.20.3.6.8.1 IFC4

  • where rule, IsClosed
  • where rule, IsContinuous
  • where rule, WR1
  • where rule, WR2