Topology Representation Types |
The function gets the topology representation type and the assigned set of representation items as input and verifies whether the correct items are assigned according to the representation type given.
HISTORY New function in IFC2x3
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 |
('IFCTOPOLOGYRESOURCE.IfcVertex' IN TYPEOF(temp))));
END;
'Edge' :
BEGIN
Count := SIZEOF(QUERY(temp <* Items |
('IFCTOPOLOGYRESOURCE.IfcEdge' IN TYPEOF(temp))));
END;
'Path' :
BEGIN
Count := SIZEOF(QUERY(temp <* Items |
('IFCTOPOLOGYRESOURCE.IfcPath' IN TYPEOF(temp))));
END;
'Face' :
BEGIN
Count := SIZEOF(QUERY(temp <* Items |
('IFCTOPOLOGYRESOURCE.IfcFace' IN TYPEOF(temp))));
END;
'Shell' :
BEGIN
Count := SIZEOF(QUERY(temp <* Items |
('IFCTOPOLOGYRESOURCE.IfcOpenShell' IN TYPEOF(temp))
OR ('IFCTOPOLOGYRESOURCE.IfcClosedShell' IN TYPEOF(temp))));
END;
'Undefined': RETURN(TRUE);
OTHERWISE : RETURN(?);
END_CASE;
RETURN (Count = SIZEOF(Items));
END_FUNCTION;
References: IfcTopologyRepresentation