Integration of OCCT 6.5.0 from SVN
[occt.git] / src / IntCurveSurface / IntCurveSurface_Polyhedron.cdl
CommitLineData
7fd59977 1-- File: IntCurveSurface_Polyhedron.cdl
2-- Created: Wed Feb 3 11:24:14 1993
3-- Author: Laurent BUCHARD
4-- <lbr@topsn3>
5---Copyright: Matra Datavision 1993
6
7
8generic class Polyhedron from IntCurveSurface (
9 ThePSurface as any;
10 ThePSurfaceTool as any)
11
12
13 ---Purpose: This class provides a linear approximation of the PSurface.
14 --
15
16
17
18uses XYZ from gp,
19 Pnt from gp,
20 Array2OfPnt from TColgp,
21 Array2OfReal from TColStd,
22 Box from Bnd,
23 HArray1OfBox from Bnd,
24 Array1OfReal from TColStd
25
26
27raises OutOfRange from Standard
28
29
30is
31
32 Create(Surface : ThePSurface;
33 nbdU,nbdV : Integer from Standard;
34 U1,V1,U2,V2 : Real from Standard)
35 -- Create a polyhedron on a sub-domain.
36 -- the numbre of samples on each parametric direction is given.
37 returns Polyhedron from IntCurveSurface;
38
39 Create(Surface : ThePSurface;
40 Upars, Vpars : Array1OfReal from TColStd)
41 -- Create a polyhedron on a sub-domain.
42 -- the numbre of samples on each parametric direction is given.
43 returns Polyhedron from IntCurveSurface;
44
45
46 Destroy(me: in out);
47 ---C++: alias ~
48
49 DeflectionOverEstimation
50 (me : in out; flec : Real from Standard)
51 is static;
52
53 DeflectionOnTriangle(me; Surface : ThePSurface;
54 Index : Integer from Standard)
55 returns Real from Standard
56 is static;
57
58 UMinSingularity(me : in out; Sing : Boolean from Standard)
59 is static;
60
61 UMaxSingularity(me : in out; Sing : Boolean from Standard)
62 is static;
63
64 VMinSingularity(me : in out; Sing : Boolean from Standard)
65 is static;
66
67 VMaxSingularity(me : in out; Sing : Boolean from Standard)
68 is static;
69
70 Size(me;nbdu, nbdv : in out Integer)
71 ---Purpose: get the size of the discretization.
72 is static;
73
74
75 Init(me:in out;
76 Surface : ThePSurface;
77 U1,V1,U2,V2 : Real from Standard)
78 -- Implementation function.
79 is static protected;
80
81 Init(me:in out;
82 Surface : ThePSurface;
83 Upars, Vpars : Array1OfReal from TColStd)
84 -- Implementation function.
85 is static protected;
86
87
88 NbTriangles (me)
89 ---Purpose: Give the number of triangles in this double array of
90 ---triangles (nbdu*nbdv*2).
91 returns Integer
92 is static;
93
94
95 Triangle(me; Index : in Integer;
96 P1,P2,P3 : out Integer)
97 ---Purpose: Give the 3 points of the triangle of addresse Index in
98 -- the double array of triangles.
99 raises OutOfRange from Standard
100 is static;
101
102
103
104 TriConnex (me;
105 Triang : in Integer;
106 Pivot,Pedge : in Integer;
107 TriCon : out Integer;
108 OtherP : out Integer)
109 ---Purpose: Give the addresse Tricon of the triangle connexe to the
110 -- triangle of address Triang by the edge Pivot Pedge and
111 -- the third point of this connexe triangle. When we are
112 -- on a free edge TriCon==0 but the function return the
113 -- value of the triangle in the other side of Pivot on
114 -- the free edge. Used to turn around a vertex.
115 returns Integer from Standard
116 raises OutOfRange from Standard
117 is static;
118
119
120 NbPoints (me)
121 ---Purpose: Give the number of point in the double array of
122 -- triangles ((nbdu+1)*(nbdv+1)).
123 returns Integer from Standard
124 is static;
125
126 Point (me : in out ;
127 thePnt : in Pnt from gp;
128 lig, col : in Integer;
129 U,V : in Real from Standard)
130 ---Purpose: Set the value of a field of the double array of
131 -- points.
132 raises OutOfRange from Standard
133 is static;
134
135
136 Point (me;
137 Index : in Integer;
138 U,V : out Real from Standard)
139 ---Purpose: Give the point of index i in the MaTriangle.
140 ---C++: return const &
141 returns Pnt from gp
142 raises OutOfRange from Standard
143 is static;
144
145 Point (me;
146 Index : in Integer)
147 ---Purpose: Give the point of index i in the MaTriangle.
148 ---C++: return const &
149 returns Pnt from gp
150 raises OutOfRange from Standard
151 is static;
152
153
154 Point (me;
155 Index : in Integer;
156 P : out Pnt from gp)
157 ---Purpose: Give the point of index i in the MaTriangle.
158 raises OutOfRange from Standard
159 is static;
160
161
162 Bounding (me)
163 ---Purpose: Give the bounding box of the MaTriangle.
164 ---C++: return const &
165 returns Box from Bnd
166 is static;
167
168 FillBounding (me : in out)
169 ---Purpose: Compute the array of boxes. The box <n> corresponding
170 -- to the triangle <n>.
171 is static;
172
173
174 ComponentsBounding
175 (me)
176 returns HArray1OfBox from Bnd
177 is static;
178 ---Purpose: Give the array of boxes. The box <n> corresponding
179 -- to the triangle <n>.
180 ---C++: return const &
181
182
183 DeflectionOverEstimation
184 (me)
185 returns Real from Standard
186 is static;
187
188 HasUMinSingularity
189 (me)
190 returns Boolean from Standard
191 is static;
192
193 HasUMaxSingularity
194 (me)
195 returns Boolean from Standard
196 is static;
197
198 HasVMinSingularity
199 (me)
200 returns Boolean from Standard
201 is static;
202
203 HasVMaxSingularity
204 (me)
205 returns Boolean from Standard
206 is static;
207
208 PlaneEquation (me;
209 Triang : in Integer from Standard;
210 NormalVector : out XYZ from gp;
211 PolarDistance : out Real from Standard)
212 raises OutOfRange from Standard
213 is static;
214 ---Purpose: Give the plane equation of the triangle of addresse Triang.
215
216
217 Contain (me;
218 Triang : in Integer from Standard;
219 ThePnt : in Pnt from gp)
220 returns Boolean
221 raises OutOfRange from Standard
222 is static;
223 ---Purpose: Give the plane equation of the triangle of addresse Triang.
224
225 Parameters(me; Index : Integer from Standard;
226 U,V : out Real from Standard)
227 raises OutOfRange from Standard;
228
229-- Modified by Sergey KHROMOV - Fri Dec 7 10:04:01 2001 Begin
230 IsOnBound(me; Index1: Integer from Standard;
231 Index2: Integer from Standard)
232 ---Purpose: This method returns true if the edge based on points with
233 -- indices Index1 and Index2 represents a boundary edge. It is
234 -- necessary to take into account the boundary deflection for
235 -- this edge.
236 returns Boolean from Standard;
237
238 GetBorderDeflection(me)
239 ---Purpose: This method returns a border deflection.
240 ---C++: inline
241 returns Real from Standard;
242
243 ComputeBorderDeflection(me; Surface : ThePSurface;
244 Parameter: Real from Standard;
245 PMin : Real from Standard;
246 PMax : Real from Standard;
247 isUIso : Boolean from Standard)
248 ---Purpose: This method computes and returns a deflection of isoline
249 -- of given parameter on Surface.
250 returns Real from Standard
251 is private;
252
253-- Modified by Sergey KHROMOV - Fri Dec 7 10:04:08 2001 End
254
255 -- Test needings :
256
257 Dump (me)
258 is static;
259
260 fields
261 nbdeltaU : Integer from Standard;
262 nbdeltaV : Integer from Standard;
263 TheBnd : Box from Bnd;
264 TheComponentsBnd : HArray1OfBox from Bnd;
265 TheDeflection : Real from Standard;
266 C_MyPnts : Address from Standard;
267 C_MyU : Address from Standard;
268 C_MyV : Address from Standard;
269 UMinSingular : Boolean from Standard;
270 UMaxSingular : Boolean from Standard;
271 VMinSingular : Boolean from Standard;
272 VMaxSingular : Boolean from Standard;
273-- Modified by Sergey KHROMOV - Fri Dec 7 12:00:42 2001 Begin
274 TheBorderDeflection: Real from Standard;
275 C_MyIsOnBounds : Address from Standard;
276-- Modified by Sergey KHROMOV - Fri Dec 7 12:00:43 2001 End
277end Polyhedron;