IfcSurfaceTexture

Definition from IAI: An IfcSurfaceTexture provides a 2-dimensional image-based texture map. It can either be given by referencing an external image file through an URL reference (IfcImageTexture), or by explicitly including an array of pixels (IfcPixelTexture).

The following additional definitions from ISO/IEC FCD 19775:200x, the Extensible 3D (X3D) specification, apply:

- Texture: An image used in a texture map to create visual appearance effects when applied to geometry nodes.
- Texture map: A texture plus the general parameters necessary for mapping the texture to geometry.

Texture maps are defined by 2D images that contain an array of colour values describing the texture. The texture map values are interpreted differently depending on the number of components in the texture map and the specifics of the image format. In general, texture maps may be described using one of the following forms:

1. Intensity textures (one-component)
2. Intensity plus alpha opacity textures (two-component)
3. Full RGB textures (three-component)
4. Full RGB plus alpha opacity textures (four-component)

> NOTE: Most image formats specify an alpha opacity, not transparency (where alpha = 1 - transparency).

> HISTORY: New class in Release IFC 2x Edition 2.

EXPRESS specification:

ENTITY IfcSurfaceTexture
ABSTRACT SUPERTYPE OF | (ONEOF(IfcPixelTexture, IfcImageTexture, IfcBlobTexture));
RepeatS | : | BOOLEAN;
RepeatT | : | BOOLEAN;
TextureType | : | IfcSurfaceTextureEnum;
TextureTransform | : | OPTIONAL IfcCartesianTransformationOperator2D;
END_ENTITY;

Attribute definitions:

RepeatS | : | The RepeatS field specifies how the texture wraps in the S direction. If RepeatS is TRUE (the default), the texture map is repeated outside the [0.0, 1.0] texture coordinate range in the S direction so that it fills the shape. If repeatS is FALSE, the texture coordinates are clamped in the S direction to lie within the [0.0, 1.0] range.
RepeatT | : | The RepeatT field specifies how the texture wraps in the T direction. If RepeatT is TRUE (the default), the texture map is repeated outside the [0.0, 1.0] texture coordinate range in the T direction so that it fills the shape. If repeatT is FALSE, the texture coordinates are clamped in the T direction to lie within the [0.0, 1.0] range.
TextureType | : | Identifies the predefined types of image map from which the type required may be set.
TextureTransform | : | These parameters support changes to the size, orientation, and position of textures on shapes. Note that these operations appear reversed when viewed on the surface of geometry. For example, a scale value of (2 2) will scale the texture coordinates and have the net effect of shrinking the texture size by a factor of 2 (texture coordinates are twice as large and thus cause the texture to repeat). A translation of (0.5 0.0) translates the texture coordinates +.5 units along the S-axis and has the net effect of translating the texture -0.5 along the S-axis on the geometry's surface. A rotation of PI/2 of the texture coordinates results in a -PI/2 rotation of the texture on the geometry.

Inheritance graph

ENTITY IfcSurfaceTexture;
ENTITY IfcSurfaceTexture;
RepeatS | : | BOOLEAN;
RepeatT | : | BOOLEAN;
TextureType | : | IfcSurfaceTextureEnum;
TextureTransform | : | OPTIONAL IfcCartesianTransformationOperator2D;
END_ENTITY;