8.18.6.4 IfcTopologyRepresentationTypes(拓扑表示类型)
8.18.6.4.1 语义定义(Semantic definition)
该函数接收拓扑表示类型和分配的表示项集合作为输入,并根据给定的表示类型验证是否正确分配了相应的项。
8.18.6.4.2 形式化表示(Formal representation)
FUNCTION IfcTopologyRepresentationTypes
(RepType : IfcLabel; Items : SET OF IfcRepresentationItem) : LOGICAL;
LOCAL
Count : INTEGER := 0;
END_LOCAL;
CASE RepType OF
'Vertex' :
BEGIN
Count := SIZEOF(QUERY(temp <* Items |
('IFC4X3_DEV_62887e3f.IFCVERTEX' IN TYPEOF(temp))));
END;
'Edge' :
BEGIN
Count := SIZEOF(QUERY(temp <* Items |
('IFC4X3_DEV_62887e3f.IFCEDGE' IN TYPEOF(temp))));
END;
'Path' :
BEGIN
Count := SIZEOF(QUERY(temp <* Items |
('IFC4X3_DEV_62887e3f.IFCPATH' IN TYPEOF(temp))));
END;
'Face' :
BEGIN
Count := SIZEOF(QUERY(temp <* Items |
('IFC4X3_DEV_62887e3f.IFCFACE' IN TYPEOF(temp))));
END;
'Shell' :
BEGIN
Count := SIZEOF(QUERY(temp <* Items |
('IFC4X3_DEV_62887e3f.IFCOPENSHELL' IN TYPEOF(temp))
OR ('IFC4X3_DEV_62887e3f.IFCCLOSEDSHELL' IN TYPEOF(temp))));
END;
'Undefined': RETURN(TRUE);
OTHERWISE : RETURN(?);
END_CASE;
RETURN (Count = SIZEOF(Items));
END_FUNCTION;