2 -- Created: Mon Dec 6 09:41:39 1993
3 -- Author: Jacques GOUSSARD
5 -- jlr le 28-07-97 F(t) in Edge/Face
6 ---Copyright: Matra Datavision 1993
12 uses Blend, BlendFunc, AppBlend, Approx, Adaptor3d,Adaptor2d,
13 Law, gp, TopAbs, IntSurf, Convert,
14 TCollection,TColStd,TColgp,GeomAbs,Geom,Geom2d,
15 AdvApprox, StdFail, math
19 generic class HCurveToolGen;
20 generic class HCurve2dToolGen;
22 class HCurveTool instantiates HCurveToolGen from BRepBlend (
23 HCurve from Adaptor3d);
25 class HCurve2dTool instantiates HCurve2dToolGen from BRepBlend (
26 HCurve2d from Adaptor2d);
30 alias ConstRad is ConstRad from BlendFunc;
32 alias ConstRadInv is ConstRadInv from BlendFunc;
34 alias Ruled is Ruled from BlendFunc;
36 alias RuledInv is RuledInv from BlendFunc;
38 alias EvolRad is EvolRad from BlendFunc;
40 alias EvolRadInv is EvolRadInv from BlendFunc;
42 alias CSConstRad is CSConstRad from BlendFunc;
44 alias CSCircular is CSCircular from BlendFunc;
46 alias Chamfer is Chamfer from BlendFunc;
48 alias ChamfInv is ChamfInv from BlendFunc;
50 alias ChAsym is ChAsym from BlendFunc;
52 alias ChAsymInv is ChAsymInv from BlendFunc;
55 class PointOnRst instantiates PointOnRst from Blend
56 (HCurve2d from Adaptor2d);
59 class SequenceOfPointOnRst instantiates Sequence from TCollection
60 (PointOnRst from BRepBlend);
63 class Extremity instantiates Extremity from Blend
64 (HVertex from Adaptor3d,
65 HCurve2d from Adaptor2d,
66 PointOnRst from BRepBlend,
67 SequenceOfPointOnRst from BRepBlend);
69 class Line instantiates Line from Blend
70 (HVertex from Adaptor3d,
71 HCurve2d from Adaptor2d,
72 PointOnRst from BRepBlend,
73 SequenceOfPointOnRst from BRepBlend,
74 Extremity from BRepBlend);
77 class Walking instantiates Walking from Blend
78 (HVertex from Adaptor3d,
79 HCurve2d from Adaptor2d,
80 HSurface from Adaptor3d,
81 HCurve from Adaptor3d,
82 Integer from Standard,
83 HCurve2dTool from BRepBlend,
84 HSurfaceTool from Adaptor3d,
85 HCurveTool from BRepBlend,
86 TopolTool from Adaptor3d,
87 BlendTool from BRepBlend,
88 PointOnRst from BRepBlend,
89 SequenceOfPointOnRst from BRepBlend,
90 Extremity from BRepBlend,
93 class CSWalking instantiates CSWalking from Blend
94 (HVertex from Adaptor3d,
95 HCurve2d from Adaptor2d,
96 HSurface from Adaptor3d,
97 HCurve from Adaptor3d,
98 Integer from Standard,
99 HCurve2dTool from BRepBlend,
100 HSurfaceTool from Adaptor3d,
101 HCurveTool from BRepBlend,
102 TopolTool from Adaptor3d,
103 BlendTool from BRepBlend,
104 PointOnRst from BRepBlend,
105 SequenceOfPointOnRst from BRepBlend,
106 Extremity from BRepBlend,
107 Line from BRepBlend);
109 class AppSurf instantiates AppSurf from AppBlend
110 (AppFunction from Blend,
111 Line from BRepBlend);
114 class SequenceOfLine instantiates Sequence from TCollection
115 (Line from BRepBlend);
119 ---Purpose: Used to Approximate the surfaces.
121 deferred class AppFuncRoot;
122 ---Purpose: Root Class Function to approximate by AppSurface
125 ---Purpose: Function to approximate by AppSurface for
126 -- Surface/Surface contact.
129 ---Purpose: Function to approximate by AppSurface for
130 -- Curve/Surface contact.
133 ---Purpose: Function to approximate by AppSurface for
134 -- Curve/Curve contact.
136 class SurfRstEvolRad;
137 ---Purpose: Function to approximate by AppSurface for
138 -- Edge/Face and evolutif radius
140 class SurfRstConstRad;
141 ---Purpose: Copie de CSConstRad mais avec une pcurve sur surface
145 ---Purpose: Function to approximate by AppSurface for
146 -- Edge/Edge and evolutif radius
148 class RstRstConstRad;
149 ---Purpose: Copie de CSConstRad mais avec une pcurve sur surface
152 class SurfPointConstRadInv;
153 ---Purpose: Fonction de recadrage entre un point et une surface.
155 class SurfCurvConstRadInv;
156 ---Purpose: Fonction de recadrage entre une restriction surface de
157 -- la surface et une courbe.
159 class SurfPointEvolRadInv;
160 ---Purpose: Fonction de recadrage entre un point et une surface.
162 class CurvPointRadInv;
163 ---Purpose: Fonction de recadrage entre un point et une courbe.
164 -- valable dans les cas rsyon constant et rayon evolutif
165 class SurfCurvEvolRadInv;
166 ---Purpose: Fonction de recadrage entre une restriction surface de
167 -- la surface et une courbe.
169 class SurfRstLineBuilder;
170 ---Purpose: Construction d'une BRepBlend_Line entre une surface et
171 -- une pcurve sur surface a partir d'une solution de
172 -- depart approchee. Les entrees sorties de ce builder
173 -- sont de meme nature que celle d'un walking
174 -- traditionnel, mais les exigences sur la Line ne sont
175 -- pas les memes. Si l'on garanti toujours la
176 -- determination du range de validite, on ne respecte
177 -- plus les criteres de bonne repartition des sections en
178 -- vue d'un lissage. En resume la Line resultat est f(t)
181 class RstRstLineBuilder;
182 ---Purpose: Construction d'une BRepBlend_Line entre deux pcurves a
183 -- partir d'une solution de depart approchee. Les
184 -- entrees sorties de ce builder sont de meme nature que
185 -- celle d'un walking traditionnel, mais les exigences
186 -- sur la Line ne sont pas les memes. Si l'on garanti
187 -- toujours la determination du range de validite, on ne
188 -- respecte plus les criteres de bonne repartition des
189 -- sections en vue d'un lissage. En resume la Line
190 -- resultat est f(t) oriented.