5.1.6.1 IfcUniqueDefinitionNames
5.1.6.1.1 Semantic definition
The function gets the set of IfcRelDefinesByProperties. It iterates through the Name attribute of the IfcPropertySet's and verifies that no Name appears twice.
5.1.6.1.2 Formal representation
FUNCTION IfcUniqueDefinitionNames (Relations : SET [1:?] OF IfcRelDefinesByProperties) :LOGICAL; LOCAL Definition : IfcPropertySetDefinitionSelect; DefinitionSet : IfcPropertySetDefinitionSet; Properties : SET OF IfcPropertySetDefinition := []; Result : LOGICAL; END_LOCAL; IF SIZEOF(Relations) = 0 THEN RETURN(TRUE); END_IF; REPEAT i:=1 TO HIINDEX(Relations); Definition := Relations[i].RelatingPropertyDefinition; IF 'IFC4X3_DEV_738df036.IFCPROPERTYSETDEFINITION' IN TYPEOF(Definition) THEN Properties := Properties + Definition; ELSE IF 'IFC4X3_DEV_738df036.IFCPROPERTYSETDEFINITIONSET' IN TYPEOF(Definition) THEN BEGIN DefinitionSet := Definition; REPEAT j:= 1 TO HIINDEX(DefinitionSet); Properties := Properties + DefinitionSet[j]; END_REPEAT; END; END_IF; END_IF; END_REPEAT; Result := IfcUniquePropertySetNames(Properties); RETURN (Result); END_FUNCTION;