b311480e |
1 | -- Created on: 1993-12-02 |
2 | -- Created by: Jacques GOUSSARD |
3 | -- Copyright (c) 1993-1999 Matra Datavision |
973c2be1 |
4 | -- Copyright (c) 1999-2014 OPEN CASCADE SAS |
b311480e |
5 | -- |
973c2be1 |
6 | -- This file is part of Open CASCADE Technology software library. |
b311480e |
7 | -- |
d5f74e42 |
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 |
973c2be1 |
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. |
b311480e |
13 | -- |
973c2be1 |
14 | -- Alternatively, this file may be used under the terms of Open CASCADE |
15 | -- commercial license or contractual agreement. |
7fd59977 |
16 | |
17 | generic class CSWalking from Blend |
18 | (TheVertex as any; |
19 | TheArc as any; |
20 | TheSurface as any; |
21 | TheCurve as any; |
22 | TheVertexTool as any; |
23 | TheArcTool as any; |
24 | TheSurfaceTool as any; |
25 | TheCurveTool as any; |
26 | TheTopolTool as Transient; |
27 | TheBlendTool as any; |
04f7bd75 |
28 | ThePointOnRst as any; |
89f18cb9 |
29 | TheSeqPointOnRst as any; |
04f7bd75 |
30 | TheExtremity as any; |
31 | TheLine as Transient) |
7fd59977 |
32 | |
33 | ---Purpose: |
34 | |
35 | uses Point from Blend, |
36 | Status from Blend, |
37 | Vector from math, |
38 | Matrix from math, |
39 | Pnt from gp, |
40 | Pnt2d from gp, |
41 | Vec from gp, |
42 | Vec2d from gp, |
43 | HArray1OfReal from TColStd, |
44 | Transition from IntSurf, |
45 | CSFunction from Blend |
46 | -- CSFuncInv from Blend |
47 | |
48 | |
49 | raises NotDone from StdFail |
50 | |
51 | |
52 | is |
53 | |
54 | Create(Curv : TheCurve; Surf: TheSurface; Domain: TheTopolTool) |
55 | |
56 | returns CSWalking from Blend; |
57 | |
58 | |
59 | Perform(me: in out; F : in out CSFunction from Blend; |
60 | -- FInv : in out CSFuncInv from Blend; |
61 | Pdep : Real from Standard; |
62 | Pmax : Real from Standard; |
63 | MaxStep : Real from Standard; |
64 | TolGuide: Real from Standard; |
65 | Soldep : Vector from math; |
66 | Tolesp : Real from Standard; |
67 | Fleche : Real from Standard; |
68 | Appro : Boolean from Standard = Standard_False) |
69 | |
70 | |
71 | is static; |
72 | |
73 | |
74 | Complete(me: in out;F : in out CSFunction from Blend; |
75 | -- FInv : in out FuncInv from Blend; |
76 | Pmin : Real from Standard) |
77 | |
78 | returns Boolean from Standard |
79 | raises NotDone from StdFail |
80 | is static; |
81 | |
82 | |
83 | InternalPerform (me: in out;F : in out CSFunction from Blend; |
84 | -- FInv : in out CSFuncInv from Blend; |
85 | Sol : in out Vector from math; |
86 | Bound : Real from Standard) |
87 | |
88 | is static private; |
89 | |
90 | |
91 | IsDone(me) |
92 | |
93 | returns Boolean from Standard |
94 | ---C++: inline |
95 | |
96 | is static; |
97 | |
98 | |
99 | |
100 | |
101 | Line(me) |
102 | |
103 | returns TheLine |
104 | ---C++: inline |
105 | ---C++: return const& |
106 | |
107 | raises NotDone from StdFail |
108 | |
109 | is static; |
110 | |
111 | |
112 | |
113 | |
114 | |
115 | -- Recadre(me: in out; FInv : in out CSFuncInv from Blend; |
116 | -- Sol: Vector from math; |
117 | -- Solrst : out Vector from math; |
118 | -- Indexsol: out Integer from Standard; |
119 | -- IsVtx: out Boolean from Standard; |
120 | -- Vtx: out TheVertex) |
121 | |
122 | -- returns Boolean from Standard |
123 | -- is static private; |
124 | |
125 | |
126 | Transition(me:in out; A: TheArc; Param: Real from Standard; |
127 | TLine,TArc: out Transition from IntSurf) |
128 | |
129 | is static private; |
130 | |
131 | |
132 | MakeExtremity(me:in out; Extrem : in out TheExtremity; |
133 | Index : Integer from Standard; |
134 | Param : Real from Standard; |
135 | IsVtx : Boolean from Standard; |
136 | Vtx : TheVertex) |
137 | |
138 | is static private; |
139 | |
140 | |
141 | CheckDeflectionOnSurf(me: in out; Psurf : Pnt from gp; |
142 | Ponsurf : Pnt2d from gp; |
143 | Tgsurf : Vec from gp; |
144 | Tgonsurf: Vec2d from gp) |
145 | |
146 | |
147 | returns Status from Blend |
148 | is static private; |
149 | |
150 | |
151 | CheckDeflectionOnCurv(me: in out; Pcurv : Pnt from gp; |
152 | Poncurv : Real from Standard; |
153 | Tgcurv : Vec from gp) |
154 | |
155 | |
156 | returns Status from Blend |
157 | is static private; |
158 | |
159 | |
160 | TestArret(me: in out; F : in out CSFunction from Blend; |
161 | Sol : Vector from math; |
162 | TestDeflection : Boolean from Standard; |
163 | State: Status from Blend) |
164 | |
165 | returns Status from Blend |
166 | is static private; |
167 | |
168 | |
169 | |
170 | fields |
171 | |
172 | done : Boolean from Standard; |
173 | line : TheLine; |
174 | surf : TheSurface; |
175 | curv : TheCurve; |
176 | domain : TheTopolTool; |
177 | |
178 | tolesp : Real from Standard; |
179 | tolgui : Real from Standard; |
180 | pasmax : Real from Standard; |
181 | fleche : Real from Standard; |
182 | param : Real from Standard; |
183 | firstparam : Real from Standard; |
184 | firstsol : HArray1OfReal from TColStd; |
185 | previousP : Point from Blend; |
186 | rebrou : Boolean from Standard; |
187 | iscomplete : Boolean from Standard; |
188 | comptra : Boolean from Standard; |
189 | sens : Real from Standard; |
190 | |
191 | end CSWalking; |