IfcUniqueDefinitionNames

Natural language names
Unique Definition Names
Semantic definitions at the function
Function Definition

The function gets the set of IfcRelDefinesByProperties. It iterates through the Name attibute of the IfcPropertySet's and verifies that no Name appears twice.

HISTORY  New function in IFC4 ADD1

Formal representations
EXPRESS Specification

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 'IFCKERNEL.IfcPropertySetDefinition' IN TYPEOF(Definition) THEN
    Properties := Properties + Definition;
  ELSE
    IF 'IFCKERNEL.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;

References  References: IfcObject

Link to this page  Link to this page