0024023: Revamp the OCCT Handle -- general
[occt.git] / src / BRepGProp / BRepGProp_Vinert.cdl
CommitLineData
b311480e 1-- Created on: 1991-04-12
2-- Created by: Michel CHAUVAT
3-- Copyright (c) 1991-1999 Matra Datavision
973c2be1 4-- Copyright (c) 1999-2014 OPEN CASCADE SAS
b311480e 5--
973c2be1 6-- This file is part of Open CASCADE Technology software library.
b311480e 7--
d5f74e42 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
973c2be1 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.
b311480e 13--
973c2be1 14-- Alternatively, this file may be used under the terms of Open CASCADE
15-- commercial license or contractual agreement.
b311480e 16
7fd59977 17-- Jean-Claude VAUTHIER January 1992
7fd59977 18
19
424cd6bb 20class Vinert from BRepGProp inherits GProps from GProp
7fd59977 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
36uses Pnt from gp,
424cd6bb 37 Pln from gp,
38 Edge from TopoDS,
39 Face from BRepGProp,
40 Domain from BRepGProp
7fd59977 41is
42
424cd6bb 43 Create returns Vinert;
7fd59977 44
424cd6bb 45 Create (S: Face from BRepGProp; VLocation: Pnt from gp) returns Vinert;
7fd59977 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
424cd6bb 55 Create (S: in out Face from BRepGProp; VLocation: Pnt from gp; Eps: Real) returns Vinert;
7fd59977 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
424cd6bb 64 Create (S: Face from BRepGProp; O: Pnt from gp; VLocation: Pnt from gp) returns Vinert;
7fd59977 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
424cd6bb 74 Create (S: in out Face from BRepGProp; O: Pnt from gp; VLocation: Pnt from gp; Eps: Real) returns Vinert;
7fd59977 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
424cd6bb 84 Create (S: Face from BRepGProp; Pl: Pln from gp; VLocation: Pnt from gp) returns Vinert;
7fd59977 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
424cd6bb 94 Create (S: in out Face from BRepGProp; Pl: Pln from gp; VLocation: Pnt from gp; Eps: Real) returns Vinert;
7fd59977 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
424cd6bb 104 -- With Domain from BRepGProp --
7fd59977 105
424cd6bb 106 Create (S: in out Face from BRepGProp; D : in out Domain from BRepGProp; VLocation: Pnt from gp) returns Vinert;
7fd59977 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
424cd6bb 116 Create (S: in out Face from BRepGProp; D : in out Domain from BRepGProp; VLocation: Pnt from gp; Eps: Real) returns Vinert;
7fd59977 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
424cd6bb 125 Create (S: in out Face from BRepGProp; D : in out Domain from BRepGProp; O: Pnt from gp; VLocation: Pnt from gp) returns Vinert;
7fd59977 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
424cd6bb 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;
7fd59977 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
424cd6bb 145 Create (S: in out Face from BRepGProp; D : in out Domain from BRepGProp; Pl: Pln from gp; VLocation: Pnt from gp) returns Vinert;
7fd59977 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
424cd6bb 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;
7fd59977 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
424cd6bb 167 Perform(me: in out; S: Face from BRepGProp);
168 Perform(me: in out; S: in out Face from BRepGProp; Eps: Real) returns Real;
7fd59977 169
424cd6bb 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;
7fd59977 172
424cd6bb 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;
7fd59977 175
424cd6bb 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;
7fd59977 178
424cd6bb 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;
7fd59977 181
424cd6bb 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;
7fd59977 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.
189fields
190
191 myEpsilon: Real from Standard;
192
424cd6bb 193end Vinert;
7fd59977 194
195