#### IfcSameValidPrecision

##### Semantic definitions at the function

Function Definition

The function compares the epsilon values ( given as Precision at IfcGeometricRepresentationContext and ensures that they are the same (with a derivation tolerance) and within reasonable min and max values.

> NOTE In the above function the following three questionable ad-hoc values are used:

- 0.000001 for the default precision (1E-6)
- 1.001 for the allowable deviation of the precision values and
- 0.1 for setting the upper limit of the accepted precision values to about 0.1.

> HISTORY New function in Release IFC2x Edition 2

##### Formal representations

EXPRESS Specification

FUNCTION IfcSameValidPrecision
(Epsilon1, Epsilon2 : REAL) : LOGICAL ;
LOCAL
ValidEps1, ValidEps2 : REAL;
DefaultEps : REAL := 0.000001;
DerivationOfEps : REAL := 1.001;
UpperEps : REAL := 1.0;
END_LOCAL;
ValidEps1 := NVL(Epsilon1, DefaultEps);
ValidEps2 := NVL(Epsilon2, DefaultEps);
RETURN ((0.0 < ValidEps1) AND (ValidEps1 <= (DerivationOfEps * ValidEps2)) AND
(ValidEps2 <= (DerivationOfEps * ValidEps1)) AND (ValidEps2 < UpperEps));
END_FUNCTION;

Link to this page