IFC 4.3.0.0 (IFC4X3) final

8.18.7.1 IfcRepresentationContextSameWCS

8.18.7.1.1 Semantic definition

If there are several instances of IfcGeometricRepresentationContext within one project file, the XY plane of all WorldCoordinateSystem's shall be coplanar and identical.

8.18.7.1.2 Formal representation

RULE IfcRepresentationContextSameWCS FOR
 (IfcGeometricRepresentationContext);
LOCAL
  IsDifferent  : LOGICAL := FALSE;
END_LOCAL;
  IF (SIZEOF(IfcGeometricRepresentationContext) > 1)
  THEN
    REPEAT i := 2 TO HIINDEX(IfcGeometricRepresentationContext);
      IF (IfcGeometricRepresentationContext[1].WorldCoordinateSystem :<>: IfcGeometricRepresentationContext[i].WorldCoordinateSystem)
      THEN
        IsDifferent := (NOT(IfcSameValidPrecision(IfcGeometricRepresentationContext[1].Precision,
                                                  IfcGeometricRepresentationContext[i].Precision)))
                    OR (NOT(IfcSameAxis2Placement(IfcGeometricRepresentationContext[1].WorldCoordinateSystem,
                                                  IfcGeometricRepresentationContext[i].WorldCoordinateSystem,
                                                  IfcGeometricRepresentationContext[1].Precision)));
        IF (IsDifferent = TRUE) THEN
          ESCAPE;
        END_IF;
      END_IF;
    END_REPEAT;
  END_IF;

    WHERE
      WR1 : IsDifferent = FALSE;
END_RULE;