C3D Toolkit  Kernel - 117982, Vision -

Tolerances of 2D-constraint solving and other constants. More...

#include <gce_precision.h>

+ Collaboration diagram for GcPrecision:


static const double m_null
 Absolute tolerance with which the clear zero is determined in matrix.
static const double grshTol
 Relative tolerance for estimation of linear dependence during orthogonalizaiton (Gram-Schmidt).
static const double tolerance
 Tolerance for checking a real number (angular or metric) for zero.
static const double degMetricEps
 Metric tolerance for checking the geometry for degeneracy.
static const double lengthEpsilon
 Computational tolerance of iterative solvers in the length units.
static const double angleEpsilon
 Angular tolerance in radians for iterative computation.
static const double lengthRegion
 Indistinguishable metric domain (satisfactory tolerance).
static const double angleRegion
 Indistinguishable angular domain (satisfactory tolerance).
static const double newtonEpsilon
 Target accuracy of the iterative solution result.
static const double newtonRegion
 Satisfactory accuracy of the iterative solution.
static const double paramRegion
 Parameter checking tolerance.
static const double maxRadius
 Maximal possible radius to deal with a circle in 2d-sketch.
static const MbGeomTol satisfying
 Satisfactory tolerance.
static const MbGeomTol newtonTol
 Tolerance of solving the equation system by iterative methods.

Other constants

static const double pi2
 2*M_PI (6.18...)
static const double lastReal
 "The greatest" float number.
static const int iterLimitCount
 Limit of iterations in numerical Newton's method.
static const int wellIterLimit
 Limit number of iterations in well-convergent processes.
static TCHAR buff_512 [512]
 Text buffer of 512 bytes.

Detailed Description

Tolerances of 2D-constraint solving and other constants.

The class encapsulates all tolerances and other constants related to two-dimensional constraint solving.

  1. For check of distance values or points coincidence in 2D space tolerance GcPrecision::lengthRegion is used. I.e. any two points which are not coincident with tolerance GcPrecision::lengthRegion are considered to be different.
  2. For iterative solvers tolerance of parameter GcPrecision::newtonEpsilon is used. This value is 1-2 orders higher than undistinguishable domain (lengthRegion, angleRegion).
  3. Any angular, length or parametric value less than GcPrecision::tolerance is considered to be zero.
  4. Value newtonEpsilon is always less or equal to (lengthEpsilon, angleEpsilon).
  5. Any element of matrix less than GcPrecision::m_null by absolute value is considered to be zero.

The documentation for this struct was generated from the following file: