0023024: Update headers of OCCT 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
4-- Copyright (c) 1999-2012 OPEN CASCADE SAS
5--
6-- The content of this file is subject to the Open CASCADE Technology Public
7-- License Version 6.5 (the "License"). You may not use the content of this file
8-- except in compliance with the License. Please obtain a copy of the License
9-- at http://www.opencascade.org and read it completely before using this file.
10--
11-- The Initial Developer of the Original Code is Open CASCADE S.A.S., having its
12-- main offices at: 1, place des Freres Montgolfier, 78280 Guyancourt, France.
13--
14-- The Original Code and all software distributed under the License is
15-- distributed on an "AS IS" basis, without warranty of any kind, and the
16-- Initial Developer hereby disclaims all such warranties, including without
17-- limitation, any warranties of merchantability, fitness for a particular
18-- purpose or non-infringement. Please see the License for the specific terms
19-- and conditions governing the rights and limitations under the License.
20
7fd59977 21
22class RstRstLineBuilder from BRepBlend
23
24 ---Purpose: This class processes the data resulting from
25 -- Blend_CSWalking but it takes in consideration the Surface
26 -- supporting the curve to detect the breakpoint.
27 --
28 -- As a result, the criteria of distribution of
29 -- points on the line become more flexible because it
30 -- should calculate values approached
31 -- by an approximation of continued functions based on the
32 -- Blend_RstRstFunction.
33 --
34 -- Thus this pseudo path necessitates 3 criteria of
35 -- regrouping :
36 --
37 -- 1) exit of the domain of the curve
38 --
39 -- 2) exit of the domain of the surface
40 --
41 -- 3) stall as there is a solution of problem
42 -- surf/surf within the domain of the surface
43 -- of support of the restriction.
44
45uses Point from Blend,
46 Status from Blend,
47 DecrochStatus from Blend,
48 RstRstFunction from Blend,
49 FuncInv from Blend,
50 SurfCurvFuncInv from Blend,
51 CurvPointFuncInv from Blend,
52 Vector from math,
53 Matrix from math,
54 State from TopAbs,
55 Pnt from gp,
56 Pnt2d from gp,
57 Vec from gp,
58 Vec2d from gp,
59 HArray1OfReal from TColStd,
60 Transition from IntSurf,
61 HVertex from Adaptor3d,
62 HSurface from Adaptor3d,
63 HCurve2d from Adaptor2d,
64 TopolTool from Adaptor3d,
65 Line from BRepBlend,
66 Extremity from BRepBlend
67
68is
69
70 Create(Surf1 : HSurface from Adaptor3d;
71 Rst1 : HCurve2d from Adaptor2d;
72 Domain1 : TopolTool from Adaptor3d;
73 Surf2 : HSurface from Adaptor3d;
74 Rst2 : HCurve2d from Adaptor2d;
75 Domain2 : TopolTool from Adaptor3d)
76 returns RstRstLineBuilder from BRepBlend;
77
78 Perform(me : in out;
79 Func : in out RstRstFunction from Blend;
80 Finv1 : in out SurfCurvFuncInv from Blend;
81 FinvP1 : in out CurvPointFuncInv from Blend;
82 Finv2 : in out SurfCurvFuncInv from Blend;
83 FinvP2 : in out CurvPointFuncInv from Blend;
84 Pdep : Real from Standard;
85 Pmax : Real from Standard;
86 MaxStep : Real from Standard;
87 TolGuide : Real from Standard;
88 Soldep : Vector from math;
89 Tolesp : Real from Standard;
90 Fleche : Real from Standard;
91 Appro : Boolean from Standard = Standard_False)
92 is static;
93
94 PerformFirstSection(me : in out;
95 Func : in out RstRstFunction from Blend;
96 Finv1 : in out SurfCurvFuncInv from Blend;
97 FinvP1 : in out CurvPointFuncInv from Blend;
98 Finv2 : in out SurfCurvFuncInv from Blend;
99 FinvP2 : in out CurvPointFuncInv from Blend;
100 Pdep : Real from Standard;
101 Pmax : Real from Standard;
102 Soldep : Vector from math;
103 Tolesp : Real from Standard;
104 TolGuide : Real from Standard;
105 RecRst1 : Boolean from Standard;
106 RecP1 : Boolean from Standard;
107 RecRst2 : Boolean from Standard;
108 RecP2 : Boolean from Standard;
109 Psol : out Real from Standard;
110 ParSol : out Vector from math)
111 returns Boolean from Standard
112 is static;
113
114 Complete(me : in out;
115 Func : in out RstRstFunction from Blend;
116 Finv1 : in out SurfCurvFuncInv from Blend;
117 FinvP1 : in out CurvPointFuncInv from Blend;
118 Finv2 : in out SurfCurvFuncInv from Blend;
119 FinvP2 : in out CurvPointFuncInv from Blend;
120 Pmin : Real from Standard)
121
122 returns Boolean from Standard
123 is static;
124
125 InternalPerform (me : in out;
126 Func : in out RstRstFunction from Blend;
127 Finv1 : in out SurfCurvFuncInv from Blend;
128 FinvP1 : in out CurvPointFuncInv from Blend;
129 Finv2 : in out SurfCurvFuncInv from Blend;
130 FinvP2 : in out CurvPointFuncInv from Blend;
131 Bound : Real from Standard)
132 is static private;
133
134 Recadre1(me : in out;
135 Func : in out RstRstFunction from Blend;
136 Finv : in out SurfCurvFuncInv from Blend;
137 Solinv : out Vector from math;
138 IsVtx : out Boolean from Standard;
139 Vtx : out HVertex from Adaptor3d)
140 returns Boolean from Standard
141 is static private;
142
143 Recadre2(me : in out;
144 Func : in out RstRstFunction from Blend;
145 Finv : in out SurfCurvFuncInv from Blend;
146 Solinv : out Vector from math;
147 IsVtx : out Boolean from Standard;
148 Vtx : out HVertex from Adaptor3d)
149 returns Boolean from Standard
150 is static private;
151
152 Recadre1(me : in out;
153 FinvP : in out CurvPointFuncInv from Blend;
154 Solinv : out Vector from math;
155 IsVtx : out Boolean from Standard;
156 Vtx : out HVertex from Adaptor3d)
157 returns Boolean from Standard
158 is static private;
159
160 Recadre2(me : in out;
161 FinvP : in out CurvPointFuncInv from Blend;
162 Solinv : out Vector from math;
163 IsVtx : out Boolean from Standard;
164 Vtx : out HVertex from Adaptor3d)
165 returns Boolean from Standard
166 is static private;
167
168 IsDone(me)
169 returns Boolean from Standard
170 ---C++: inline
171 is static;
172
173 Line(me)
174 returns Line from BRepBlend
175 ---C++: inline
176 ---C++: return const&
177 is static;
178
179 Decroch1Start(me)
180 returns Boolean from Standard
181 ---C++: inline
182 is static;
183
184 Decroch1End(me)
185 returns Boolean from Standard
186 ---C++: inline
187 is static;
188
189 Decroch2Start(me)
190 returns Boolean from Standard
191 ---C++: inline
192 is static;
193
194 Decroch2End(me)
195 returns Boolean from Standard
196 ---C++: inline
197 is static;
198
199 Transition(me : in out;
200 OnFirst : Boolean from Standard;
201 Arc : HCurve2d from Adaptor2d;
202 Param : Real from Standard;
203 TLine,TArc : out Transition from IntSurf)
204 is static private;
205
206 MakeExtremity(me : in out;
207 Extrem : in out Extremity from BRepBlend;
208 OnFirst : Boolean from Standard;
209 Arc : HCurve2d from Adaptor2d;
210 Param : Real from Standard;
211 IsVtx : Boolean from Standard;
212 Vtx : HVertex from Adaptor3d)
213 is static private;
214
215 CheckDeflectionOnRst1(me : in out;
216 CurPoint : Point from Blend)
217 returns Status from Blend
218 is static private;
219
220 CheckDeflectionOnRst2(me : in out;
221 CurPoint : Point from Blend)
222 returns Status from Blend
223 is static private;
224
225 TestArret(me : in out;
226 Func : in out RstRstFunction from Blend;
227 TestDeflection : Boolean from Standard;
228 State : Status from Blend)
229 returns Status from Blend
230 is static private;
231
232 CheckInside(me : in out;
233 Func : in out RstRstFunction from Blend;
234 SituOnC1 : out State from TopAbs;
235 SituOnC2 : out State from TopAbs;
236 Decroch : out DecrochStatus from Blend)
237 returns Boolean from Standard
238 is static private;
239
240fields
241
242 done : Boolean from Standard;
243 line : Line from BRepBlend;
244 sol : Vector from math;
245 surf1 : HSurface from Adaptor3d;
246 domain1 : TopolTool from Adaptor3d;
247 surf2 : HSurface from Adaptor3d;
248 domain2 : TopolTool from Adaptor3d;
249 rst1 : HCurve2d from Adaptor2d;
250 rst2 : HCurve2d from Adaptor2d;
251
252 tolesp : Real from Standard;
253 tolgui : Real from Standard;
254 pasmax : Real from Standard;
255 fleche : Real from Standard;
256 param : Real from Standard;
257 previousP : Point from Blend;
258 rebrou : Boolean from Standard;
259 iscomplete : Boolean from Standard;
260 comptra : Boolean from Standard;
261 sens : Real from Standard;
262 decrochdeb : DecrochStatus from Blend;
263 decrochfin : DecrochStatus from Blend;
264
265end RstRstLineBuilder from BRepBlend;
266
267
268
269