0024624: Lost word in license statement in source files
[occt.git] / src / BRepBlend / BRepBlend_SurfRstLineBuilder.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 SurfRstLineBuilder from BRepBlend
18
19 ---Purpose: This class processes data resulting from
20 -- Blend_CSWalking taking in consideration the Surface
21 -- supporting the curve to detect the breakpoint.
22 --
23 -- The criteria of distribution of points on the line are detailed
24 -- because it is to be used in the calculatuon of values approached
25 -- by an approximation of functions continued basing on
26 -- Blend_SurfRstFunction.
27 --
28 -- Thus this pseudo path necessitates 3 criteria of regrouping :
29 --
30 -- 1) exit of the domain of the curve
31 --
32 -- 2) exit of the domain of the surface
33 --
34 -- 3) stall as there is a solution to the problem
35 -- surf/surf within the domain of the surface
36 -- of support of the restriction.
37
38uses Point from Blend,
39 Status from Blend,
40 SurfRstFunction from Blend,
41 FuncInv from Blend,
42 SurfPointFuncInv from Blend,
43 SurfCurvFuncInv from Blend,
44 Vector from math,
45 Matrix from math,
46 State from TopAbs,
47 Pnt from gp,
48 Pnt2d from gp,
49 Vec from gp,
50 Vec2d from gp,
51 HArray1OfReal from TColStd,
52 Transition from IntSurf,
53 HVertex from Adaptor3d,
54 HSurface from Adaptor3d,
55 HCurve2d from Adaptor2d,
56 TopolTool from Adaptor3d,
57 Line from BRepBlend,
58 Extremity from BRepBlend
59
60is
61
62 Create(Surf1 : HSurface from Adaptor3d;
63 Domain1 : TopolTool from Adaptor3d;
64 Surf2 : HSurface from Adaptor3d;
65 Rst : HCurve2d from Adaptor2d;
66 Domain2 : TopolTool from Adaptor3d)
67 returns SurfRstLineBuilder from BRepBlend;
68
69 Perform(me : in out;
70 Func : in out SurfRstFunction from Blend;
71 Finv : in out FuncInv from Blend;
72 FinvP : in out SurfPointFuncInv from Blend;
73 FinvC : in out SurfCurvFuncInv from Blend;
74 Pdep : Real from Standard;
75 Pmax : Real from Standard;
76 MaxStep : Real from Standard;
77 TolGuide : Real from Standard;
78 Soldep : Vector from math;
79 Tolesp : Real from Standard;
80 Fleche : Real from Standard;
81 Appro : Boolean from Standard = Standard_False)
82 is static;
83
84 PerformFirstSection(me : in out;
85 Func : in out SurfRstFunction from Blend;
86 Finv : in out FuncInv from Blend;
87 FinvP : in out SurfPointFuncInv from Blend;
88 FinvC : in out SurfCurvFuncInv from Blend;
89 Pdep : Real from Standard;
90 Pmax : Real from Standard;
91 Soldep : Vector from math;
92 Tolesp : Real from Standard;
93 TolGuide : Real from Standard;
94 RecRst : Boolean from Standard;
95 RecP : Boolean from Standard;
96 RecS : Boolean from Standard;
97 Psol : out Real from Standard;
98 ParSol : out Vector from math)
99 returns Boolean from Standard
100 is static;
101
102 Complete(me : in out;
103 Func : in out SurfRstFunction from Blend;
104 Finv : in out FuncInv from Blend;
105 FinvP : in out SurfPointFuncInv from Blend;
106 FinvC : in out SurfCurvFuncInv from Blend;
107 Pmin : Real from Standard)
108
109 returns Boolean from Standard
110 is static;
111
112 InternalPerform (me : in out;
113 Func : in out SurfRstFunction from Blend;
114 Finv : in out FuncInv from Blend;
115 FinvP : in out SurfPointFuncInv from Blend;
116 FinvC : in out SurfCurvFuncInv from Blend;
117 Bound : Real from Standard)
118 is static private;
119
120 ArcToRecadre(me : in out;
121 Sol : Vector from math;
122 PrevIndex : Integer;
123 pt2d, lastpt2d : out Pnt2d from gp;
124 ponarc : out Real)
125 returns Integer;
126
127 Recadre(me : in out;
128 FinvC : in out SurfCurvFuncInv from Blend;
129 Solinv : out Vector from math;
130 Arc : out HCurve2d from Adaptor2d;
131 IsVtx : out Boolean from Standard;
132 Vtx : out HVertex from Adaptor3d)
133 returns Boolean from Standard
134 is static private;
135
136 Recadre(me : in out;
137 Func : in out SurfRstFunction from Blend;
138 Finv : in out FuncInv from Blend;
139 Solinv : out Vector from math;
140 IsVtx : out Boolean from Standard;
141 Vtx : out HVertex from Adaptor3d)
142 returns Boolean from Standard
143 is static private;
144
145 Recadre(me : in out;
146 FinvP : in out SurfPointFuncInv from Blend;
147 Solinv : out Vector from math;
148 IsVtx : out Boolean from Standard;
149 Vtx : out HVertex from Adaptor3d)
150 returns Boolean from Standard
151 is static private;
152
153 IsDone(me)
154 returns Boolean from Standard
155 ---C++: inline
156 is static;
157
158 Line(me)
159 returns Line from BRepBlend
160 ---C++: inline
161 ---C++: return const&
162 is static;
163
164 DecrochStart(me)
165 returns Boolean from Standard
166 ---C++: inline
167 is static;
168
169 DecrochEnd(me)
170 returns Boolean from Standard
171 ---C++: inline
172 is static;
173
174 Transition(me : in out;
175 OnFirst : Boolean from Standard;
176 Arc : HCurve2d from Adaptor2d;
177 Param : Real from Standard;
178 TLine,TArc : out Transition from IntSurf)
179 is static private;
180
181 MakeExtremity(me : in out;
182 Extrem : in out Extremity from BRepBlend;
183 OnFirst : Boolean from Standard;
184 Arc : HCurve2d from Adaptor2d;
185 Param : Real from Standard;
186 IsVtx : Boolean from Standard;
187 Vtx : HVertex from Adaptor3d)
188 is static private;
189
190 CheckDeflectionOnSurf(me : in out;
191 CurPoint : Point from Blend)
192 returns Status from Blend
193 is static private;
194
195 CheckDeflectionOnRst(me : in out;
196 CurPoint : Point from Blend)
197 returns Status from Blend
198 is static private;
199
200 TestArret(me : in out;
201 Func : in out SurfRstFunction from Blend;
202 TestDeflection : Boolean from Standard;
203 State : Status from Blend)
204 returns Status from Blend
205 is static private;
206
207 CheckInside(me : in out;
208 Func : in out SurfRstFunction from Blend;
209 SituOnC : out State from TopAbs;
210 SituOnS : out State from TopAbs;
211 Decroch : out Boolean from Standard)
212 returns Boolean from Standard
213 is static private;
214
215fields
216
217 done : Boolean from Standard;
218 line : Line from BRepBlend;
219 sol : Vector from math;
220 surf1 : HSurface from Adaptor3d;
221 domain1 : TopolTool from Adaptor3d;
222 surf2 : HSurface from Adaptor3d;
223 rst : HCurve2d from Adaptor2d;
224 domain2 : TopolTool from Adaptor3d;
225
226 tolesp : Real from Standard;
227 tolgui : Real from Standard;
228 pasmax : Real from Standard;
229 fleche : Real from Standard;
230 param : Real from Standard;
231 previousP : Point from Blend;
232 rebrou : Boolean from Standard;
233 iscomplete : Boolean from Standard;
234 comptra : Boolean from Standard;
235 sens : Real from Standard;
236 decrochdeb : Boolean from Standard;
237 decrochfin : Boolean from Standard;
238
239end SurfRstLineBuilder from BRepBlend;