1 -- Created on: 1993-03-17
2 -- Created by: Laurent BUCHARD
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
9 -- under the terms of the GNU Lesser General Public 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 Approx from ApproxInt (
19 ThePSurfaceTool as any;
21 TheISurfaceTool as any;
22 TheWLine as Transient)
25 MCurvesToBSpCurve from Approx,
26 MultiBSpCurve from AppParCurves,
31 ParametrizationType from Approx
34 OutOfRange from Standard,
37 class ThePrmPrmSvSurfaces instantiates PrmPrmSvSurfaces from ApproxInt (
42 class TheImpPrmSvSurfaces instantiates ImpPrmSvSurfaces from ApproxInt (
49 class TheMultiLine instantiates MultiLine from ApproxInt (
51 SvSurfaces from ApproxInt);
53 class TheMultiLineTool instantiates MultiLineTool from ApproxInt(
55 SvSurfaces from ApproxInt);
57 class TheComputeLine instantiates BSplComputeLine from Approx (
61 class TheComputeLineBezier instantiates ComputeLine from Approx (
68 returns Approx from ApproxInt;
71 Surf1,Surf2 : ThePSurface;
73 ApproxXYZ : Boolean from Standard = Standard_True;
74 ApproxU1V1 : Boolean from Standard = Standard_True;
75 ApproxU2V2 : Boolean from Standard = Standard_True;
76 indicemin : Integer from Standard = 0;
77 indicemax : Integer from Standard = 0)
82 ApproxXYZ : Boolean from Standard = Standard_True;
83 ApproxU1V1 : Boolean from Standard = Standard_True;
84 ApproxU2V2 : Boolean from Standard = Standard_True;
85 indicemin : Integer from Standard = 0;
86 indicemax : Integer from Standard = 0)
90 SetParameters(me: in out; Tol3d : Real from Standard;
91 Tol2d : Real from Standard;
92 DegMin : Integer from Standard;
93 DegMax : Integer from Standard;
94 NbIterMax : Integer from Standard;
95 ApproxWithTangency : Boolean from Standard = Standard_True;
96 Parametrization : ParametrizationType from Approx = Approx_ChordLength)
99 SetParameters(me: in out; Tol3d : Real from Standard;
100 Tol2d : Real from Standard;
101 RelativeTol : Boolean from Standard;
102 DegMin : Integer from Standard;
103 DegMax : Integer from Standard;
104 NbIterMax : Integer from Standard;
105 NbPntMax : Integer from Standard;
106 ApproxWithTangency : Boolean from Standard = Standard_True;
107 Parametrization : ParametrizationType from Approx = Approx_ChordLength)
113 TolReached3d(me) returns Real from Standard
116 TolReached2d(me) returns Real from Standard
119 IsDone(me) returns Boolean from Standard
122 NbMultiCurves(me) returns Integer from Standard
125 Value(me; Index: Integer from Standard)
126 ---C++: return const &
127 returns MultiBSpCurve from AppParCurves
134 Perform(me: in out ;Surf1 : ThePSurface;
137 ApproxXYZ : Boolean from Standard;
138 ApproxU1V1 : Boolean from Standard;
139 ApproxU2V2 : Boolean from Standard;
140 indicemin : Integer from Standard;
141 indicemax : Integer from Standard)
145 Perform(me: in out ;Surf1 : TheISurface;
148 ApproxXYZ : Boolean from Standard;
149 ApproxU1V1 : Boolean from Standard;
150 ApproxU2V2 : Boolean from Standard;
151 indicemin : Integer from Standard;
152 indicemax : Integer from Standard)
155 UpdateTolReached(me: in out)
159 myComputeLine : TheComputeLine from ApproxInt;
160 myComputeLineBezier : TheComputeLineBezier from ApproxInt;
161 myBezToBSpl : MCurvesToBSpCurve from Approx;
162 myTolReached : Boolean from Standard;
163 myApproxBez : Boolean from Standard;
165 myWithTangency : Boolean from Standard;
166 myTol3d : Real from Standard;
167 myTol2d : Real from Standard;
168 myRelativeTol : Boolean from Standard;
169 myDegMin : Integer from Standard;
170 myDegMax : Integer from Standard;
171 myNbPntMax : Integer from Standard;
172 myNbIterMax : Integer from Standard;
174 myMinFactorXYZ : Real from Standard;
175 myMinFactorUV : Real from Standard;
176 myTolReached3d : Real from Standard;
177 myTolReached2d : Real from Standard;