Texturmapping | |
Texture Map | |
Image de texture |
Item | SPF | XML | Change | Description | IFC2x3 to IFC4 |
---|---|---|---|---|
IfcTextureMap | MOVED | Schema changed from IFCPRESENTATIONDEFINITIONRESOURCE to IFCPRESENTATIONAPPEARANCERESOURCE. | ||
Maps | X | X | MODIFIED | Name changed from TextureMaps to Maps. Type changed from IfcVertexBasedTextureMap to IfcSurfaceTexture. Aggregation changed from SET to LIST. |
Vertices | ADDED | |||
MappedTo | ADDED |
An IfcTextureMap provides the mapping of the 2-dimensional texture coordinates to the surface onto which it is mapped. It is used for mapping the texture to surfaces of vertex based geometry models, such as
The IfcTextureMap has a list of TextureVertex, that corresponds to the points of the outer face bound of the vertex based geometry item. The corresponding pair of lists is:
Each IfcTextureVertex (given as S, T coordinates of the 2-dimension texture coordinate system) corresponds to the geometric coordinates of the IfcCartesianPoint (given as 3-dimension X, Y, and Z coordinates within the object coordinate system of the geometric item).
NOTE Definition according to ISO/IEC 19775-1:
The TextureCoordinate node is a geometry property node that specifies a set of 2D texture coordinates used by vertex-based geometry nodes to map textures to vertices.
NOTE In contrary to the X3D vertext based geometry, for example IndexedFaceSet and ElevationGrid, the vertext based geometry in IFC may include inner loops. The areas of inner loops have to be cut-out from the texture applied to the outer loop.
Figure 369 illustrates applying a texture map to a vertex based geometry. | |
Figure 369 — Texture map |
HISTORY New entity in IFC2x2.
IFC2x3 CHANGE The attribute Texture is deleted, and the attribute TextureMaps is added.
IFC4 CHANGE The attribute TextureMap is replaced by Vertices, and the attribute AppliedTo is added.
Informal Propositions:
# | Attribute | Type | Cardinality | Description | C |
---|---|---|---|---|---|
2 | Vertices | IfcTextureVertex | L[3:?] | List of texture coordinate vertices that are applied to the corresponding points of the polyloop defining a face bound. | X |
3 | MappedTo | IfcFace | [1:1] |
The face that defines the corresponding list of points along the bounding poly loop of the face outer bound.
NOTE The face may have additional inner loops. The IfcTextureMap and its Vertices only correspond with the coordinates of the IfcPolyloop representing the outer bound. | X |
# | Attribute | Type | Cardinality | Description | C |
---|---|---|---|---|---|
IfcPresentationItem | |||||
IfcTextureCoordinate | |||||
1 | Maps | IfcSurfaceTexture | L[1:?] | Reference to the one (or many in case of multi textures with identity transformation to geometric surfaces) subtype(s) of IfcSurfaceTexture that are mapped to a geometric surface by the texture coordinate transformation. | X |
IfcTextureMap | |||||
2 | Vertices | IfcTextureVertex | L[3:?] | List of texture coordinate vertices that are applied to the corresponding points of the polyloop defining a face bound. | X |
3 | MappedTo | IfcFace | [1:1] |
The face that defines the corresponding list of points along the bounding poly loop of the face outer bound.
NOTE The face may have additional inner loops. The IfcTextureMap and its Vertices only correspond with the coordinates of the IfcPolyloop representing the outer bound. | X |
<xs:element name="IfcTextureMap" type="ifc:IfcTextureMap" substitutionGroup="ifc:IfcTextureCoordinate" nillable="true"/>
<xs:complexType name="IfcTextureMap">
<xs:complexContent>
<xs:extension base="ifc:IfcTextureCoordinate">
<xs:sequence>
<xs:element name="Vertices">
<xs:complexType>
<xs:sequence>
<xs:element ref="ifc:IfcTextureVertex" minOccurs="3" maxOccurs="unbounded"/>
</xs:sequence>
<xs:attribute ref="ifc:itemType" fixed="ifc:IfcTextureVertex"/>
<xs:attribute ref="ifc:cType" fixed="list"/>
<xs:attribute ref="ifc:arraySize" use="optional"/>
</xs:complexType>
</xs:element>
<xs:element name="MappedTo" type="ifc:IfcFace" nillable="true"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
ENTITY IfcTextureMap
SUBTYPE OF (IfcTextureCoordinate);
Vertices : LIST [3:?] OF IfcTextureVertex;
MappedTo : IfcFace;
END_ENTITY;