IFC 4.3.2.20251031 (IFC4X3_ADD2) under development

8.12.3.18 IfcIndexedColourMap(索引颜色映射)

RV ⓘ
AbV ⓘ

8.12.3.18.1 语义定义(Semantic definition)

IfcIndexedColourMap 为各个面提供颜色信息的分配。它用于为细分面集的面着色。IfcIndexedColourMap 定义了指向索引颜色信息列表的索引。Colours 是由三个RGB值提供的颜色的二维列表。ColourIndex 属性对应于 IfcTessellatedFaceSetCoordIndex,定义了相应的面索引列表。Opacity属性为细分面集的所有面提供alpha通道。

图1显示了每个面具有颜色的 IfcTriangulatedFaceSet 示意图。图2显示了每个面具有颜色的 IfcPolygonalFaceSet 示意图。

IfcIndexedColourMap_01
图1 — 三角化面集的索引颜色映射
IfcIndexedColourMap_02
图2 — 多边形面集的索引颜色映射
IfcIndexedColourMap_03
图3 — 三角化面集的索引颜色映射

图3展示了基于以下数据的 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.))
  • IfcIndexedColourMap.ColourIndex: (1, 1, 2, 2, 3, 3, 1, 1, 1, 1, 1, 1, )
  • IfcColourRgbList.ColourList: ((1.,0.,0.), (0.,1.,0.), (1.,1.,0.))

8.12.3.18.2 实体继承(Entity inheritance)

8.12.3.18.3 特性(Attributes)

# 特性(Attributes) 类型 描述
IfcIndexedColourMap (4)
1 MappedTo IfcTessellatedFaceSet

引用应用颜色和alpha通道的 IfcTessellatedFaceSet

2 Opacity OPTIONAL IfcNormalisedRatioMeasure

同等应用于细分面集所有面的不透明度值。1.0表示不透明,0.0表示完全透明。如果未提供,则假定为1.0(所有颜色均为不透明)。

3 Colours IfcColourRgbList

可索引的三元组列表的列表,表示RGB颜色。

4 ColourIndex LIST [1:?] OF IfcPositiveInteger

指向 IfcColourRgbList 的索引,用于 IfcTriangulatedFaceSet 的每个面。颜色均匀应用于索引面。

表 8.12.3.18.B

8.12.3.18.4 形式化表示(Formal representation)

ENTITY IfcIndexedColourMap
 SUBTYPE OF (IfcPresentationItem);
	MappedTo : IfcTessellatedFaceSet;
	Opacity : OPTIONAL IfcNormalisedRatioMeasure;
	Colours : IfcColourRgbList;
	ColourIndex : LIST [1:?] OF IfcPositiveInteger;
END_ENTITY;

8.12.3.18.5 参考文献