Class Ifc4::IfcTextureMap

Nested Relationships

This class is a nested type of Struct Ifc4.

Inheritance Relationships

Base Type

Class Documentation

class Ifc4::IfcTextureMap : public Ifc4::IfcTextureCoordinate

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 face bound of the vertex based geometry item. The corresponding pair of lists is:

the list of Polygon of type IfcCartesianPoint, and 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). The following definitions from ISO/IEC 19775-1 X3D Architecture and base components (X3D Specification) apply:

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 301 illustrates applying a texture map to a vertex based geometry.

Figure 301 — Texture map

HISTORY New entity in IFC2x2.

IFC2x3 CHANGE The attribute Texture is deleted, and the attribute TextureMaps is added.

IFC2x4 CHANGE The attribute TextureMap is replaced by Vertices, and the attribute AppliedTo is added.

Informal propositions:

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

Public Types

typedef IfcTemplatedEntityList<IfcTextureMap> list

Public Functions

IfcTemplatedEntityList<::Ifc4::IfcTextureVertex>::ptr Vertices() const

List of texture coordinate vertices that are applied to the corresponding points of the polyloop defining a face bound.

NOTE The corresponding face bound may be an inner loop.

void setVertices(IfcTemplatedEntityList<::Ifc4::IfcTextureVertex>::ptr v)
::Ifc4::IfcFace *MappedTo() const
void setMappedTo(::Ifc4::IfcFace *v)
const IfcParse::entity &declaration() const
IfcTextureMap(IfcEntityInstanceData *e)
IfcTextureMap(IfcTemplatedEntityList<::Ifc4::IfcSurfaceTexture>::ptr v1_Maps, IfcTemplatedEntityList<::Ifc4::IfcTextureVertex>::ptr v2_Vertices, ::Ifc4::IfcFace *v3_MappedTo)

Public Static Functions

const IfcParse::entity &Class()