Polygonal Face Set |
Item | SPF | XML | Change | Description | IFC4 Addendum 2 4.0.2.0 |
---|---|---|---|---|
IfcPolygonalFaceSet | ADDED | IFC4 Addendum 2 4.0.2.0 | ||
IfcPolygonalFaceSet | ADDED |
The IfcPolygonalFaceSet is a tessellated face set with all faces being bound by polygons. The planar faces are constructed by implicit polylines defined by three or more Cartesian points. Each planar face is defined by an instance of IfcIndexedPolygonalFace, or in case of faces with inner loops by IfcIndexedPolygonalFaceWithVoids.
Depending on the value of the attribute Closed the instance of IfcPolygonalFaceSet represents:
The attribute Faces refers to a list of IfcIndexedPolygonalFace's having an one-based CoordIndex that provides three or more indices. If the face has inner loops, the IfcIndexedPolygonalFaceWithVoids has a two-dimensional, one-based list, where:* the first dimension of the two-dimensional list addresses the list of inner loops;
Depending on the provision of PnIndex the indices point either directly into the IfcCartesianPointList3D referenced by Coordinates defined at the supertype IfcTessellatedFaceSet, or they point into the PnIndex where the integer values at that position provides the location of the coordinate values within the IfcCartesianPointList3D. See Figure 333 for the handling of point index.
Figure 333 — Use of PnIndex |
NOTE If the IfcPolygonalFaceSet is closed, the face vertices of the IfcIndexedPolygonalFace's shall connect counterclock-wise when seen from the outside of the closed shell to guarantee that the face normal points away from the material of the shell. Inner loops, provided by the IfcIndexedPolygonalFaceWithVoids, shall connect clock-wise.
Figure 334 shows an IfcFacetedFaceSet represented by |
|
Figure 334 — Polygonal face set geometry |
NOTE The definition of IfcFacetedFaceSet is based on the indexedFaceSet defined in ISO/IEC 19775-1
HISTORY New entity in IFC4 Addendum 2.
Informal Propositions:
# | Attribute | Type | Cardinality | Description | G |
---|---|---|---|---|---|
2 | Closed | IfcBoolean | ? | Indication whether the IfcPolygonalFaceSet is a closed shell or not. If omited no such information can be provided. | X |
3 | Faces | IfcIndexedPolygonalFace | L[1:?] | The list of polygonal faces, with or without inner loops, that bound the faceted face set. | X |
4 | PnIndex | IfcPositiveInteger | ? L[1:?] | The list of integers defining the locations in the IfcCartesianPointList3D to obtain the point coordinates for the indices at the indexed polygonal faces. If the PnIndex is not provided the indices at the indexed polygonal faces point directly into the IfcCartesianPointList3D. | X |
# | Attribute | Type | Cardinality | Description | G |
---|---|---|---|---|---|
IfcRepresentationItem | |||||
LayerAssignment | IfcPresentationLayerAssignment @AssignedItems | S[0:1] | 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. | X | |
StyledByItem | IfcStyledItem @Item | S[0:1] | 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. | X | |
IfcGeometricRepresentationItem | |||||
IfcTessellatedItem | |||||
IfcTessellatedFaceSet | |||||
1 | Coordinates | IfcCartesianPointList3D | An ordered list of Cartesian points used by the coordinate index defined at the subtypes of IfcTessellatedFaceSet. | X | |
HasColours | IfcIndexedColourMap @MappedTo | S[0:1] | Reference to the indexed colour map providing the corresponding colour RGB values to the faces of the subtypes of IfcTessellatedFaceSet. | X | |
HasTextures | IfcIndexedTextureMap @MappedTo | S[0:?] | Reference to the indexed texture map providing the corresponding texture coordinates to the vertices bounding the faces of the subtypes of IfcTessellatedFaceSet. | X | |
Dim :=3 | IfcDimensionCount | The space dimensionality of this geometric representation item, it is always 3. | X | ||
IfcPolygonalFaceSet | |||||
2 | Closed | IfcBoolean | ? | Indication whether the IfcPolygonalFaceSet is a closed shell or not. If omited no such information can be provided. | X |
3 | Faces | IfcIndexedPolygonalFace | L[1:?] | The list of polygonal faces, with or without inner loops, that bound the faceted face set. | X |
4 | PnIndex | IfcPositiveInteger | ? L[1:?] | The list of integers defining the locations in the IfcCartesianPointList3D to obtain the point coordinates for the indices at the indexed polygonal faces. If the PnIndex is not provided the indices at the indexed polygonal faces point directly into the IfcCartesianPointList3D. | X |
<xs:element name="IfcPolygonalFaceSet" type="ifc:IfcPolygonalFaceSet" substitutionGroup="ifc:IfcTessellatedFaceSet" nillable="true"/>
<xs:complexType name="IfcPolygonalFaceSet">
<xs:complexContent>
<xs:extension base="ifc:IfcTessellatedFaceSet">
<xs:sequence>
<xs:element name="Faces">
<xs:complexType>
<xs:sequence>
<xs:element ref="ifc:IfcIndexedPolygonalFace" maxOccurs="unbounded"/>
</xs:sequence>
<xs:attribute ref="ifc:itemType" fixed="ifc:IfcIndexedPolygonalFace"/>
<xs:attribute ref="ifc:cType" fixed="list"/>
<xs:attribute ref="ifc:arraySize" use="optional"/>
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:attribute name="Closed" type="ifc:IfcBoolean" use="optional"/>
<xs:attribute name="PnIndex" use="optional">
<xs:simpleType>
<xs:restriction>
<xs:simpleType>
<xs:list itemType="ifc:IfcPositiveInteger"/>
</xs:simpleType>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:extension>
</xs:complexContent>
</xs:complexType>
ENTITY IfcPolygonalFaceSet
SUBTYPE OF (IfcTessellatedFaceSet);
Closed : OPTIONAL IfcBoolean;
Faces : LIST [1:?] OF IfcIndexedPolygonalFace;
PnIndex : OPTIONAL LIST [1:?] OF IfcPositiveInteger;
END_ENTITY;
References: IfcIndexedPolygonalFace