IFC 4.3.0.0 (IFC4X3) final

5.1.6.4 IfcUniquePropertySetNames

5.1.6.4.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.4.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.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;

5.1.6.4.3 References