IfcSurfaceTexture

Natural language names
Oberflächentextur
Surface Texture
Texture de surface
Semantic definitions at the entity
Entity definition

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), including the image file as a blob (long binary) into the data set (IfcBlobTexture), or by explicitly including an array of pixels (IfcPixelTexture).

The following definitions from ISO/IEC 19775-1 X3D Architecture and base components (X3D Specification) apply:

Texture are defined by 2D images that contain an array of colour values describing the texture. The texture values are interpreted differently depending on the number of components in the texture and the specifics of the image format. In general, texture 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  Image formats specify an alpha opacity, not transparency (where alpha = 1 - transparency).

Figure 548 illustrates the texture coordinate system.

"texture coordinates"

Figure 548 — Surface texture coordinates

The following definitions from ISO/IEC 19775-1 X3D Architecture and base components (X3D Specification) on texture coordinates apply:

If multiple surface textures are included in the IfcSurfaceStyleWithTextures applying them to a geometric item, a mode and optional parameters can be included that blending operations.

The RepeatS and RepeatT Boolean flags control whether the texture map is repeated outside the [0.0, 1.0] texture coordinate range, when applied to a geometric surface, or clamped to lie within the [0.0, 1.0] range. The TextureTransform applies a 2D non-uniform transformation to the texture before it is applied to a geometric surface.

The following definitions from ISO/IEC 19775-1 X3D Architecture and base components (X3D Specification) apply:

> NOTE  The definitions of texturing within this standard have been developed in dependence on the texture component of X3D. See ISO/IEC 19775-1.2:2008 X3D Architecture and base components Edition 2, Part 1, 18 Texturing component for the definitions in the international standard.

HISTORY  New entity in IFC2x2.

IFC4 CHANGE  Attribute TextureType replaces by Mode, attributes Parameter and MapsTo aded, new inverse attribute UsedInStyle.

Attribute definitions
#AttributeTypeCardinalityDescription G
1RepeatSIfcBoolean 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. X
2RepeatTIfcBoolean 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. X
3ModeIfcIdentifier? The Mode attribute is provided to control the appearance of a multi textures. The mode then controls the type of blending operation. The mode includes a MODULATE for a lit appearance, a REPLACE for a unlit appearance, and variations of the two.
NOTE  The applicable values for the Mode attribute are determined by view definitions or implementer agreements. It is recommended to use the modes described in ISO/IES 19775-1.2:2008 X3D Architecture and base components Edition 2, Part 1. See 18.4.3 MultiTexture for recommended values.
IFC4 CHANGE  New attribute replacing previous TextureType.
X
4TextureTransformIfcCartesianTransformationOperator2D? The TextureTransform defines a 2D transformation that is applied to the texture coordinates. It affects the way texture coordinates are applied to the surfaces of geometric representation itesm. The 2D transformation supports changes to the size, orientation, and position of textures on shapes. Mirroring is not allowed to be used in the IfcCartesianTransformationOperator X
5ParameterIfcIdentifier? L[1:?] The Parameter attribute is provided to control the appearance of a multi textures. The applicable parameters depend on the value of the Mode attribute.
NOTE  The applicable values for the list of Parameter attributes are determined by view definitions or implementer agreements. It is recommended to use the source and the function fields described in ISO/IES 19775-1.2:2008 X3D Architecture and base components Edition 2, Part 1. See 18.4.3 MultiTexture for recommended values.
By convention, Parameter[1] shall then hold the source value, Parameter[2] the function value, Parameter[3] the base RGB color for select operations, and Parameter[4] the alpha value for select operations.
IFC4 CHANGE  New attribute added at the end of the attribute list.
X
IsMappedByIfcTextureCoordinate
@Maps
S[0:?]Texture coordinates, either provided by a corresponding list of texture vertices to vertex-based geometric items or by a texture coordinate generator, that applies the surface texture to the surfaces of the geometric items.
IFC4 CHANGE  New attribute added at the end of the attribute list.
X
UsedInStylesIfcSurfaceStyleWithTextures
@Textures
S[0:?]X
Inherited definitions from supertypes
Entity inheritance IfcBlobTexture IfcImageTexture IfcPixelTexture IfcPresentationItem
Attribute inheritance
#AttributeTypeCardinalityDescriptionG
IfcPresentationItem
IfcSurfaceTexture
1RepeatSIfcBoolean 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. X
2RepeatTIfcBoolean 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. X
3ModeIfcIdentifier? The Mode attribute is provided to control the appearance of a multi textures. The mode then controls the type of blending operation. The mode includes a MODULATE for a lit appearance, a REPLACE for a unlit appearance, and variations of the two.
NOTE  The applicable values for the Mode attribute are determined by view definitions or implementer agreements. It is recommended to use the modes described in ISO/IES 19775-1.2:2008 X3D Architecture and base components Edition 2, Part 1. See 18.4.3 MultiTexture for recommended values.
IFC4 CHANGE  New attribute replacing previous TextureType.
X
4TextureTransformIfcCartesianTransformationOperator2D? The TextureTransform defines a 2D transformation that is applied to the texture coordinates. It affects the way texture coordinates are applied to the surfaces of geometric representation itesm. The 2D transformation supports changes to the size, orientation, and position of textures on shapes. Mirroring is not allowed to be used in the IfcCartesianTransformationOperator X
5ParameterIfcIdentifier? L[1:?] The Parameter attribute is provided to control the appearance of a multi textures. The applicable parameters depend on the value of the Mode attribute.
NOTE  The applicable values for the list of Parameter attributes are determined by view definitions or implementer agreements. It is recommended to use the source and the function fields described in ISO/IES 19775-1.2:2008 X3D Architecture and base components Edition 2, Part 1. See 18.4.3 MultiTexture for recommended values.
By convention, Parameter[1] shall then hold the source value, Parameter[2] the function value, Parameter[3] the base RGB color for select operations, and Parameter[4] the alpha value for select operations.
IFC4 CHANGE  New attribute added at the end of the attribute list.
X
IsMappedByIfcTextureCoordinate
@Maps
S[0:?]Texture coordinates, either provided by a corresponding list of texture vertices to vertex-based geometric items or by a texture coordinate generator, that applies the surface texture to the surfaces of the geometric items.
IFC4 CHANGE  New attribute added at the end of the attribute list.
X
UsedInStylesIfcSurfaceStyleWithTextures
@Textures
S[0:?]X
Formal representations
XML Specification
 <xs:element name="IfcSurfaceTexture" type="ifc:IfcSurfaceTexture" abstract="true" substitutionGroup="ifc:IfcPresentationItem" nillable="true"/>
 <xs:complexType name="IfcSurfaceTexture" abstract="true">
  <xs:complexContent>
   <xs:extension base="ifc:IfcPresentationItem">
    <xs:sequence>
     <xs:element name="TextureTransform" type="ifc:IfcCartesianTransformationOperator2D" nillable="true" minOccurs="0"/>
    </xs:sequence>
    <xs:attribute name="RepeatS" type="ifc:IfcBoolean" use="optional"/>
    <xs:attribute name="RepeatT" type="ifc:IfcBoolean" use="optional"/>
    <xs:attribute name="Mode" type="ifc:IfcIdentifier" use="optional"/>
    <xs:attribute name="Parameter" use="optional">
     <xs:simpleType>
      <xs:restriction>
       <xs:simpleType>
        <xs:list itemType="ifc:IfcIdentifier"/>
       </xs:simpleType>
      </xs:restriction>
     </xs:simpleType>
    </xs:attribute>
   </xs:extension>
  </xs:complexContent>
 </xs:complexType>
EXPRESS Specification
ENTITY IfcSurfaceTexture
 ABSTRACT SUPERTYPE OF(ONEOF(IfcBlobTexture, IfcImageTexture, IfcPixelTexture))
 SUBTYPE OF (IfcPresentationItem);
  RepeatS : IfcBoolean;
  RepeatT : IfcBoolean;
  Mode : OPTIONAL IfcIdentifier;
  TextureTransform : OPTIONAL IfcCartesianTransformationOperator2D;
  Parameter : OPTIONAL LIST [1:?] OF IfcIdentifier;
 INVERSE
  IsMappedBy : SET [0:?] OF IfcTextureCoordinate FOR Maps;
  UsedInStyles : SET [0:?] OF IfcSurfaceStyleWithTextures FOR Textures;
END_ENTITY;

Link to EXPRESS-G diagram EXPRESS-G diagram

References  References: IfcSurfaceStyleWithTextures IfcTextureCoordinate

Link to this page  Link to this page