0024166: Unable to create file with "Save" menu of voxeldemo Qt sample
[occt.git] / src / GProp / GProp.cdl
CommitLineData
b311480e 1-- Created on: 1991-03-12
2-- Created by: Michel CHAUVAT
3-- Copyright (c) 1991-1999 Matra Datavision
4-- Copyright (c) 1999-2012 OPEN CASCADE SAS
5--
6-- The content of this file is subject to the Open CASCADE Technology Public
7-- License Version 6.5 (the "License"). You may not use the content of this file
8-- except in compliance with the License. Please obtain a copy of the License
9-- at http://www.opencascade.org and read it completely before using this file.
10--
11-- The Initial Developer of the Original Code is Open CASCADE S.A.S., having its
12-- main offices at: 1, place des Freres Montgolfier, 78280 Guyancourt, France.
13--
14-- The Original Code and all software distributed under the License is
15-- distributed on an "AS IS" basis, without warranty of any kind, and the
16-- Initial Developer hereby disclaims all such warranties, including without
17-- limitation, any warranties of merchantability, fitness for a particular
18-- purpose or non-infringement. Please see the License for the specific terms
19-- and conditions governing the rights and limitations under the License.
20
7fd59977 21-- JCV - January 1992
7fd59977 22
23
24
25package GProp
26
27 --- Purpose:
28 -- This package defines algorithmes to compute the global properties
29 -- of a set of points, a curve, a surface, a solid (non infinite
30 -- region of space delimited with geometric entities), a compound
31 -- geometric system (heterogeneous composition of the previous
32 -- entities).
33 --
34 -- Global properties are :
35 -- . length, area, volume,
36 -- . centre of mass,
37 -- . axis of inertia,
38 -- . moments of inertia,
39 -- . radius of gyration.
40 --
41 -- It provides also a class to compile the average point or
42 -- line of a set of points.
43
44uses
45 Standard,
46 TColStd,
47 TColgp,
48 gp,
49 math,
50 GeomAbs
51
52is
53
54exception UndefinedAxis inherits DomainError;
55 --- Purpose :
56 -- This exception is raised when a method makes reference to
57 -- an undefined inertia axis of symmetry.
58
59
60enumeration EquaType
61 is Plane, Line, Point, Space, None end;
62
63enumeration ValueType
64 is Mass,
65 CenterMassX, CenterMassY, CenterMassZ,
66 InertiaXX, InertiaYY, InertiaZZ,
67 InertiaXY, InertiaXZ, InertiaYZ,
68 Unknown
69 end;
70
71
72
73 --- Purpose : Algorithmes :
74
75
76 class GProps;
77 --- Purpose :
78 -- Computes the global properties of a compound geometric
79 -- system in 3d space. It gives facilities to compose the
80 -- properties of hetegogeneous elements of the system
81 -- (PGProps, CGProps, SGProps, VGProps or GProps). A density
82 -- can be associated with each component of the system.
83
84
85 class PGProps;
86 --- Purpose :
87 -- Computes the global properties of a set of points in 3d.
88 -- This class inherits GProps.
89
90
91 generic class CGProps;
92 ---Purpose :
93 -- Computes the global properties of a bounded
94 -- curve in 3d. This class inherits GProps.
95
96 class CelGProps;
97 ---Purpose :
98 -- Computes the global properties of a gp curve in 3d
99 -- This class inherits GProps.
100
101 generic class SGProps;
102 ---Purpose :
103 -- Computes the global properties and the area of a bounded
104 -- surface in 3d. This class inherits GProps.
105
106
107 class SelGProps;
108 ---Purpose :
109 -- Computes the global properties and the area of a bounded
110 -- elementary surface in 3d. This class inherits GProps.
111
112 generic class VGProps;
113 ---Purpose :
114 -- Computes the global properties and the volume of a region
115 -- of space. This class inherits GProps.
116
117 generic class VGPropsGK, UFunction, TFunction;
118 ---Purpose :
119 -- Computes the global properties and the volume of a region
120 -- of space by adaptive Gauss-Kronrod integration.
121 -- This class inherits GProps.
122
123
124 class VelGProps;
125 ---Purpose :
126 -- Computes the global properties and the volume of a region
127 -- of space. the region of space is defined by an elementary
128 -- surface. This class inherits GProps.
129
130
131 class PrincipalProps;
132 ---Purpose :
133 -- Returns the principal inertia properties of a GProps.
134
135
136
137
138 --- Purpose :
139 -- The following abstract classes define templates
140 -- with the minimum of methods required to implement
141 -- the computation of the global properties for a curve
142 -- or a surface.
143
144
145 deferred generic class CurveTool;
146
147 deferred generic class FaceTool;
148
149 deferred generic class DomainTool;
150
151 --
152 -- Class to compute the average plane or line of a set of points.
153 --
154
155 class PEquation;
156
157 --- Purpose : methods of package
158
159 HOperator (G, Q : Pnt from gp; Mass : Real; Operator : out Mat from gp);
160 --- Purpose : Computes the matrix Operator, referred to as the
161-- "Huyghens Operator" of a geometric system at the
162-- point Q of the space, using the following data :
163-- - Mass, i.e. the mass of the system,
164-- - G, the center of mass of the system.
165-- The "Huyghens Operator" is used to compute
166-- Inertia/Q, the matrix of inertia of the system at
167-- the point Q using Huyghens' theorem :
168-- Inertia/Q = Inertia/G + HOperator (Q, G, Mass)
169-- where Inertia/G is the matrix of inertia of the
170-- system relative to its center of mass as returned by
171-- the function MatrixOfInertia on any GProp_GProps object.
172
173
174end GProp;