fe3564dd037908a31b992f198f0be545590d5c31
[occt.git] / src / BRepBlend / BRepBlend.cdl
1 -- File:        BRepBlend.cdl
2 -- Created:     Mon Dec  6 09:41:39 1993
3 -- Author:      Jacques GOUSSARD
4 --              <jag@topsn2>
5 -- jlr le 28-07-97 F(t) in Edge/Face
6 ---Copyright:    Matra Datavision 1993
7
8
9
10 package BRepBlend
11
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
16
17 is
18
19     generic class HCurveToolGen;
20     generic class HCurve2dToolGen;
21
22     class HCurveTool instantiates HCurveToolGen from BRepBlend (
23         HCurve from Adaptor3d);
24
25     class HCurve2dTool instantiates HCurve2dToolGen from BRepBlend (
26         HCurve2d from Adaptor2d);
27
28     class BlendTool;
29     
30     alias ConstRad is ConstRad from BlendFunc;
31
32     alias ConstRadInv is ConstRadInv from BlendFunc;
33
34     alias Ruled is Ruled from BlendFunc;
35
36     alias RuledInv is RuledInv from BlendFunc;
37     
38     alias EvolRad is EvolRad from BlendFunc;
39
40     alias EvolRadInv is EvolRadInv from BlendFunc;
41
42     alias CSConstRad is CSConstRad from BlendFunc;
43
44     alias CSCircular is CSCircular from BlendFunc;
45
46     alias Chamfer is Chamfer from BlendFunc;
47
48     alias ChamfInv is ChamfInv from BlendFunc;
49
50     alias ChAsym is ChAsym from BlendFunc;
51
52     alias ChAsymInv is ChAsymInv from BlendFunc;
53
54
55     class PointOnRst instantiates PointOnRst from Blend
56         (HCurve2d from Adaptor2d);
57
58
59     class SequenceOfPointOnRst instantiates Sequence from TCollection
60         (PointOnRst from BRepBlend);
61
62
63     class Extremity instantiates Extremity from Blend
64         (HVertex              from Adaptor3d,
65          HCurve2d             from Adaptor2d,
66          PointOnRst           from BRepBlend,
67          SequenceOfPointOnRst from BRepBlend);
68
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);
75
76
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,
91          Line                 from BRepBlend);
92          
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);
108          
109     class AppSurf instantiates AppSurf from AppBlend
110         (AppFunction from Blend,
111          Line        from BRepBlend);
112
113
114     class SequenceOfLine instantiates Sequence from TCollection
115         (Line from BRepBlend);
116
117
118     class AppSurface; 
119     ---Purpose: Used to Approximate the surfaces.
120
121     deferred class AppFuncRoot;
122     ---Purpose: Root Class Function to approximate by AppSurface         
123
124     class AppFunc;
125     ---Purpose: Function to approximate by AppSurface for 
126     --          Surface/Surface contact.
127
128     class AppFuncRst;
129     ---Purpose: Function  to approximate by AppSurface  for  
130     --          Curve/Surface contact.
131
132     class AppFuncRstRst;
133     ---Purpose: Function  to approximate by AppSurface  for  
134     --          Curve/Curve contact.
135
136     class SurfRstEvolRad;
137     ---Purpose: Function  to approximate by AppSurface  for  
138     --          Edge/Face  and  evolutif  radius         
139
140     class SurfRstConstRad;
141     ---Purpose:  Copie de CSConstRad mais avec une pcurve sur surface 
142     --           comme support. 
143
144     class RstRstEvolRad;
145     ---Purpose: Function  to approximate by AppSurface  for  
146     --          Edge/Edge  and  evolutif  radius
147     --          
148     class RstRstConstRad;
149     ---Purpose:  Copie de CSConstRad mais avec une pcurve sur surface 
150     --           comme support. 
151
152     class SurfPointConstRadInv;
153     ---Purpose: Fonction de recadrage entre  un  point et une surface.
154
155     class SurfCurvConstRadInv;
156     ---Purpose: Fonction de recadrage entre une restriction surface de
157     --          la surface et une courbe.
158
159     class SurfPointEvolRadInv;
160     ---Purpose: Fonction de recadrage entre  un  point et une surface.
161
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.
168
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)
179     --          oriented.
180
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.
191 end BRepBlend;