0024624: Lost word in license statement in source files
[occt.git] / src / BRepBlend / BRepBlend_RstRstLineBuilder.cdl
CommitLineData
b311480e 1-- Created on: 1997-01-23
2-- Created by: Laurent BOURESCHE
3-- Copyright (c) 1997-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
17class RstRstLineBuilder from BRepBlend
18
19 ---Purpose: This class processes the data resulting from
20 -- Blend_CSWalking but it takes in consideration the Surface
21 -- supporting the curve to detect the breakpoint.
22 --
23 -- As a result, the criteria of distribution of
24 -- points on the line become more flexible because it
25 -- should calculate values approached
26 -- by an approximation of continued functions based on the
27 -- Blend_RstRstFunction.
28 --
29 -- Thus this pseudo path necessitates 3 criteria of
30 -- regrouping :
31 --
32 -- 1) exit of the domain of the curve
33 --
34 -- 2) exit of the domain of the surface
35 --
36 -- 3) stall as there is a solution of problem
37 -- surf/surf within the domain of the surface
38 -- of support of the restriction.
39
40uses Point from Blend,
41 Status from Blend,
42 DecrochStatus from Blend,
43 RstRstFunction from Blend,
44 FuncInv from Blend,
45 SurfCurvFuncInv from Blend,
46 CurvPointFuncInv from Blend,
47 Vector from math,
48 Matrix from math,
49 State from TopAbs,
50 Pnt from gp,
51 Pnt2d from gp,
52 Vec from gp,
53 Vec2d from gp,
54 HArray1OfReal from TColStd,
55 Transition from IntSurf,
56 HVertex from Adaptor3d,
57 HSurface from Adaptor3d,
58 HCurve2d from Adaptor2d,
59 TopolTool from Adaptor3d,
60 Line from BRepBlend,
61 Extremity from BRepBlend
62
63is
64
65 Create(Surf1 : HSurface from Adaptor3d;
66 Rst1 : HCurve2d from Adaptor2d;
67 Domain1 : TopolTool from Adaptor3d;
68 Surf2 : HSurface from Adaptor3d;
69 Rst2 : HCurve2d from Adaptor2d;
70 Domain2 : TopolTool from Adaptor3d)
71 returns RstRstLineBuilder from BRepBlend;
72
73 Perform(me : in out;
74 Func : in out RstRstFunction from Blend;
75 Finv1 : in out SurfCurvFuncInv from Blend;
76 FinvP1 : in out CurvPointFuncInv from Blend;
77 Finv2 : in out SurfCurvFuncInv from Blend;
78 FinvP2 : in out CurvPointFuncInv from Blend;
79 Pdep : Real from Standard;
80 Pmax : Real from Standard;
81 MaxStep : Real from Standard;
82 TolGuide : Real from Standard;
83 Soldep : Vector from math;
84 Tolesp : Real from Standard;
85 Fleche : Real from Standard;
86 Appro : Boolean from Standard = Standard_False)
87 is static;
88
89 PerformFirstSection(me : in out;
90 Func : in out RstRstFunction from Blend;
91 Finv1 : in out SurfCurvFuncInv from Blend;
92 FinvP1 : in out CurvPointFuncInv from Blend;
93 Finv2 : in out SurfCurvFuncInv from Blend;
94 FinvP2 : in out CurvPointFuncInv from Blend;
95 Pdep : Real from Standard;
96 Pmax : Real from Standard;
97 Soldep : Vector from math;
98 Tolesp : Real from Standard;
99 TolGuide : Real from Standard;
100 RecRst1 : Boolean from Standard;
101 RecP1 : Boolean from Standard;
102 RecRst2 : Boolean from Standard;
103 RecP2 : Boolean from Standard;
104 Psol : out Real from Standard;
105 ParSol : out Vector from math)
106 returns Boolean from Standard
107 is static;
108
109 Complete(me : in out;
110 Func : in out RstRstFunction from Blend;
111 Finv1 : in out SurfCurvFuncInv from Blend;
112 FinvP1 : in out CurvPointFuncInv from Blend;
113 Finv2 : in out SurfCurvFuncInv from Blend;
114 FinvP2 : in out CurvPointFuncInv from Blend;
115 Pmin : Real from Standard)
116
117 returns Boolean from Standard
118 is static;
119
120 InternalPerform (me : in out;
121 Func : in out RstRstFunction from Blend;
122 Finv1 : in out SurfCurvFuncInv from Blend;
123 FinvP1 : in out CurvPointFuncInv from Blend;
124 Finv2 : in out SurfCurvFuncInv from Blend;
125 FinvP2 : in out CurvPointFuncInv from Blend;
126 Bound : Real from Standard)
127 is static private;
128
129 Recadre1(me : in out;
130 Func : in out RstRstFunction from Blend;
131 Finv : in out SurfCurvFuncInv from Blend;
132 Solinv : out Vector from math;
133 IsVtx : out Boolean from Standard;
134 Vtx : out HVertex from Adaptor3d)
135 returns Boolean from Standard
136 is static private;
137
138 Recadre2(me : in out;
139 Func : in out RstRstFunction from Blend;
140 Finv : in out SurfCurvFuncInv from Blend;
141 Solinv : out Vector from math;
142 IsVtx : out Boolean from Standard;
143 Vtx : out HVertex from Adaptor3d)
144 returns Boolean from Standard
145 is static private;
146
147 Recadre1(me : in out;
148 FinvP : in out CurvPointFuncInv from Blend;
149 Solinv : out Vector from math;
150 IsVtx : out Boolean from Standard;
151 Vtx : out HVertex from Adaptor3d)
152 returns Boolean from Standard
153 is static private;
154
155 Recadre2(me : in out;
156 FinvP : in out CurvPointFuncInv from Blend;
157 Solinv : out Vector from math;
158 IsVtx : out Boolean from Standard;
159 Vtx : out HVertex from Adaptor3d)
160 returns Boolean from Standard
161 is static private;
162
163 IsDone(me)
164 returns Boolean from Standard
165 ---C++: inline
166 is static;
167
168 Line(me)
169 returns Line from BRepBlend
170 ---C++: inline
171 ---C++: return const&
172 is static;
173
174 Decroch1Start(me)
175 returns Boolean from Standard
176 ---C++: inline
177 is static;
178
179 Decroch1End(me)
180 returns Boolean from Standard
181 ---C++: inline
182 is static;
183
184 Decroch2Start(me)
185 returns Boolean from Standard
186 ---C++: inline
187 is static;
188
189 Decroch2End(me)
190 returns Boolean from Standard
191 ---C++: inline
192 is static;
193
194 Transition(me : in out;
195 OnFirst : Boolean from Standard;
196 Arc : HCurve2d from Adaptor2d;
197 Param : Real from Standard;
198 TLine,TArc : out Transition from IntSurf)
199 is static private;
200
201 MakeExtremity(me : in out;
202 Extrem : in out Extremity from BRepBlend;
203 OnFirst : Boolean from Standard;
204 Arc : HCurve2d from Adaptor2d;
205 Param : Real from Standard;
206 IsVtx : Boolean from Standard;
207 Vtx : HVertex from Adaptor3d)
208 is static private;
209
210 CheckDeflectionOnRst1(me : in out;
211 CurPoint : Point from Blend)
212 returns Status from Blend
213 is static private;
214
215 CheckDeflectionOnRst2(me : in out;
216 CurPoint : Point from Blend)
217 returns Status from Blend
218 is static private;
219
220 TestArret(me : in out;
221 Func : in out RstRstFunction from Blend;
222 TestDeflection : Boolean from Standard;
223 State : Status from Blend)
224 returns Status from Blend
225 is static private;
226
227 CheckInside(me : in out;
228 Func : in out RstRstFunction from Blend;
229 SituOnC1 : out State from TopAbs;
230 SituOnC2 : out State from TopAbs;
231 Decroch : out DecrochStatus from Blend)
232 returns Boolean from Standard
233 is static private;
234
235fields
236
237 done : Boolean from Standard;
238 line : Line from BRepBlend;
239 sol : Vector from math;
240 surf1 : HSurface from Adaptor3d;
241 domain1 : TopolTool from Adaptor3d;
242 surf2 : HSurface from Adaptor3d;
243 domain2 : TopolTool from Adaptor3d;
244 rst1 : HCurve2d from Adaptor2d;
245 rst2 : HCurve2d from Adaptor2d;
246
247 tolesp : Real from Standard;
248 tolgui : Real from Standard;
249 pasmax : Real from Standard;
250 fleche : Real from Standard;
251 param : Real from Standard;
252 previousP : Point from Blend;
253 rebrou : Boolean from Standard;
254 iscomplete : Boolean from Standard;
255 comptra : Boolean from Standard;
256 sens : Real from Standard;
257 decrochdeb : DecrochStatus from Blend;
258 decrochfin : DecrochStatus from Blend;
259
260end RstRstLineBuilder from BRepBlend;
261
262
263
264