IFC 4.3.x development

8.12.3.41 IfcTextureMap

Change log

IFC4

additions attributes MappedTo
deletions where_rules WR11
modificationsattributes TextureMaps definitionChanged from set[1:?] of IfcVertexBasedTextureMap to list[3:?] of IfcTextureVertex
modificationsattributes TextureMaps name Changed from TextureMaps to Vertices

8.12.3.41.1 Semantic definitions at the entity

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:

  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.

IfcTextureMap_fig-1.png 35,6 KB Figure 1 illustrates applying a texture map to a vertex based geometry.

Figure 1 — 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.

8.12.3.41.1 Attributes

#Attribute Type Description
IfcPresentationItem
IfcTextureCoordinate
1Maps LIST [1:?] OF IfcSurfaceTextureReference 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.
IfcTextureMap
2Vertices LIST [3:?] OF IfcTextureVertex List of texture coordinate vertices that are applied to the corresponding points of the polyloop defining a face bound.
3MappedTo 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.

8.12.3.41.2 Entity inheritance

dot_inheritance IfcTextureMap IfcTextureMap IfcTextureCoordinate IfcTextureCoordinate IfcTextureMap->IfcTextureCoordinate IfcIndexedTextureMap IfcIndexedTextureMap IfcIndexedTextureMap->IfcTextureCoordinate IfcPresentationItem IfcPresentationItem IfcTextureCoordinate->IfcPresentationItem IfcTextureCoordinateGenerator IfcTextureCoordinateGenerator IfcTextureCoordinateGenerator->IfcTextureCoordinate IfcPresentationItem_children 16 more... IfcPresentationItem_children->IfcPresentationItem

8.12.3.41.3 Formal representations

ENTITY IfcTextureMap
 SUBTYPE OF (IfcTextureCoordinate);
	Vertices : LIST [3:?] OF IfcTextureVertex;
	MappedTo : IfcFace;
END_ENTITY;