b62fcddfbc1588777a8cf8bf84f4629060310344
[occt.git] / src / BRepBlend / BRepBlend.cdl
1 -- Created on: 1993-12-06
2 -- Created by: Jacques GOUSSARD
3 -- Copyright (c) 1993-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
21 -- jlr le 28-07-97 F(t) in Edge/Face
22
23
24
25 package BRepBlend
26
27 uses Blend, BlendFunc, AppBlend, Approx,  Adaptor3d,Adaptor2d,
28      Law,  gp, TopAbs, IntSurf, Convert,
29      TCollection,TColStd,TColgp,GeomAbs,Geom,Geom2d, 
30      AdvApprox, StdFail, math
31
32 is
33
34     generic class HCurveToolGen;
35     generic class HCurve2dToolGen;
36
37     class HCurveTool instantiates HCurveToolGen from BRepBlend (
38         HCurve from Adaptor3d);
39
40     class HCurve2dTool instantiates HCurve2dToolGen from BRepBlend (
41         HCurve2d from Adaptor2d);
42
43     class BlendTool;
44     
45     alias ConstRad is ConstRad from BlendFunc;
46
47     alias ConstRadInv is ConstRadInv from BlendFunc;
48
49     alias Ruled is Ruled from BlendFunc;
50
51     alias RuledInv is RuledInv from BlendFunc;
52     
53     alias EvolRad is EvolRad from BlendFunc;
54
55     alias EvolRadInv is EvolRadInv from BlendFunc;
56
57     alias CSConstRad is CSConstRad from BlendFunc;
58
59     alias CSCircular is CSCircular from BlendFunc;
60
61     alias Chamfer is Chamfer from BlendFunc;
62
63     alias ChamfInv is ChamfInv from BlendFunc;
64
65     alias ChAsym is ChAsym from BlendFunc;
66
67     alias ChAsymInv is ChAsymInv from BlendFunc;
68
69
70     class PointOnRst instantiates PointOnRst from Blend
71         (HCurve2d from Adaptor2d);
72
73
74     class SequenceOfPointOnRst instantiates Sequence from TCollection
75         (PointOnRst from BRepBlend);
76
77
78     class Extremity instantiates Extremity from Blend
79         (HVertex              from Adaptor3d,
80          HCurve2d             from Adaptor2d,
81          PointOnRst           from BRepBlend,
82          SequenceOfPointOnRst from BRepBlend);
83
84     class Line instantiates Line from Blend
85         (HVertex              from Adaptor3d,
86          HCurve2d             from Adaptor2d,
87          PointOnRst           from BRepBlend,
88          SequenceOfPointOnRst from BRepBlend,
89          Extremity            from BRepBlend);
90
91
92     class Walking instantiates Walking from Blend
93         (HVertex              from Adaptor3d,
94          HCurve2d             from Adaptor2d,
95          HSurface             from Adaptor3d,
96          HCurve               from Adaptor3d,
97          Integer              from Standard,
98          HCurve2dTool         from BRepBlend,
99          HSurfaceTool         from Adaptor3d,
100          HCurveTool           from BRepBlend,
101          TopolTool            from Adaptor3d,
102          BlendTool            from BRepBlend,
103          PointOnRst           from BRepBlend,
104          SequenceOfPointOnRst from BRepBlend,
105          Extremity            from BRepBlend,
106          Line                 from BRepBlend);
107          
108     class CSWalking instantiates CSWalking from Blend
109         (HVertex              from Adaptor3d,
110          HCurve2d             from Adaptor2d,
111          HSurface             from Adaptor3d,
112          HCurve               from Adaptor3d,
113          Integer              from Standard,
114          HCurve2dTool         from BRepBlend,
115          HSurfaceTool         from Adaptor3d,
116          HCurveTool           from BRepBlend,
117          TopolTool            from Adaptor3d,
118          BlendTool            from BRepBlend,
119          PointOnRst           from BRepBlend,
120          SequenceOfPointOnRst from BRepBlend,
121          Extremity            from BRepBlend,
122          Line                 from BRepBlend);
123          
124     class AppSurf instantiates AppSurf from AppBlend
125         (AppFunction from Blend,
126          Line        from BRepBlend);
127
128
129     class SequenceOfLine instantiates Sequence from TCollection
130         (Line from BRepBlend);
131
132
133     class AppSurface; 
134     ---Purpose: Used to Approximate the surfaces.
135
136     deferred class AppFuncRoot;
137     ---Purpose: Root Class Function to approximate by AppSurface         
138
139     class AppFunc;
140     ---Purpose: Function to approximate by AppSurface for 
141     --          Surface/Surface contact.
142
143     class AppFuncRst;
144     ---Purpose: Function  to approximate by AppSurface  for  
145     --          Curve/Surface contact.
146
147     class AppFuncRstRst;
148     ---Purpose: Function  to approximate by AppSurface  for  
149     --          Curve/Curve contact.
150
151     class SurfRstEvolRad;
152     ---Purpose: Function  to approximate by AppSurface  for  
153     --          Edge/Face  and  evolutif  radius         
154
155     class SurfRstConstRad;
156     ---Purpose: Copy of CSConstRad with pcurve on surface 
157     --          as support. 
158
159     class RstRstEvolRad;
160     ---Purpose: Function  to approximate by AppSurface  for  
161     --          Edge/Edge  and  evolutif  radius
162     --          
163     class RstRstConstRad;
164     ---Purpose: Copy of CSConstRad with a pcurve on surface 
165     --          as support. 
166
167     class SurfPointConstRadInv;
168     ---Purpose: Function of reframing between a point and a surface.
169
170     class SurfCurvConstRadInv;
171     ---Purpose: Function of reframing between a restriction surface of the
172     --          surface and a curve.
173
174     class SurfPointEvolRadInv;
175     ---Purpose: Fonction of reframing between a point and a surface.
176
177     class CurvPointRadInv;
178     ---Purpose: Function of reframing between a point and a curve.
179     --          valid in cases of constant and progressive radius
180     class SurfCurvEvolRadInv;
181     ---Purpose: Function of reframing between a surface restriction 
182     --          of the surface and a curve.
183
184     class SurfRstLineBuilder;
185     ---Purpose: Construction of a BRepBlend_Line between a surface and
186     --          a pcurve on surface from an approached
187     --          starting solution. The output entries of this builder
188     --          are of the same nature as of the traditional walking
189     --          but the requirements on the Line are not the same
190     --          If the determination of validity range is always
191     --          guaranteed, the criteria of correct repartition of sections 
192     --          before smoothing are not respected. The resulting Line
193     --          is f(t) oriented.
194
195     class RstRstLineBuilder;
196     ---Purpose: Construction of a BRepBlend_Line between two pcurves
197     --          from an approached starting solution. The output
198     --          entries of this builder are of the same nature 
199     --          as of a traditional walking, but the requirements 
200     --          to the Line are not the same. If the determination of validity range is always
201     --          guaranteed, the criteria of correct repartition of sections 
202     --          before smoothing are not respected. The resulting Line
203     --          is f(t) oriented.          
204 end BRepBlend;