Salome HOME
Implementation of [bos #35140] [EDF] (2023-T1) Memory communication between SHAPER...
[modules/geom.git] / doc / salome / gui / GEOM / input / size_models_range.doc
1 /*!
2
3 \page size_models_range Sizes of Models in Salome
4
5 \tableofcontents
6
7 In Salome and Open CASCADE Technology (OCCT), which is a modeling core
8 of Salome %GEOM module, any model has its location in the 3D-space and size.
9  
10 This document defines the range of values (tolerances, locations
11 and sizes) that should be taken into account for any 3D model design.
12
13 It is not obligatory to create models within this range,
14 however, algorithms can fail or return unexpected results if the 
15 recommendations are not followed.
16
17 \section sec1 Maximal Size of the Model
18
19 The Maximal Size of the model corresponds to the maximal diameter of
20 enclosed sphere built for the model. In OCCT any model has a location defined
21 relatively to the absolute origin. Thus the maximal diameter should be built
22 taking into account the model itself and its location.
23
24 In OCCT there are two tolerances: Tolerance Confusion (TolC)
25 and Tolerance Angular (TolA) (see OCCT Precision package for more details).
26 These values are used for geometric comparisons. However, they are not used inside
27 low-level algorithms (e.g. intersection), where more precise values are
28 used instead. The value TolC guarantees that the error associated with
29 the computations for a given geometric entity is not greater than TolC.
30
31 - TolC - precision value used to check the coincidence of two points
32   [by default 1.e-7];
33 - TolA - precision value used to check the equality of two angles
34   [by default 1.e-12].
35
36 For more information on tolerance definition please see
37 <a href="SALOME_BOA_PA.pdf">Chapter 4 of this document</a>. To see limitations
38 that are due to modeling errors or inaccuracies of tolerance usage please
39 refer to <a href="SALOME_BOA_PA.pdf">Chapter 9.2.2 of the same document</a>.
40
41 To provide robust geometric modeling the computations should be consistent,
42 i.e. the one tolerance value should be used for all computations. Thus, the
43 TolC and TolA values should be consistent:
44
45 <CENTER><B><PRE>Smax = TolC / TolA             (1)</PRE></B></CENTER>
46
47 \image html tolerances.png "TolC, TolA and Maximal Size Consistency"
48
49 In accordance with <B>(1)</B> the Maximal Size for the Model is [by default]:
50
51 <CENTER><B><PRE>Smax = 1.e-7 / 1.e-12 = 1.e+5  (2)</PRE></B></CENTER>
52
53 \section sec2 Minimal Size of the Model
54
55 The Minimal Size of the Model is defined as the maximal diameter of enclosed
56 sphere built for the smallest BRep entity of the Model.
57
58 All models in OCCT are represented using double precision
59 floating point numbers. This representation contains approximately 14-16
60 significant digits.
61
62 From the experience, it is considered that the last four significant
63 digits contain rounding-off errors occurring during the computation. So
64 (taking into account the worst cases), there are ten reliable significant digits
65 for double precision floating point numbers. Having the estimation it is
66 possible to compute the value of the Minimal size of the model:
67
68 <CENTER><B><PRE>Smin=Smax / 1.e+10             (3)</PRE></B></CENTER>
69
70 In accordance with <B>(2)</B> for the default value it will be [by default]:
71
72 <CENTER><B><PRE>Smin=1.e-5.                    (4)</PRE></B></CENTER>
73
74 \section sec3 Full Range of Sizes
75
76 The values <B>Smax (2)</B>, <B>Smin (4)</B> are theoretical. Taking into
77 account the practical purposes of improving the reliability, the lower limit
78 should be restricted by one order. Thus, the full Range of Sizes of the Models
79 is:
80
81 <CENTER><B><PRE>[Smin, Smax] = [1.e-4, 1.e+5]  (5)</PRE></B></CENTER>
82
83 */