The IfcTriangulatedIrregularNetwork is a triangulated face set for representing horizontal surfaces (one unique Z coordinate for all X and Y coordinates within domain) with additional flags for each face indicating breaklines between faces or designation as a hole or void. Triangles shall be defined with vertices in counterclockwise order as viewing from above (following right-hand rule).
For visualization, applications should not display faces where flags are set as negative (either a hole, void, or possible future extension).
The flag Void shall be used to indicate that faces are to be excluded without falling back on any other geometry. Such designation could be used for portions of a site beneath a building or other structure.
The flag Hole shall be used to indicate that faces are to be excluded but may fall back on other geometry. Such designation could be used for portions of a proposed site that are to remain unchanged (conforming to an existing site that may also be defined)
For scenarios where multiple surfaces used as input are to be combined, any triangles marked Void shall be retained as voids, while any triangles marked as Hole shall be overridden if another surface has visible geometry defined within the same horizontal location.
|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.|
> 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.
|1||Coordinates||IfcCartesianPointList3D||An ordered list of Cartesian points used by the coordinate index defined at the subtypes of IfcTessellatedFaceSet.|
|Dim||INVALID||The space dimensionality of this geometric representation item, it is always 3.|
|HasColours||SET [0:1] OF IfcIndexedColourMap FOR MappedTo||Reference to the indexed colour map providing the corresponding colour RGB values to the faces of the subtypes of IfcTessellatedFaceSet.|
|HasTextures||SET [0:?] OF IfcIndexedTextureMap FOR MappedTo||Reference to the indexed texture map providing the corresponding texture coordinates to the vertices bounding the faces of the subtypes of IfcTessellatedFaceSet.|
|2||Normals||OPTIONAL LIST [1:?] OF LIST [3:3] OF IfcParameterValue||An ordered list of three directions for normals. It is a two-dimensional list of directions provided by three parameter |
* The first dimension corresponds to the vertex indices of the Coordindex
* The second dimension has exactly three values,  the x-direction,  the y-direction and  the z-directions
|3||Closed||OPTIONAL IfcBoolean||Indication whether the IfcTriangulatedFaceSet is a closed shell or not. If omited no such information can be provided.|
|4||CoordIndex||LIST [1:?] OF LIST [3:3] OF IfcPositiveInteger||Two-dimensional list for the indexed-based triangles, where |
* The first dimension represents the triangles (from 1 to N)
* The second dimension has exactly three values representing the indices to three vertex points (from 1 to 3).
> NOTE The coordinates of the vertices are provided by the indexed list of _SELF\IfcTessellatedFaceSet.Coordinates.CoordList_.
|5||PnIndex||OPTIONAL LIST [1:?] OF IfcPositiveInteger||The list of integers defining the locations in the IfcCartesianPointList3D to obtain the point coordinates for the indices withint the CoordIndex. If the PnIndex is not provided the indices point directly into the IfcCartesianPointList3D.|
|NumberOfTriangles||INVALID||Derived number of triangles used for this triangulation.|
|6||Flags||LIST [1:?] OF IfcInteger||Indicates attributes of each triangle in a compact form as follows: -2 = invisible void; -1 = invisible hole; 0 = no breaklines; 1 = breakline at edge 1; 2 = breakline at edge 2; 3 = breakline at edges 1 and 2; 4 = breakline at edge 3; 5 = breakline at edges 1 and 3; 6 = breakline at edges 2 and 3; 7 = breakline at edges 1, 2, and 3.|
ENTITY IfcTriangulatedIrregularNetwork SUBTYPE OF (IfcTriangulatedFaceSet); Flags : LIST [1:?] OF IfcInteger; WHERE NotClosed : SELF\IfcTriangulatedFaceSet.Closed = FALSE; END_ENTITY;