0024023: Revamp the OCCT Handle -- ambiguity
[occt.git] / src / BRepGProp / BRepGProp_Vinert.cdl
1 -- Created on: 1991-04-12
2 -- Created by: Michel CHAUVAT
3 -- Copyright (c) 1991-1999 Matra Datavision
4 -- Copyright (c) 1999-2014 OPEN CASCADE SAS
5 --
6 -- This file is part of Open CASCADE Technology software library.
7 --
8 -- This library is free software; you can redistribute it and/or modify it under
9 -- the terms of the GNU Lesser General Public License version 2.1 as published
10 -- by the Free Software Foundation, with special exception defined in the file
11 -- OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
12 -- distribution for complete text of the license and disclaimer of any warranty.
13 --
14 -- Alternatively, this file may be used under the terms of Open CASCADE
15 -- commercial license or contractual agreement.
16
17 --              Jean-Claude VAUTHIER January 1992
18
19
20 class Vinert from BRepGProp inherits GProps from GProp
21
22         --- Purpose :
23         --  Computes the global properties of a geometric solid 
24         --  (3D closed region of space) delimited with :
25         --  . a surface
26         --  . a point and a surface
27         --  . a plane and a surface
28         --  
29         --  The surface can be :
30         --  . a surface limited with its parametric values U-V,
31         --  . a surface limited in U-V space with its curves of restriction,
32         --  
33         --  The surface 's requirements to evaluate the global properties
34         --  are defined in the template SurfaceTool from package GProp.
35
36 uses    Pnt      from gp,
37         Pln      from gp,
38         Edge     from TopoDS,
39         Face     from BRepGProp,
40         Domain   from BRepGProp
41 is
42
43   Create returns Vinert;
44   
45   Create (S: Face from BRepGProp; VLocation: Pnt from gp) returns Vinert;
46         --- Purpose : 
47         --  Computes the global properties of a region of 3D space
48         --  delimited with the surface <S> and the point VLocation. S can be closed 
49         --  The method is quick and its precision is enough for many cases of analytical 
50         --  surfaces. 
51         --  Non-adaptive 2D Gauss integration with predefined numbers of Gauss points 
52         --  is used. Numbers of points depend on types of surfaces and  curves.
53         --  Errror of the computation is not calculated. 
54         
55   Create (S: in out Face from BRepGProp; VLocation: Pnt from gp; Eps: Real) returns Vinert; 
56         --- Purpose : 
57         --  Computes the global properties of a region of 3D space
58         --  delimited with the surface <S> and the point VLocation. S can be closed 
59         --  Adaptive 2D Gauss integration is used. 
60         --  Parameter Eps sets maximal relative error of computed mass (volume) for face. 
61         --  Error is calculated as Abs((M(i+1)-M(i))/M(i+1)), M(i+1) and M(i) are values 
62         --  for two successive steps of adaptive integration. 
63
64   Create (S: Face from BRepGProp; O: Pnt from gp; VLocation: Pnt from gp) returns Vinert;
65         --- Purpose :  
66         --  Computes the global properties of the region of 3D space
67         --  delimited with the surface <S> and the point VLocation.
68         --  The method is quick and its precision is enough for many cases of analytical 
69         --  surfaces. 
70         --  Non-adaptive 2D Gauss integration with predefined numbers of Gauss points 
71         --  is used. Numbers of points depend on types of surfaces and  curves.
72         --  Error of the computation is not calculated. 
73         
74   Create (S: in out Face from BRepGProp; O: Pnt from gp; VLocation: Pnt from gp; Eps: Real) returns Vinert;
75         --- Purpose :  
76         --  Computes the global properties of the region of 3D space
77         --  delimited with the surface <S> and the point VLocation.
78         --  Adaptive 2D Gauss integration is used. 
79         --  Parameter Eps sets maximal relative error of computed mass (volume) for face. 
80         --  Error is calculated as Abs((M(i+1)-M(i))/M(i+1)), M(i+1) and M(i) are values 
81         --  for two successive steps of adaptive integration. 
82         --          WARNING: if Eps > 0.001 algorithm performs non-adaptive integration.          
83      
84   Create (S: Face from BRepGProp; Pl: Pln from gp; VLocation: Pnt from gp) returns Vinert;
85         --- Purpose :  
86         --  Computes the global properties of the region of 3D space
87         --  delimited with the surface <S> and the plane Pln.
88         --  The method is quick and its precision is enough for many cases of analytical 
89         --  surfaces.  
90         --  Non-adaptive 2D Gauss integration with predefined numbers of Gauss points 
91         --  is used. Numbers of points depend on types of surfaces and  curves.
92         --  Error of the computation is not calculated. 
93         
94   Create (S: in out Face from BRepGProp; Pl: Pln from gp; VLocation: Pnt from gp; Eps: Real) returns Vinert;
95         --- Purpose :  
96         --  Computes the global properties of the region of 3D space
97         --  delimited with the surface <S> and the plane Pln.
98         --  Adaptive 2D Gauss integration is used. 
99         --  Parameter Eps sets maximal relative error of computed mass (volume) for face. 
100         --  Error is calculated as Abs((M(i+1)-M(i))/M(i+1)), M(i+1) and M(i) are values 
101         --  for two successive steps of adaptive integration. 
102         --          WARNING: if Eps > 0.001 algorithm performs non-adaptive integration.          
103
104         --  With  Domain from BRepGProp  -- 
105
106   Create (S: in out Face from BRepGProp; D : in out Domain from BRepGProp; VLocation: Pnt from gp) returns Vinert;
107         --- Purpose : 
108         --  Computes the global properties of a region of 3D space
109         --  delimited with the surface <S> and the point VLocation. S can be closed 
110         --  The method is quick and its precision is enough for many cases of analytical 
111         --  surfaces. 
112         --  Non-adaptive 2D Gauss integration with predefined numbers of Gauss points 
113         --  is used. Numbers of points depend on types of surfaces and  curves.
114         --  Errror of the computation is not calculated. 
115         
116   Create (S: in out Face from BRepGProp; D : in out Domain from BRepGProp; VLocation: Pnt from gp; Eps: Real) returns Vinert; 
117         --- Purpose : 
118         --  Computes the global properties of a region of 3D space
119         --  delimited with the surface <S> and the point VLocation. S can be closed 
120         --  Adaptive 2D Gauss integration is used. 
121         --  Parameter Eps sets maximal relative error of computed mass (volume) for face. 
122         --  Error is calculated as Abs((M(i+1)-M(i))/M(i+1)), M(i+1) and M(i) are values 
123         --  for two successive steps of adaptive integration. 
124
125   Create (S: in out Face from BRepGProp; D : in out Domain from BRepGProp; O: Pnt from gp; VLocation: Pnt from gp) returns Vinert;
126         --- Purpose :  
127         --  Computes the global properties of the region of 3D space
128         --  delimited with the surface <S> and the point VLocation.
129         --  The method is quick and its precision is enough for many cases of analytical 
130         --  surfaces. 
131         --  Non-adaptive 2D Gauss integration with predefined numbers of Gauss points 
132         --  is used. Numbers of points depend on types of surfaces and  curves.
133         --  Error of the computation is not calculated. 
134         
135   Create (S: in out Face from BRepGProp; D : in out Domain from BRepGProp; O: Pnt from gp; VLocation: Pnt from gp; Eps: Real) returns Vinert;
136         --- Purpose :  
137         --  Computes the global properties of the region of 3D space
138         --  delimited with the surface <S> and the point VLocation.
139         --  Adaptive 2D Gauss integration is used. 
140         --  Parameter Eps sets maximal relative error of computed mass (volume) for face. 
141         --  Error is calculated as Abs((M(i+1)-M(i))/M(i+1)), M(i+1) and M(i) are values 
142         --  for two successive steps of adaptive integration. 
143         --          WARNING: if Eps > 0.001 algorithm performs non-adaptive integration.          
144      
145   Create (S: in out Face from BRepGProp; D : in out Domain from BRepGProp; Pl: Pln from gp; VLocation: Pnt from gp) returns Vinert;
146         --- Purpose :  
147         --  Computes the global properties of the region of 3D space
148         --  delimited with the surface <S> and the plane Pln.
149         --  The method is quick and its precision is enough for many cases of analytical 
150         --  surfaces.  
151         --  Non-adaptive 2D Gauss integration with predefined numbers of Gauss points 
152         --  is used. Numbers of points depend on types of surfaces and  curves.
153         --  Error of the computation is not calculated. 
154         
155   Create (S: in out Face from BRepGProp; D : in out Domain from BRepGProp; Pl: Pln from gp; VLocation: Pnt from gp; Eps: Real) returns Vinert;
156         --- Purpose :  
157         --  Computes the global properties of the region of 3D space
158         --  delimited with the surface <S> and the plane Pln.
159         --  Adaptive 2D Gauss integration is used. 
160         --  Parameter Eps sets maximal relative error of computed mass (volume) for face. 
161         --  Error is calculated as Abs((M(i+1)-M(i))/M(i+1)), M(i+1) and M(i) are values 
162         --  for two successive steps of adaptive integration. 
163         --          WARNING: if Eps > 0.001 algorithm performs non-adaptive integration.          
164
165   SetLocation(me: in out; VLocation: Pnt from gp);
166   
167   Perform(me: in out; S: Face from BRepGProp);
168   Perform(me: in out; S: in out Face from BRepGProp; Eps: Real) returns Real;
169
170   Perform(me: in out; S: Face from BRepGProp; O : Pnt from gp);
171   Perform(me: in out; S: in out Face from BRepGProp; O : Pnt from gp; Eps: Real) returns Real;
172
173   Perform(me: in out; S: Face from BRepGProp; Pl : Pln from gp);
174   Perform(me: in out; S: in out Face from BRepGProp; Pl : Pln from gp; Eps: Real) returns Real;
175
176   Perform(me: in out; S: in out  Face from BRepGProp; D : in out Domain from BRepGProp);
177   Perform(me: in out; S: in out Face from BRepGProp; D : in out Domain from BRepGProp;  Eps: Real) returns Real;
178
179   Perform(me: in out; S: in out Face from BRepGProp; D : in out Domain from BRepGProp;  O : Pnt from gp);
180   Perform(me: in out; S: in out Face from BRepGProp; D : in out Domain from BRepGProp;  O : Pnt from gp; Eps: Real) returns Real;
181
182   Perform(me: in out; S: in out Face from BRepGProp; D : in out Domain from BRepGProp;  Pl : Pln from gp);
183   Perform(me: in out; S: in out Face from BRepGProp; D : in out Domain from BRepGProp;  Pl : Pln from gp; Eps: Real) returns Real;
184
185   GetEpsilon(me: out) returns Real;
186         --- Purpose :  
187         --  If previously used methods containe Eps parameter  
188         --  gets actual relative error of the computation, else returns  1.0.
189 fields
190  
191     myEpsilon: Real from Standard;
192
193 end Vinert;
194
195