IFC 4.3.x development

8.20.3.6 IfcEdgeLoop

Change log

IFC4

additionswhere_rulesIsClosed
additionswhere_rulesIsContinuous
deletionswhere_rulesWR1
deletionswhere_rulesWR2

8.20.3.6.1 Semantic definitions at the entity

NOTE  Definition according to 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.

NOTE  Entity adapted from edge_loop defined in ISO 10303-42.

HISTORY  New entity in IFC2x2.

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.1 Attributes

# Attribute Type Description
IfcRepresentationItem
LayerAssignmentSET [0:1] OF IfcPresentationLayerAssignment FOR AssignedItemsAssignment 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.
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.



> IFC2x3 CHANGE  The inverse attribute StyledByItem has been added.
IfcTopologicalRepresentationItem
IfcLoop
IfcEdgeLoop
1 EdgeList LIST [1:?] OF IfcOrientedEdge A list of oriented edge entities which are concatenated together to form this path.
Ne INVALID The number of elements in the edge list.

8.20.3.6.2 Entity inheritance

dot_inheritance IfcEdgeLoop IfcEdgeLoop IfcLoop IfcLoop IfcEdgeLoop->IfcLoop IfcPolyLoop IfcPolyLoop IfcPolyLoop->IfcLoop IfcTopologicalRepresentationItem IfcTopologicalRepresentationItem IfcLoop->IfcTopologicalRepresentationItem IfcVertexLoop IfcVertexLoop IfcVertexLoop->IfcLoop IfcTopologicalRepresentationItem_children 6 more... IfcTopologicalRepresentationItem_children->IfcTopologicalRepresentationItem IfcRepresentationItem IfcRepresentationItem IfcTopologicalRepresentationItem->IfcRepresentationItem IfcRepresentationItem_children 3 more... IfcRepresentationItem_children->IfcRepresentationItem

8.20.3.6.3 Formal representations

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;