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