1 -- File: Adaptor3d_TopolTool.cdl
2 -- Created: Thu Mar 24 12:02:07 1994
5 ---Copyright: Matra Datavision 1994
8 class TopolTool from Adaptor3d
10 ---Purpose: This class provides a default topological tool,
11 -- based on the Umin,Vmin,Umax,Vmax of an HSurface
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,...
19 inherits TShared from MMgt
21 uses HSurface from Adaptor3d,
22 HCurve2d from Adaptor2d,
23 HVertex from Adaptor3d,
24 HLine2d from Adaptor2d,
28 Orientation from TopAbs,
29 HArray1OfReal from TColStd,
30 Array1OfReal from TColStd
32 raises DomainError from Standard
38 returns mutable TopolTool from Adaptor3d;
41 Create(Surface: HSurface from Adaptor3d)
43 returns mutable TopolTool from Adaptor3d;
46 Initialize(me: mutable)
49 Initialize(me: mutable; S: HSurface from Adaptor3d)
53 Initialize(me: mutable; Curve: HCurve2d from Adaptor2d)
67 returns Boolean from Standard
73 returns mutable HCurve2d from Adaptor2d
74 raises DomainError from Standard
85 InitVertexIterator(me: mutable)
89 MoreVertex(me: mutable)
91 returns Boolean from Standard
97 returns mutable HVertex from Adaptor3d
98 raises DomainError from Standard
102 NextVertex(me: mutable)
108 Classify(me: mutable;
110 Tol: Real from Standard;
111 ReacdreOnPeriodic: Boolean from Standard = Standard_True)
113 returns State from TopAbs
116 IsThePointOn(me: mutable;
118 Tol: Real from Standard;
119 ReacdreOnPeriodic: Boolean from Standard = Standard_True)
121 returns Boolean from Standard
125 Orientation(me: mutable; C: HCurve2d from Adaptor2d)
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.
133 returns Orientation from TopAbs
137 Orientation(me: mutable; V: HVertex from Adaptor3d)
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.
144 returns Orientation from TopAbs
148 Identical(me: mutable; V1,V2: HVertex from Adaptor3d)
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.
154 returns Boolean from Standard
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
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
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
179 Pnt(me; V: HVertex from Adaptor3d)
180 ---Purpose: returns 3d point of the vertex V
182 raises DomainError from Standard
186 --- sample points tools
188 ComputeSamplePoints(me: mutable)
192 NbSamplesU(me: mutable)
193 ---Purpose: compute the sample-points for the intersections algorithms
194 returns Integer from Standard
197 NbSamplesV(me: mutable)
198 ---Purpose: compute the sample-points for the intersections algorithms
199 returns Integer from Standard
202 NbSamples(me: mutable)
203 ---Purpose: compute the sample-points for the intersections algorithms
204 returns Integer from Standard
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
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
215 SamplePoint(me: mutable; Index: Integer from Standard;
216 P2d : out Pnt2d from gp;
217 P3d : out Pnt from gp)
220 DomainIsInfinite(me: mutable)
221 returns Boolean from Standard
224 --modified by NIZNHY-PKV Mon Apr 23 15:54:51 2001 f
226 returns Address from Standard
228 --modified by NIZNHY-PKV Mon Apr 23 15:54:46 2001 t
230 --modified by NIZNHY-IFV Mon Sep 16 16:01:38 2005 f
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.
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.
248 IsUniformSampling(me)
249 ---Purpose: Returns true if provide uniform sampling of points.
250 returns Boolean from Standard
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];
266 myS : HSurface from Adaptor3d is protected;
267 myNbSamplesU : Integer from Standard is protected;
268 myNbSamplesV : Integer from Standard is protected;
270 myUPars : HArray1OfReal from TColStd is protected;
271 myVPars : HArray1OfReal from TColStd is protected;