IfcPixelTexture

Natural language names
Textur - als Liste der Pixel gegeben
Pixel Texture
Change log
ItemSPFXMLChangeDescription
IFC2x3 to IFC4 4.0.0.0
    IfcPixelTexture
      ModeXXMODIFIEDName changed from TextureType to Mode.
Type changed from IfcSurfaceTextureEnum to IfcIdentifier.
Instantiation changed to OPTIONAL.
      ParameterXXMODIFIEDName changed from Width to Parameter.
Type changed from IfcInteger to IfcIdentifier.
Instantiation changed to OPTIONAL.
Aggregation changed from NONE to LIST.
      WidthXMODIFIEDName changed from Height to Width.
      HeightXMODIFIEDName changed from ColourComponents to Height.
      ColourComponentsXXMODIFIEDName changed from Pixel to ColourComponents.
Type changed from BINARY (32) to IfcInteger.
Aggregation changed from LIST to NONE.
      PixelADDED
IFC4 Addendum 1 4.0.1.0
    IfcPixelTexture
      RepeatSMODIFIEDType changed from BOOLEAN to IfcBoolean.
      RepeatTMODIFIEDType changed from BOOLEAN to IfcBoolean.
      PixelMODIFIEDType changed from BINARY (32) to IfcBinary.
IFC2x3 to IFC4 4.0.0.0
    IfcPixelTexture
      ModeXXMODIFIEDName changed from TextureType to Mode.
Type changed from IfcSurfaceTextureEnum to IfcIdentifier.
Instantiation changed to OPTIONAL.
      ParameterXXMODIFIEDName changed from Width to Parameter.
Type changed from IfcInteger to IfcIdentifier.
Instantiation changed to OPTIONAL.
Aggregation changed from NONE to LIST.
      WidthXMODIFIEDName changed from Height to Width.
      HeightXMODIFIEDName changed from ColourComponents to Height.
      ColourComponentsXXMODIFIEDName changed from Pixel to ColourComponents.
Type changed from BINARY (32) to IfcInteger.
Aggregation changed from LIST to NONE.
      PixelADDED
IFC4 Addendum 1 4.0.1.0
    IfcPixelTexture
      RepeatSMODIFIEDType changed from BOOLEAN to IfcBoolean.
      RepeatTMODIFIEDType changed from BOOLEAN to IfcBoolean.
      PixelMODIFIEDType changed from BINARY (32) to IfcBinary.
Semantic definitions at the entity
Entity definition

An IfcPixelTexture provides a 2D image-based texture map as an explicit array of pixel values (list of Pixel binary attributes). In contrary to the IfcImageTexture the IfcPixelTexture holds a 2 dimensional list of pixel color (and opacity) directly, instead of referencing to an URL.

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

HISTORY  New entity in IFC2x2.

Attribute definitions
#AttributeTypeCardinalityDescription G
6WidthIfcInteger The number of pixels in width (S) direction. X
7HeightIfcInteger The number of pixels in height (T) direction. X
8ColourComponentsIfcInteger Indication whether the pixel values contain a 1, 2, 3, or 4 colour component. X
9PixelIfcBinaryL[1:?] Flat list of hexadecimal values, each describing one pixel by 1, 2, 3, or 4 components.
IFC2x3 CHANGE  The data type has been changed from STRING to BINARY.
X
Formal Propositions
RuleDescription
MinPixelInSThe minimum number of pixel in width (S coordinate) direction shall be 1.
MinPixelInTThe minimum number of pixel in height (T coordinate) direction shall be 1.
NumberOfColoursThe number of color components shall be either 1, 2, 3, or 4.
SizeOfPixelListThe list of pixel shall have exactly width*height members.
PixelAsByteAndSameLengthThe binary value provided for each Pixel shall be a multiple of 8 bits. And all pixel shall have the same binary length.
Inherited definitions from supertypes
Entity inheritance IfcSurfaceTexture 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
IfcPixelTexture
6WidthIfcInteger The number of pixels in width (S) direction. X
7HeightIfcInteger The number of pixels in height (T) direction. X
8ColourComponentsIfcInteger Indication whether the pixel values contain a 1, 2, 3, or 4 colour component. X
9PixelIfcBinaryL[1:?] Flat list of hexadecimal values, each describing one pixel by 1, 2, 3, or 4 components.
IFC2x3 CHANGE  The data type has been changed from STRING to BINARY.
X
Formal representations
XML Specification
 <xs:element name="IfcPixelTexture" type="ifc:IfcPixelTexture" substitutionGroup="ifc:IfcSurfaceTexture" nillable="true"/>
 <xs:complexType name="IfcPixelTexture">
  <xs:complexContent>
   <xs:extension base="ifc:IfcSurfaceTexture">
    <xs:attribute name="Width" type="ifc:IfcInteger" use="optional"/>
    <xs:attribute name="Height" type="ifc:IfcInteger" use="optional"/>
    <xs:attribute name="ColourComponents" type="ifc:IfcInteger" use="optional"/>
    <xs:attribute name="Pixel" use="optional">
     <xs:simpleType>
      <xs:restriction>
       <xs:simpleType>
        <xs:list itemType="xs:hexBinary"/>
       </xs:simpleType>
      </xs:restriction>
     </xs:simpleType>
    </xs:attribute>
   </xs:extension>
  </xs:complexContent>
 </xs:complexType>
EXPRESS Specification
ENTITY IfcPixelTexture
 SUBTYPE OF (IfcSurfaceTexture);
  Width : IfcInteger;
  Height : IfcInteger;
  ColourComponents : IfcInteger;
  Pixel : LIST [1:?] OF IfcBinary;
 WHERE
  MinPixelInS : Width >= 1;
  MinPixelInT : Height >= 1;
  NumberOfColours : {1 <= ColourComponents <= 4};
  SizeOfPixelList : SIZEOF(Pixel) = (Width * Height);
  PixelAsByteAndSameLength : SIZEOF(QUERY(temp<* Pixel |
(BLENGTH(temp) MOD 8 = 0) AND
(BLENGTH(temp) = BLENGTH(Pixel[1]))
)) = SIZEOF(Pixel);
END_ENTITY;

Link to EXPRESS-G diagram EXPRESS-G diagram

Link to this page  Link to this page