1 -- Created on: 1993-12-02
2 -- Created by: Jacques GOUSSARD
3 -- Copyright (c) 1993-1999 Matra Datavision
4 -- Copyright (c) 1999-2014 OPEN CASCADE SAS
6 -- This file is part of Open CASCADE Technology software library.
8 -- This library is free software; you can redistribute it and/or modify it under
9 -- the terms of the GNU Lesser General Public License version 2.1 as published
10 -- by the Free Software Foundation, with special exception defined in the file
11 -- OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
12 -- distribution for complete text of the license and disclaimer of any warranty.
14 -- Alternatively, this file may be used under the terms of Open CASCADE
15 -- commercial license or contractual agreement.
17 generic class Walking from Blend
24 TheSurfaceTool as any;
26 TheTopolTool as Transient;
29 TheSeqPointOnRst as any;
36 uses Point from Blend,
37 SequenceOfPoint from Blend,
45 Transition from IntSurf,
52 raises NotDone from StdFail
57 Create(Surf1,Surf2: TheSurface; Domain1,Domain2: TheTopolTool)
59 returns Walking from Blend;
62 SetDomainsToRecadre(me : in out; RecDomain1, RecDomain2: TheTopolTool);
63 ---Purpose: To define different domains for control and clipping.
65 AddSingularPoint(me : in out; P : Point from Blend);
66 ---Purpose: To define singular points computed before walking.
68 Perform(me: in out; F : in out Function from Blend;
69 FInv : in out FuncInv from Blend;
70 HGuide : HElSpine from ChFiDS;
71 Pdep : Real from Standard;
72 Pmax : Real from Standard;
73 MaxStep : Real from Standard;
74 TolGuide: Real from Standard;
75 Soldep : Vector from math;
76 Tolesp : Real from Standard;
77 Fleche : Real from Standard;
78 Appro : Boolean from Standard = Standard_False)
84 PerformFirstSection(me : in out;
85 F : in out Function from Blend;
86 Pdep : Real from Standard;
87 ParDep : in out Vector from math;
88 Tolesp : Real from Standard;
89 TolGuide : Real from Standard;
90 Pos1, Pos2 : out State from TopAbs)
91 returns Boolean from Standard
95 PerformFirstSection(me: in out;
96 F : in out Function from Blend;
97 FInv : in out FuncInv from Blend;
98 Pdep : Real from Standard;
99 Pmax : Real from Standard;
100 ParDep : Vector from math;
101 Tolesp : Real from Standard;
102 TolGuide : Real from Standard;
103 RecOnS1 : Boolean from Standard;
104 RecOnS2 : Boolean from Standard;
105 Psol : out Real from Standard;
106 ParSol : out Vector from math)
108 returns Boolean from Standard
112 Continu(me: in out;F : in out Function from Blend;
113 FInv : in out FuncInv from Blend;
114 P : Real from Standard)
116 returns Boolean from Standard
117 raises NotDone from StdFail
121 Continu(me: in out;F : in out Function from Blend;
122 FInv : in out FuncInv from Blend;
123 P : Real from Standard;
124 OnS1 : Boolean from Standard)
126 returns Boolean from Standard
127 raises NotDone from StdFail
131 Complete(me: in out;F : in out Function from Blend;
132 FInv : in out FuncInv from Blend;
133 Pmin : Real from Standard)
135 returns Boolean from Standard
136 raises NotDone from StdFail
140 ClassificationOnS1(me : in out;
141 C : Boolean from Standard)
145 ClassificationOnS2(me : in out;
146 C : Boolean from Standard)
151 C : Boolean from Standard)
156 C : Boolean from Standard)
159 TwistOnS1(me) returns Boolean from Standard
163 TwistOnS2(me) returns Boolean from Standard
167 InternalPerform (me: in out;F : in out Function from Blend;
168 FInv : in out FuncInv from Blend;
169 HGuide : HElSpine from ChFiDS;
170 Bound : Real from Standard)
177 returns Boolean from Standard
189 ---C++: return const&
191 raises NotDone from StdFail
195 ArcToRecadre(me: in out;
196 OnFirst: Boolean from Standard;
197 Sol: Vector from math;
199 lpt2d : out Pnt2d from gp;
200 pt2d : out Pnt2d from gp;
202 returns Integer from Standard
206 Recadre(me: in out; FInv : in out FuncInv from Blend;
207 OnFirst: Boolean from Standard;
208 Sol: Vector from math;
209 Solrst : out Vector from math;
210 Indexsol: out Integer from Standard;
211 IsVtx: out Boolean from Standard;
214 returns Boolean from Standard
218 Transition(me:in out; OnFirst: Boolean from Standard;
219 A: TheArc; Param: Real from Standard;
220 TLine,TArc: out Transition from IntSurf)
225 MakeExtremity(me:in out; Extrem : in out TheExtremity;
226 OnFirst: Boolean from Standard;
227 Index : Integer from Standard;
228 Param : Real from Standard;
229 IsVtx : Boolean from Standard;
234 MakeSingularExtremity(me:in out;
235 Extrem : in out TheExtremity;
236 OnFirst: Boolean from Standard;
242 CheckDeflection(me: in out; OnFirst : Boolean from Standard;
243 CurPoint : Point from Blend)
244 returns Status from Blend
248 TestArret(me: in out; F : in out Function from Blend;
249 State: Status from Blend;
250 TestDeflection : Boolean = Standard_True;
251 TestSolution : Boolean = Standard_True;
252 TestLengthStep : Boolean = Standard_False)
253 returns Status from Blend
259 previousP : Point from Blend;
261 sol : Vector from math;
262 jalons : SequenceOfPoint from Blend;
265 domain1 : TheTopolTool;
266 domain2 : TheTopolTool;
267 recdomain1 : TheTopolTool;
268 recdomain2 : TheTopolTool;
270 tolesp : Real from Standard;
271 tolgui : Real from Standard;
272 pasmax : Real from Standard;
273 fleche : Real from Standard;
274 param : Real from Standard;
275 sens : Real from Standard;
277 done : Boolean from Standard;
278 rebrou : Boolean from Standard;
279 iscomplete : Boolean from Standard;
280 comptra : Boolean from Standard;
281 clasonS1 : Boolean from Standard;
282 clasonS2 : Boolean from Standard;
283 check2d : Boolean from Standard;
284 check : Boolean from Standard;
285 twistflag1 : Boolean from Standard;
286 twistflag2 : Boolean from Standard;