![]()  | Representation Context Same WCS | 
If there are several instances of IfcGeometricRepresentationContext within one project file, the XY plane of all WorldCoordinateSystem's shall be coplanar and identical.
NOTE The instances of IfcGeometricRepresentationSubContext do not define their own world coordinate system, they refer to the world coordinate system of the ParentContext.
HISTORY New global rule in Release IFC2x
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;