zoukankan      html  css  js  c++  java
  • IfcPixelTexture

    IfcPixelTexture提供基于2D图像的纹理贴图,作为像素值的显式数组(像素二进制属性列表)。与IfcImageTexture相反,IfcPixelTexture直接保存像素颜色(和不透明度)的二维列表,而不是引用URL。

    架构和ISO X31-19D(ISO X35-D)的定义如下:

      ●PixelTexture节点将基于2D图像的纹理贴图定义为像素值(图像场)的显式数组和控制纹理在几何体上平铺重复的参数。

      ●纹理贴图在二维坐标系(s,t)中定义,在两个方向上的范围为0.0到1.0。像素图像的下边缘对应于纹理贴图的S轴,像素图像的左边缘对应于纹理贴图的T轴。像素图像的左下像素对应于s=0.0,t=0.0,并且图像的右上像素对应于s=1.0,t=1.0。

      ●图像字段指定单个未压缩的二维像素图像。图像字段包含三个整数,表示图像中组件的宽度、高度和数量,后跟表示图像中像素的宽度×高度十六进制值。像素值限制为256个强度级别(即0x00-0xFF十六进制)。

      ⅰ单分量图像指定一个字节的十六进制值,表示图像的强度。例如,0xFF是十六进制的全强度(十进制为255),0x00是无强度(十进制为0)。

      ⅱ双分量图像指定第一个(高)字节的强度和第二个(低)字节的alpha不透明度。

      ⅲ三分量图像中的像素指定第一个(高)字节中的红色分量,然后是绿色和蓝色分量(例如,0xFF0000为红色,0x00FF00为绿色,0x0000FF为蓝色)。

      ⅳ四分量图像指定红/绿/蓝之后的alpha不透明度字节(例如,0x0000FF80是半透明蓝色)。值00是完全透明的,FF是完全不透明的,80是半透明的。

    请注意,如果alpha和transparency的范围都在0.0到1.0之间,则alpha等于(1.0-transparency)。

    IFC2x2中增加的新实体。

    Formal Propositions

    RuleDescription
    MinPixelInS

    宽度(S坐标)方向上的最小像素数应为1。

    MinPixelInT

    高度(T坐标)方向的最小像素数应为1。

    NumberOfColours

    颜色成分的数量应为1、2、3或4。

    SizeOfPixelList

    像素列表应具有精确的宽度*高度成员。

    PixelAsByteAndSameLength

    为每个像素提供的二进制值应为8位的倍数。所有像素的长度都应相同。

     

    Attribute inheritance

    #AttributeTypeCardinalityDescriptionC
    IfcPresentationItem
    IfcSurfaceTexture
    1 RepeatS IfcBoolean [1:1] “重复”字段指定纹理在S方向的缠绕方式。如果RepeatS为TRUE(默认值),则纹理贴图将在S方向的[0.0,1.0]纹理坐标范围外重复,以便填充形状。如果RepeatS为FALSE,则纹理坐标将在S方向上钳制,以位于[0.0,1.0]范围内。 X
    2 RepeatT IfcBoolean [1:1] RepeatT字段指定纹理在T方向上的缠绕方式。如果RepeatT为TRUE(默认值),则纹理贴图将在T方向的[0.0,1.0]纹理坐标范围外重复,以便填充形状。如果RepeatT为FALSE,则纹理坐标在T方向上被钳制在[0.0,1.0]范围内。 X
    3 Mode IfcIdentifier [0:1]

    模式属性用于控制多重纹理的外观。然后,该模式控制混合操作的类型。该模式包括一个对亮的外观进行调制,一个对未亮的外观进行替换,以及两者的变化。

    注意模式属性的适用值由视图定义或实现者协议确定。建议使用ISO/IES 19775-1.2:2008 X3D体系结构和基本组件第2版第1部分中描述的模式。建议值见18.4.3 MultiTexture。

    X
    4 TextureTransform IfcCartesianTransformationOperator2D [0:1] TextureTransform定义应用于纹理坐标的2D变换。它会影响纹理坐标应用于几何表示的曲面的方式。2D变换支持更改形状上纹理的大小、方向和位置。不允许在IfcCartesianTransformationOperator中使用镜像 X
    5 Parameter IfcIdentifier L[1:?]

    参数属性用于控制多重纹理的外观。适用的参数取决于Mode属性的值。

    注意:参数属性列表的适用值由视图定义或实现者协议确定。建议使用ISO/IES 19775-1.2:2008 X3D体系结构和基本组件第2版第1部分中描述的源和功能字段。建议值见18.4.3 MultiTexture。
    按照惯例,参数[1]应保存源值,参数[2]保存函数值,参数[3]保存用于选择操作的基本RGB颜色,参数[4]保存用于选择操作的alpha值。

    X
      IsMappedBy IfcTextureCoordinate
    @Maps
    S[0:?] 纹理坐标,由纹理顶点到基于顶点的几何项的对应列表提供,或由纹理坐标生成器提供,该生成器将表面纹理应用于几何项的曲面。IFC4更改属性列表末尾添加的新属性。 X
      UsedInStyles IfcSurfaceStyleWithTextures
    @Textures
    S[0:?]   X
    IfcPixelTexture
    6 Width IfcInteger [1:1]

    宽度方向上的像素数。

    X
    7 Height IfcInteger [1:1]

    高度(T)方向上的像素数。

    X
    8 ColourComponents IfcInteger [1:1] 指示像素值是否包含1、2、3或4颜色分量。 X
    9 Pixel IfcBinary L[1:?]

    十六进制值的平面列表,每个值用1、2、3或4个分量描述一个像素。

    X
    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;
    QQ 3087438119
  • 相关阅读:
    Go反射
    Go_CSP并发模型
    Go_select
    Go计时器
    day9:vcp考试
    day8:vcp考试
    day7:vcp考试
    day6:vcp考试
    day5:vcp考试
    day4:vcp考试
  • 原文地址:https://www.cnblogs.com/herd/p/14219427.html
Copyright © 2011-2022 走看看