IFC 4.3.2.20251031 (IFC4X3_ADD2) under development

8.12.3.21 IfcIndexedTriangleTextureMap(索引三角形纹理映射)

RV ⓘ
AbV ⓘ

8.12.3.21.1 语义定义(Semantic definition)

_IfcIndexedTriangleTextureMap_ 提供了将二维纹理坐标映射到其所映射表面的功能。它用于将纹理映射到 _IfcTriangulatedFaceSet_ 的三角形上。

_IfcIndexedTriangleTextureMap_ 定义了指向纹理坐标索引列表的索引。_TexCoordIndex_ 是一个二维列表,其中:

  • 第一维度是对应于 _IfcTriangulatedFaceSet__CoordIndex_ 所定义的三角形列表的无界面列表;
  • 第二维度是三个纹理顶点索引的固定列表,对应于 _IfcTriangulatedFaceSet_ 中顶点索引的固定列表。

在超类型 _IfcIndexedTextureMap_ 中定义的 _TexCoords_ 是由两个参数值提供的纹理坐标的二维列表。_TexCoordIndex_ 第二维列表的每个索引指向 _TexCoords_ 中的一个纹理顶点。

图1展示了带纹理的 _IfcTriangulatedFaceSet_ 的使用。

IfcIndexedTriangleTextureMap_01
图2展示了一个由以下数据表示的 _IfcTriangulatedFaceSet_
IfcTriangulatedFaceSet.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))

IfcCartesianPointList.CoordList:
((0.,0.,0.), (1.,0.,0.), (1.,1.,0.), (0.,1.,0.), (0.,0.,2.), (1.,0.,2.), (1.,1.,2.), (0.,1.,2.))

IfcIndexedTriangleTextureMap.TexCoordsIndex:
((1 4 3), (1 2 4), (3 1 4), (4 1 2), (8 7 6), (6 7 5), (4 3 2), (2 3 1), (5 8 7), (8 5 6), (2 4 3), (3 1 2))

IfcTextureVertexList.TexCoordsList:
((0. -0.5), (1. -0.5), (0. 1.5), (1. 1.5), (0. 0.), (0. 1.), (1. 0.), (1. 1.))
IfcIndexedTriangleTextureMap_example-01
图2 — 索引三角形纹理映射几何

8.12.3.21.2 实体继承(Entity inheritance)

8.12.3.21.3 特性(Attributes)

# 特性(Attributes) 类型 描述
IfcTextureCoordinate (1)
IfcIndexedTextureMap (2)
点击显示 3 个隐藏的继承特性 点击隐藏 3 个继承特性
IfcIndexedTriangleTextureMap (1)
表 8.12.3.21.C

8.12.3.21.4 形式化表示(Formal representation)

ENTITY IfcIndexedTriangleTextureMap
 SUBTYPE OF (IfcIndexedTextureMap);
	TexCoordIndex : OPTIONAL LIST [1:?] OF LIST [3:3] OF IfcPositiveInteger;
END_ENTITY;

8.12.3.21.5 参考文献