5.1.6.3 IfcUniquePropertySetNames
5.1.6.3.1 Semantic definition
The function gets the set of IfcPropertySetDefinition's. It iterates through the Name attribute of the IfcPropertySet's
and verifies that no Name appears twice. It is called from within the function IfcUniqueDefinitionNames.
5.1.6.3.2 Formal representation
FUNCTION IfcUniquePropertySetNames
(Properties : SET [1:?] OF IfcPropertySetDefinition)
:LOGICAL;
LOCAL
Names : SET OF IfcLabel := [];
Unnamed : INTEGER := 0;
END_LOCAL;
REPEAT i:=1 TO HIINDEX(Properties);
IF 'IFC4X3_DEV_20bdb3d.IFCPROPERTYSET' IN TYPEOF(Properties[i]) THEN
Names := Names + Properties[i]\IfcRoot.Name;
ELSE
Unnamed := Unnamed + 1;
END_IF;
END_REPEAT;
RETURN (SIZEOF(Names) + Unnamed = SIZEOF(Properties));
END_FUNCTION;