• IfcTriangulatedFaceSet


    IfcTriangulatedFaceSet是一个镶嵌细分的面集,所有面都由三角形绑定。面由三个笛卡尔点定义的隐式多段线构造。每个点的坐标由一个基于1的索引提供到二维列表CoordIndex提供的笛卡尔点的有序列表中,其中


    ①二维列表的第一个维度处理三角形面的列表;

    ②二维列表的第二个维度正好为IfcCartesianPointList提供了三个索引,这些索引由在超类型IfcTessellatedFaceSet中定义的坐标引用。每个索引指向一个笛卡尔点作为三角形的顶点。


    可选每个顶点处的法线可以由二维列表NormalIndex提供,其中


    ①二维列表的第一维处理相应的三角形面列表;

    ②二维列表的第二个维度为在超类型IfcTessellatedFaceSet中定义的二维列表法线提供了三个索引。与顶点索引相对应的每个索引都指向三角形顶点处的法线方向。


    如果对应的点和法线列表中的点的顺序与法线中的法线的顺序相同,则应使用单个索引列表。坐标索引列表将同时应用于点和法线,法线索引列表应为空。换言之,如果not empty中的法线列表和NormalIndex列表为空,则CoordIndex列表将用于指向CoordList和Normals列表中的相应位置。


    注意:使用相应的点和法线列表可以只使用一个索引列表,而这会牺牲点和顶点的非唯一集合。


    图显示了不带注释的IfcTriangulatedFaceSet的使用。IfcTriangulatedFaceSet的图表示索引和索引指向的有序列表。索引从1开始(索引为1到N),如果CoordIndex中的最大索引为N,则IfcCartesianPointList应具有3:3坐标的N个列表。

    图-三角面集

     

    实例化IfcTriangulatedFaceSet有三种可能,除了通过Coordinates和CoordIndex强制属性CoordList之外,可选属性有以下组合:

    ①Normals和NormalIndex都提供了,然后NormalIndex指向法线

    ②提供法线而不提供NormalIndex,则CoordIndex也指向法线

    ③法线和法线索引都未提供,则必须重新计算法线。

     图-三角形面集几何图形

    CoordIndex: ((1,6,5), (1,2,6), (6,2,7), (7,2,3), (7,8,6), (6,8,5), (5,8,1), (1,8,4), (4,2,1), (2,4,3), (4,8,7), (7,3,4))
    IfcCartesianPointList3D: ((0.,0.,0.), (1.,0.,0.), (1.,1.,0.), (0.,1.,0.), (0.,0.,2.), (1.,0.,2.), (1.,1.,2.), (0.,1.,2.))

    注:IfcTriangulatedFaceSet的定义基于ISO/IEC 19775-1中定义的indexedFaceSet和indexedTriangleSet


    IFC4中增加的新实体。

    #AttributeTypeCardinalityDescriptionC
    IfcRepresentationItem
      LayerAssignment IfcPresentationLayerAssignment
    @AssignedItems
    S[0:1] Assignment of the representation item to a single or multiple layer(s). The LayerAssignments can override a LayerAssignments of the IfcRepresentation it is used within the list of Items. X
      StyledByItem IfcStyledItem
    @Item
    S[0:1] Reference to the IfcStyledItem that provides presentation information to the representation, e.g. a curve style, including colour and thickness to a geometric curve. X
    IfcGeometricRepresentationItem
    IfcTessellatedItem
    IfcTessellatedFaceSet
    1 Coordinates IfcCartesianPointList3D [1:1] An ordered list of Cartesian points used by the coordinate index defined at the subtypes of IfcTessellatedFaceSet. X
    2 Normals IfcParameterValue L[1:?]L[3:3] An ordered list of directions used by the normal index defined at the subtypes of IfcTessellatedFaceSet. It is a two-dimensional list of directions provided by three parameter values. X
    3 Closed IfcBoolean [0:1] Indication whether the IfcTessellatedFaceSet is a closed shell or not. If omited no such information can be provided. X
      HasColours IfcIndexedColourMap
    @MappedTo
    S[0:1] Reference to the indexed colour map providing the corresponding colour RGB values to the faces of the subtypes of IfcTessellatedFaceSet. X
      HasTextures IfcIndexedTextureMap
    @MappedTo
    S[0:?] Reference to the indexed texture map providing the corresponding texture coordinates to the vertices bounding the faces of the subtypes of IfcTessellatedFaceSet. X
    IfcTriangulatedFaceSet
    4 CoordIndex IfcPositiveInteger L[1:?]L[3:3] Two-dimensional list, where the first dimension represents the triangles (from 1 to N) and the second dimension the indices to three points defining the vertices (from 1 to 3).
    NOTE  The coordinates of the vertices are provided by the indexed list of SELFIfcTessellatedFaceSet.Coordinates.CoordList.
    X
    5 NormalIndex IfcPositiveInteger L[1:?]L[3:3] Two-dimensional list, where the first dimension represents the triangle (from 1 to N) and the second dimension the indices to three normals (from 1 to 3) corresponding to the vertices.
    The directions of the normals are provided by the indexed list of SELFIfcTessellatedFaceSet.Normals.
    X
      NumberOfTriangles
    :=SIZEOF(CoordIndex)
    IfcInteger [1:1] Derived number of triangles used for this triangulation. X
     

    EXPRESS Specification

    ENTITY IfcTriangulatedFaceSet
     SUBTYPE OF (IfcTessellatedFaceSet);
      CoordIndex : LIST [1:?] OF LIST [3:3] OF IfcPositiveInteger;
      NormalIndex : OPTIONAL LIST [1:?] OF LIST [3:3] OF IfcPositiveInteger;
     DERIVE
      NumberOfTriangles : IfcInteger := SIZEOF(CoordIndex);
    END_ENTITY;
    QQ 3087438119
  • 相关阅读:
    开发常见错误之 :Missing artifact com.sun:tools:jar 1.7.0
    开发常见错误之 : Detected both log4j-over-slf4j.jar AND slf4j-log4j12.jar
    kafka集群部署
    kafka
    Oracle 学习之触发器
    CloudSetuper
    erlang :打开界面工具的命令
    erlang 二进制中 拼接 变量或者函数 报错
    Python内部机制。
    AOP (面向切面编程)
  • 原文地址:https://www.cnblogs.com/herd/p/13963309.html
Copyright © 2020-2023  润新知