IfcTextureMap

Definition from IAI: 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 vertex based geometry models, such as

- IfcFacetedBrep
- IfcFacetedBrepWithVoids
- IfcFaceBasedSurfaceModel
- IfcShellBasedSurfaceModel

The IfcTextureMap provides a set of TextureMaps, each IfcVertexBasedTextureMap holds a corresponding pair of lists:

1. a list of TexturePoints, currently of type IfcCartesianPoint, and
2. a list of TexturesVertices of type IfcTextureVertex.

Each IfcTextureVertex (given as S, T coordinates of 2 dimension) corresponds to the geometric coordinates of the IfcCartesianPoint (given as X, Y, and Z coordinates of 3 dimensions).

> HISTORY New class in IFC Release 2x Edition 2.
> IFC2x Edition 3 CHANGE The IfcTextureMap has changed by deleting the attribute Texture. The attribute TextureMaps has been added.

Informal propositions:

1. All TexturePoints in the list TextureMaps of IfcVertexBasedTextureMap shall be used by the vertex based geometry, to which this texture map is assigned to by using the IfcAnnotationSurface.Item attribute.

EXPRESS specification:

ENTITY IfcTextureMap
SUBTYPE OF ( | IfcTextureCoordinate);
TextureMaps | : | SET [1:?] OF IfcVertexBasedTextureMap;
WHERE
WR11 | : | SIZEOF([ 'IFCGEOMETRICMODELRESOURCE.IFCSHELLBASEDSURFACEMODEL', 'IFCGEOMETRICMODELRESOURCE.IFCFACEBASEDSURFACEMODEL', 'IFCGEOMETRICMODELRESOURCE.IFCFACETEDBREP', 'IFCGEOMETRICMODELRESOURCE.IFCFACETEDBREPWITHVOIDS'] * TYPEOF(SELF\IfcTextureCoordinate.AnnotatedSurface[1].Item) ) >= 1;
END_ENTITY;

Attribute definitions:

TextureMaps | : | Reference to a list of texture vertex assignment to coordinates within a vertex based geometry.

Formal Propositions:

WR11 | : | The texture map shall only be defined for an IfcAnnotatedSurface, referening a vertex based surface or solid model.

Inheritance graph

ENTITY IfcTextureMap;
ENTITY IfcTextureCoordinate;
INVERSE
AnnotatedSurface | : | SET [1:1] OF IfcAnnotationSurface FOR TextureCoordinates;
ENTITY IfcTextureMap;
TextureMaps | : | SET [1:?] OF IfcVertexBasedTextureMap;
END_ENTITY;