0022627: Change OCCT memory management defaults
[occt.git] / src / GProp / GProp_VGProps.cdl
1 -- File:        VGProps.cdl<2>
2 -- Created:     Fri Apr 12 10:01:47 1991
3 -- Author:      Michel CHAUVAT
4 --              Jean-Claude VAUTHIER January 1992
5 ---Copyright:    Matra Datavision 1992
6
7
8 generic class VGProps from GProp (Arc as any;
9                                   Face as any;  -- as FaceTool(Arc)
10                                   Domain as any -- as DomainTool(Arc)
11                                  )
12 inherits GProps
13
14         --- Purpose :
15         --  Computes the global properties of a geometric solid 
16         --  (3D closed region of space) delimited with :
17         --  . a surface
18         --  . a point and a surface
19         --  . a plane and a surface
20         --  
21         --  The surface can be :
22         --  . a surface limited with its parametric values U-V,
23         --  . a surface limited in U-V space with its curves of restriction,
24         --  
25         --  The surface 's requirements to evaluate the global properties
26         --  are defined in the template SurfaceTool from package GProp.
27
28 uses    Pnt      from gp,
29         Pln      from gp
30 is
31
32   Create returns VGProps;
33   
34   Create (S: Face; VLocation: Pnt from gp) returns VGProps;
35         --- Purpose : 
36         --  Computes the global properties of a region of 3D space
37         --  delimited with the surface <S> and the point VLocation. S can be closed 
38         --  The method is quick and its precision is enough for many cases of analytical 
39         --  surfaces. 
40         --  Non-adaptive 2D Gauss integration with predefined numbers of Gauss points 
41         --  is used. Numbers of points depend on types of surfaces and  curves.
42         --  Errror of the computation is not calculated. 
43         
44   Create (S: in out Face; VLocation: Pnt from gp; Eps: Real) returns VGProps; 
45         --- Purpose : 
46         --  Computes the global properties of a region of 3D space
47         --  delimited with the surface <S> and the point VLocation. S can be closed 
48         --  Adaptive 2D Gauss integration is used. 
49         --  Parameter Eps sets maximal relative error of computed mass (volume) for face. 
50         --  Error is calculated as Abs((M(i+1)-M(i))/M(i+1)), M(i+1) and M(i) are values 
51         --  for two successive steps of adaptive integration. 
52
53   Create (S: Face; O: Pnt from gp; VLocation: Pnt from gp) returns VGProps;
54         --- Purpose :  
55         --  Computes the global properties of the region of 3D space
56         --  delimited with the surface <S> and the point VLocation.
57         --  The method is quick and its precision is enough for many cases of analytical 
58         --  surfaces. 
59         --  Non-adaptive 2D Gauss integration with predefined numbers of Gauss points 
60         --  is used. Numbers of points depend on types of surfaces and  curves.
61         --  Error of the computation is not calculated. 
62         
63   Create (S: in out Face; O: Pnt from gp; VLocation: Pnt from gp; Eps: Real) returns VGProps;
64         --- Purpose :  
65         --  Computes the global properties of the region of 3D space
66         --  delimited with the surface <S> and the point VLocation.
67         --  Adaptive 2D Gauss integration is used. 
68         --  Parameter Eps sets maximal relative error of computed mass (volume) for face. 
69         --  Error is calculated as Abs((M(i+1)-M(i))/M(i+1)), M(i+1) and M(i) are values 
70         --  for two successive steps of adaptive integration. 
71         --          WARNING: if Eps > 0.001 algorithm performs non-adaptive integration.          
72      
73   Create (S: Face; Pl: Pln from gp; VLocation: Pnt from gp) returns VGProps;
74         --- Purpose :  
75         --  Computes the global properties of the region of 3D space
76         --  delimited with the surface <S> and the plane Pln.
77         --  The method is quick and its precision is enough for many cases of analytical 
78         --  surfaces.  
79         --  Non-adaptive 2D Gauss integration with predefined numbers of Gauss points 
80         --  is used. Numbers of points depend on types of surfaces and  curves.
81         --  Error of the computation is not calculated. 
82         
83   Create (S: in out Face; Pl: Pln from gp; VLocation: Pnt from gp; Eps: Real) returns VGProps;
84         --- Purpose :  
85         --  Computes the global properties of the region of 3D space
86         --  delimited with the surface <S> and the plane Pln.
87         --  Adaptive 2D Gauss integration is used. 
88         --  Parameter Eps sets maximal relative error of computed mass (volume) for face. 
89         --  Error is calculated as Abs((M(i+1)-M(i))/M(i+1)), M(i+1) and M(i) are values 
90         --  for two successive steps of adaptive integration. 
91         --          WARNING: if Eps > 0.001 algorithm performs non-adaptive integration.          
92
93         --  With  Domain  -- 
94
95   Create (S: in out Face; D : in out Domain; VLocation: Pnt from gp) returns VGProps;
96         --- Purpose : 
97         --  Computes the global properties of a region of 3D space
98         --  delimited with the surface <S> and the point VLocation. S can be closed 
99         --  The method is quick and its precision is enough for many cases of analytical 
100         --  surfaces. 
101         --  Non-adaptive 2D Gauss integration with predefined numbers of Gauss points 
102         --  is used. Numbers of points depend on types of surfaces and  curves.
103         --  Errror of the computation is not calculated. 
104         
105   Create (S: in out Face; D : in out Domain; VLocation: Pnt from gp; Eps: Real) returns VGProps; 
106         --- Purpose : 
107         --  Computes the global properties of a region of 3D space
108         --  delimited with the surface <S> and the point VLocation. S can be closed 
109         --  Adaptive 2D Gauss integration is used. 
110         --  Parameter Eps sets maximal relative error of computed mass (volume) for face. 
111         --  Error is calculated as Abs((M(i+1)-M(i))/M(i+1)), M(i+1) and M(i) are values 
112         --  for two successive steps of adaptive integration. 
113
114   Create (S: in out Face; D : in out Domain; O: Pnt from gp; VLocation: Pnt from gp) returns VGProps;
115         --- Purpose :  
116         --  Computes the global properties of the region of 3D space
117         --  delimited with the surface <S> and the point VLocation.
118         --  The method is quick and its precision is enough for many cases of analytical 
119         --  surfaces. 
120         --  Non-adaptive 2D Gauss integration with predefined numbers of Gauss points 
121         --  is used. Numbers of points depend on types of surfaces and  curves.
122         --  Error of the computation is not calculated. 
123         
124   Create (S: in out Face; D : in out Domain; O: Pnt from gp; VLocation: Pnt from gp; Eps: Real) returns VGProps;
125         --- Purpose :  
126         --  Computes the global properties of the region of 3D space
127         --  delimited with the surface <S> and the point VLocation.
128         --  Adaptive 2D Gauss integration is used. 
129         --  Parameter Eps sets maximal relative error of computed mass (volume) for face. 
130         --  Error is calculated as Abs((M(i+1)-M(i))/M(i+1)), M(i+1) and M(i) are values 
131         --  for two successive steps of adaptive integration. 
132         --          WARNING: if Eps > 0.001 algorithm performs non-adaptive integration.          
133      
134   Create (S: in out Face; D : in out Domain; Pl: Pln from gp; VLocation: Pnt from gp) returns VGProps;
135         --- Purpose :  
136         --  Computes the global properties of the region of 3D space
137         --  delimited with the surface <S> and the plane Pln.
138         --  The method is quick and its precision is enough for many cases of analytical 
139         --  surfaces.  
140         --  Non-adaptive 2D Gauss integration with predefined numbers of Gauss points 
141         --  is used. Numbers of points depend on types of surfaces and  curves.
142         --  Error of the computation is not calculated. 
143         
144   Create (S: in out Face; D : in out Domain; Pl: Pln from gp; VLocation: Pnt from gp; Eps: Real) returns VGProps;
145         --- Purpose :  
146         --  Computes the global properties of the region of 3D space
147         --  delimited with the surface <S> and the plane Pln.
148         --  Adaptive 2D Gauss integration is used. 
149         --  Parameter Eps sets maximal relative error of computed mass (volume) for face. 
150         --  Error is calculated as Abs((M(i+1)-M(i))/M(i+1)), M(i+1) and M(i) are values 
151         --  for two successive steps of adaptive integration. 
152         --          WARNING: if Eps > 0.001 algorithm performs non-adaptive integration.          
153
154   SetLocation(me: in out; VLocation: Pnt from gp);
155   
156   Perform(me: in out; S: Face);
157   Perform(me: in out; S: in out Face; Eps: Real) returns Real;
158
159   Perform(me: in out; S: Face; O : Pnt from gp);
160   Perform(me: in out; S: in out Face; O : Pnt from gp; Eps: Real) returns Real;
161
162   Perform(me: in out; S: Face; Pl : Pln from gp);
163   Perform(me: in out; S: in out Face; Pl : Pln from gp; Eps: Real) returns Real;
164
165   Perform(me: in out; S: in out  Face; D : in out Domain);
166   Perform(me: in out; S: in out Face; D : in out Domain;  Eps: Real) returns Real;
167
168   Perform(me: in out; S: in out Face; D : in out Domain;  O : Pnt from gp);
169   Perform(me: in out; S: in out Face; D : in out Domain;  O : Pnt from gp; Eps: Real) returns Real;
170
171   Perform(me: in out; S: in out Face; D : in out Domain;  Pl : Pln from gp);
172   Perform(me: in out; S: in out Face; D : in out Domain;  Pl : Pln from gp; Eps: Real) returns Real;
173
174   GetEpsilon(me: out) returns Real;
175         --- Purpose :  
176         --  If previously used methods containe Eps parameter  
177         --  gets actual relative error of the computation, else returns  1.0.
178 fields
179  
180     myEpsilon: Real from Standard;
181
182 end VGProps;
183
184