IfcTextureMap

BACnet MVD

#### IfcTextureMap

Natural language names

| Texturmapping
| Texture Map
| Image de texture

Change log

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 |

##### Semantic definitions at the entity

Entity definition

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

- IfcFacetedBrep
- IfcFacetedBrepWithVoids
- IfcFaceBasedSurfaceModel
- IfcShellBasedSurfaceModel

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:

1. the list of Polygon of the IfcFaceOuterBound of type IfcCartesianPoint, and
2. the list of Vertices of type IfcTextureVertex.

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 345 illustrates applying a texture map to a vertex based geometry.
Figure 345 — 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:

1. The IfcFace referenced in AppliedTo shall be used by the vertex based geometry, to which this texture map is assigned to by through the IfcStyledItem.

Attribute definitions

# | Attribute | Type | Cardinality | Description | B
--- | --- | --- | --- | --- | ---
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

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

##### Inherited definitions from supertypes

Entity inheritance
Attribute inheritance

# | Attribute | Type | Cardinality | Description | B
--- | --- | --- | --- | --- | ---
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 | 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

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

##### Formal representations

XML Specification
`<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>
`
EXPRESS Specification
`ENTITY IfcTextureMap
SUBTYPE OF (IfcTextureCoordinate);
Vertices : LIST [3:?] OF IfcTextureVertex;
MappedTo : IfcFace;
END_ENTITY;

EXPRESS-G diagram

`

References: IfcFace

Link to this page