Class Ifc4x3_rc1::IfcImageTexture

Nested Relationships

This class is a nested type of Struct Ifc4x3_rc1.

Inheritance Relationships

Base Type

Class Documentation

class Ifc4x3_rc1::IfcImageTexture : public Ifc4x3_rc1::IfcSurfaceTexture

An IfcImageTexture provides a 2-dimensional texture that can be applied to a surface of an geometric item and that provides lighting parameters of a surface onto which it is mapped. The texture is provided as an image file at an external location for which an URL is provided.

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

The ImageTexture node defines a texture map by specifying an image file and general parameters for mapping to geometry. The texture is read from the URL specified by the url field. When the url field contains no [resolvable] values, texturing is disabled. Browsers shall support the JPEG and PNG (see ISO/IEC 15948) image file formats. Texture nodes that require support for the PNG image format shall interpret the PNG pixel formats in the following way:

Greyscale pixels without alpha or simple transparency are treated as intensity textures. >Greyscale pixels with alpha or simple transparency are treated as intensity plus alpha textures. RGB pixels without alpha channel or simple transparency are treated as full RGB textures. RGB pixels with alpha channel or simple transparency are treated as full RGB plus alpha textures.

If the image specifies colours as indexed-colour (that is, palettes or colourmaps), the following semantics should be used (note that greyscale refers to a palette entry with equal red, green, and blue values):

If all the colours in the palette are greyscale and there is no transparency chunk, it is treated as an intensity texture. If all the colours in the palette are greyscale and there is a transparency chunk, it is treated as an intensity plus opacity texture. >If any colour in the palette is not grey and there is no transparency chunk, it is treated as a full RGB texture. If any colour in the palette is not grey and there is a transparency chunk, it is treated as a full RGB plus alpha texture.

Texture nodes that require support for JPEG files shall interpret JPEG files as follows:

Greyscale files (number of components equals 1) are treated as intensity textures. YCbCr files are treated as full RGB textures. No other JPEG file types are required. It is recommended that other JPEG files are treated as a full RGB textures.

Texture nodes that recommend support for GIF files shall follow the applicable semantics described above for the PNG format.

The Uniform Resource Locator (URL) is a form of an URI and specified in RFC1738 by IETF. It supports resources located on a particular server being accessed by a particular protocol (usually http), and resources located at a local machine.

NOTE Exchange files following the ifcZIP convention may include a sub directory structure for image resources to be stored together with the product data set.

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 Release IFC2x2.

Public Types

typedef IfcTemplatedEntityList<IfcImageTexture> list

Public Functions

std::string URLReference() const

Location, provided as an URI, at which the image texture is electronically published.

void setURLReference(std::string v)
const IfcParse::entity &declaration() const
IfcImageTexture(IfcEntityInstanceData *e)
IfcImageTexture(bool v1_RepeatS, bool v2_RepeatT, boost::optional<std::string> v3_Mode, ::Ifc4x3_rc1::IfcCartesianTransformationOperator2D *v4_TextureTransform, boost::optional<std::vector<std::string>> v5_Parameter, std::string v6_URLReference)

Public Static Functions

const IfcParse::entity &Class()