0024166: Unable to create file with "Save" menu of voxeldemo Qt sample
[occt.git] / src / Adaptor3d / Adaptor3d_TopolTool.cdl
CommitLineData
b311480e 1-- Created on: 1994-03-24
2-- Created by: model
3-- Copyright (c) 1994-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
22
23class TopolTool from Adaptor3d
24
25 ---Purpose: This class provides a default topological tool,
26 -- based on the Umin,Vmin,Umax,Vmax of an HSurface
27 -- from Adaptor3d.
28 -- All methods and fields may be redefined when
29 -- inheriting from this class.
30 -- This class is used to instantiate algorithmes
31 -- as Intersection, outlines,...
32
33
34inherits TShared from MMgt
35
36uses HSurface from Adaptor3d,
37 HCurve2d from Adaptor2d,
38 HVertex from Adaptor3d,
39 HLine2d from Adaptor2d,
40 Pnt2d from gp,
41 Pnt from gp,
42 State from TopAbs,
43 Orientation from TopAbs,
44 HArray1OfReal from TColStd,
45 Array1OfReal from TColStd
46
47raises DomainError from Standard
48
49is
50
51 Create
52
53 returns mutable TopolTool from Adaptor3d;
54
55
56 Create(Surface: HSurface from Adaptor3d)
57
58 returns mutable TopolTool from Adaptor3d;
59
60
61 Initialize(me: mutable)
62 is virtual;
63
64 Initialize(me: mutable; S: HSurface from Adaptor3d)
65 is virtual;
66
67
68 Initialize(me: mutable; Curve: HCurve2d from Adaptor2d)
69 is virtual;
70
71
72
73--- Arc iterator
74
75
76 Init(me: mutable)
77 is virtual;
78
79
80 More(me: mutable)
81
82 returns Boolean from Standard
83 is virtual;
84
85
86 Value(me: mutable)
87
88 returns mutable HCurve2d from Adaptor2d
89 raises DomainError from Standard
90 is virtual;
91
92
93 Next(me: mutable)
94 is virtual;
95
96
97--- Vertex iterator
98
99
100 InitVertexIterator(me: mutable)
101 is virtual;
102
103
104 MoreVertex(me: mutable)
105
106 returns Boolean from Standard
107 is virtual;
108
109
110 Vertex(me: mutable)
111
112 returns mutable HVertex from Adaptor3d
113 raises DomainError from Standard
114 is virtual;
115
116
117 NextVertex(me: mutable)
118 is virtual;
119
120
121--- Other methods
122
123 Classify(me: mutable;
124 P: Pnt2d from gp;
125 Tol: Real from Standard;
126 ReacdreOnPeriodic: Boolean from Standard = Standard_True)
127
128 returns State from TopAbs
129 is virtual;
130
131 IsThePointOn(me: mutable;
132 P: Pnt2d from gp;
133 Tol: Real from Standard;
134 ReacdreOnPeriodic: Boolean from Standard = Standard_True)
135
136 returns Boolean from Standard
137 is virtual;
138
139
140 Orientation(me: mutable; C: HCurve2d from Adaptor2d)
141
142 ---Purpose: If the function returns the orientation of the arc.
143 -- If the orientation is FORWARD or REVERSED, the arc is
144 -- a "real" limit of the surface.
145 -- If the orientation is INTERNAL or EXTERNAL, the arc is
146 -- considered as an arc on the surface.
147
148 returns Orientation from TopAbs
149 is virtual;
150
151
152 Orientation(me: mutable; V: HVertex from Adaptor3d)
153
154 ---Purpose: Returns the orientation of the vertex V.
155 -- The vertex has been found with an exploration on
156 -- a given arc. The orientation is the orientation
157 -- of the vertex on this arc.
158
159 returns Orientation from TopAbs
160 is virtual;
161
162
163 Identical(me: mutable; V1,V2: HVertex from Adaptor3d)
164
165 ---Purpose: Returns True if the vertices V1 and V2 are identical.
166 -- This method does not take the orientation of the
167 -- vertices in account.
168
169 returns Boolean from Standard
170 is virtual;
171
172
173 Has3d(me)
174 ---Purpose: answers if arcs and vertices may have 3d representations,
175 -- so that we could use Tol3d and Pnt methods.
176 returns Boolean from Standard
177 is virtual;
178
179
180 Tol3d(me; C: HCurve2d from Adaptor2d)
181 ---Purpose: returns 3d tolerance of the arc C
182 returns Real from Standard
183 raises DomainError from Standard
184 is virtual;
185
186
187 Tol3d(me; V: HVertex from Adaptor3d)
188 ---Purpose: returns 3d tolerance of the vertex V
189 returns Real from Standard
190 raises DomainError from Standard
191 is virtual;
192
193
194 Pnt(me; V: HVertex from Adaptor3d)
195 ---Purpose: returns 3d point of the vertex V
196 returns Pnt from gp
197 raises DomainError from Standard
198 is virtual;
199
200
201--- sample points tools
202
203 ComputeSamplePoints(me: mutable)
204 is virtual;
205
206
207 NbSamplesU(me: mutable)
208 ---Purpose: compute the sample-points for the intersections algorithms
209 returns Integer from Standard
210 is virtual;
211
212 NbSamplesV(me: mutable)
213 ---Purpose: compute the sample-points for the intersections algorithms
214 returns Integer from Standard
215 is virtual;
216
217 NbSamples(me: mutable)
218 ---Purpose: compute the sample-points for the intersections algorithms
219 returns Integer from Standard
220 is virtual;
221
222 UParameters(me; theArray: out Array1OfReal from TColStd);
223 ---Purpose: return the set of U parameters on the surface
224 -- obtained by the method SamplePnts
225
226 VParameters(me; theArray: out Array1OfReal from TColStd);
227 ---Purpose: return the set of V parameters on the surface
228 -- obtained by the method SamplePnts
229
230 SamplePoint(me: mutable; Index: Integer from Standard;
231 P2d : out Pnt2d from gp;
232 P3d : out Pnt from gp)
233 is virtual;
234
235 DomainIsInfinite(me: mutable)
236 returns Boolean from Standard
237 is virtual;
238
239 --modified by NIZNHY-PKV Mon Apr 23 15:54:51 2001 f
240 Edge (me)
241 returns Address from Standard
242 is virtual;
243 --modified by NIZNHY-PKV Mon Apr 23 15:54:46 2001 t
244
245 --modified by NIZNHY-IFV Mon Sep 16 16:01:38 2005 f
246
247 SamplePnts(me: mutable; theDefl: Real from Standard; theNUmin, theNVmin: Integer from Standard)
248 ---Purpose: compute the sample-points for the intersections algorithms
249 -- by adaptive algorithm for BSpline surfaces. For other surfaces algorithm
250 -- is the same as in method ComputeSamplePoints(), but only fill arrays of U
251 -- and V sample parameters;
252 -- theDefl is a requred deflection
253 -- theNUmin, theNVmin are minimal nb points for U and V.
254 is virtual;
255
256 BSplSamplePnts(me: mutable; theDefl: Real from Standard; theNUmin, theNVmin: Integer from Standard)
257 ---Purpose: compute the sample-points for the intersections algorithms
258 -- by adaptive algorithm for BSpline surfaces - is used in SamplePnts
259 -- theDefl is a requred deflection
260 -- theNUmin, theNVmin are minimal nb points for U and V.
261 is virtual;
262
263 IsUniformSampling(me)
264 ---Purpose: Returns true if provide uniform sampling of points.
265 returns Boolean from Standard
266 is virtual;
267
268fields
269
270 nbRestr : Integer from Standard;
271 idRestr : Integer from Standard;
272 Uinf : Real from Standard;
273 Usup : Real from Standard;
274 Vinf : Real from Standard;
275 Vsup : Real from Standard;
276 myRestr : HLine2d from Adaptor2d [4];
277 nbVtx : Integer from Standard;
278 idVtx : Integer from Standard;
279 myVtx : HVertex from Adaptor3d [2];
280
281 myS : HSurface from Adaptor3d is protected;
282 myNbSamplesU : Integer from Standard is protected;
283 myNbSamplesV : Integer from Standard is protected;
284
285 myUPars : HArray1OfReal from TColStd is protected;
286 myVPars : HArray1OfReal from TColStd is protected;
287
288end TopolTool;