0024773: Convertation of the generic classes to the non-generic. Part 7
[occt.git] / src / Geom2dGcc / Geom2dGcc.cdl
1 -- Created on: 1992-06-29
2 -- Created by: Remi GILET
3 -- Copyright (c) 1992-1999 Matra Datavision
4 -- Copyright (c) 1999-2014 OPEN CASCADE SAS
5 --
6 -- This file is part of Open CASCADE Technology software library.
7 --
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
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.
13 --
14 -- Alternatively, this file may be used under the terms of Open CASCADE
15 -- commercial license or contractual agreement.
16
17 package Geom2dGcc 
18
19         --- Purpose: The Geom2dGcc package describes qualified 2D
20         -- curves used in the construction of constrained geometric
21         -- objects by an algorithm provided by the Geom2dGcc package.
22         -- A qualified 2D curve is a curve with a qualifier which
23         -- specifies whether the solution of a construction
24         -- algorithm using the qualified curve (as an argument):
25         -- -   encloses the curve, or
26         -- -   is enclosed by the curve, or
27         -- -   is built so that both the curve and this solution are external to one another, or
28         -- -   is undefined (all solutions apply).
29         -- These package methods provide simpler functions to construct a qualified curve.
30         -- Note: the interior of a curve is defined as the left-hand
31         -- side of the curve in relation to its orientation.
32
33
34 uses GccEnt,
35      GccAna,
36      GccIter,
37      StdFail,
38      Geom2dInt,
39      Geom2d,
40      GeomAbs,
41      TColStd,
42      Standard,
43      Geom2dAdaptor,
44      Extrema,
45      Adaptor3d,
46      Adaptor2d,
47      TColgp,
48      gp
49
50 is
51
52 class CurveTool;
53
54 class QualifiedCurve;
55
56 class Circ2d3Tan;
57
58 class Circ2d2TanRad;
59
60 class Circ2d2TanOn;
61
62 class Circ2dTanOnRad;
63
64 class Circ2dTanCen;
65
66 class Lin2d2Tan;
67
68 class Lin2dTanObl;
69
70 class QCurve;
71
72 class CurveToolGeo;
73
74 class Circ2d2TanOnGeo;
75
76 class Circ2d2TanRadGeo;
77
78 class Circ2dTanCenGeo;
79
80 class Circ2dTanOnRadGeo;
81
82 class MyC2d3Tan instantiates Circ2d3Tan from GccIter
83             (Curve          from Geom2dAdaptor,
84              CurveTool      from Geom2dGcc,
85              QCurve         from Geom2dGcc);
86              
87 class MyC2d2TanOn instantiates Circ2d2TanOn from GccIter
88             (Curve          from Geom2dAdaptor,
89              CurveTool      from Geom2dGcc,
90              QCurve         from Geom2dGcc);
91
92 class MyL2dTanObl instantiates Lin2dTanObl from GccIter
93             (Curve          from Geom2dAdaptor,
94              CurveTool      from Geom2dGcc,
95              QCurve         from Geom2dGcc);
96              
97 class MyL2d2Tan instantiates Lin2d2Tan from GccIter
98         (Curve          from Geom2dAdaptor,
99          CurveTool      from Geom2dGcc,
100          QCurve         from Geom2dGcc);
101
102 Unqualified(Obj : Curve from Geom2dAdaptor) returns QualifiedCurve;
103         ---Purpose: Constructs such a qualified curve that the relative
104         -- position of the solution computed by a construction
105         -- algorithm using the qualified curve to the circle or line is
106         -- not qualified, i.e. all solutions apply.
107         -- Warning
108         -- Obj is an adapted curve, i.e. an object which is an interface between:
109         -- -   the services provided by a 2D curve from the package Geom2d,
110         -- -   and those required on the curve by a computation algorithm.
111         --  The adapted curve is created in the following way:
112         -- Handle(Geom2d_Curve) mycurve = ...
113         -- ;
114         -- Geom2dAdaptor_Curve Obj ( mycurve )
115         -- ;
116         -- The qualified curve is then constructed with this object:
117         -- Geom2dGcc_QualifiedCurve
118         -- myQCurve = Geom2dGcc::Unqualified(Obj);
119     
120 Enclosing(Obj : Curve from Geom2dAdaptor) returns QualifiedCurve;
121         ---Purpose: Constructs such a qualified curve that the solution
122         -- computed by a construction algorithm using the qualified
123         -- curve encloses the curve.
124         -- Warning
125         -- Obj is an adapted curve, i.e. an object which is an interface between:
126         -- -   the services provided by a 2D curve from the package Geom2d,
127         -- -   and those required on the curve by a computation algorithm.
128         -- The adapted curve is created in the following way:
129         -- Handle(Geom2d_Curve) mycurve = ...
130         -- ;
131         -- Geom2dAdaptor_Curve Obj ( mycurve )
132         -- ;
133         -- The qualified curve is then constructed with this object:
134         -- Geom2dGcc_QualifiedCurve
135         --              myQCurve = Geom2dGcc::Enclosing(Obj);
136   
137 Enclosed(Obj : Curve from Geom2dAdaptor) returns QualifiedCurve;
138         ---Purpose: Constructs such a qualified curve that the solution
139         -- computed by a construction algorithm using the qualified
140         -- curve is enclosed by the curve.
141         -- Warning
142         -- Obj is an adapted curve, i.e. an object which is an interface between:
143         -- -   the services provided by a 2D curve from the package Geom2d,
144         -- -   and those required on the curve by a computation algorithm.
145         -- The adapted curve is created in the following way:
146         -- Handle(Geom2d_Curve) mycurve = ...
147         -- ;
148         -- Geom2dAdaptor_Curve Obj ( mycurve )
149         -- ;
150         -- The qualified curve is then constructed with this object:
151         -- Geom2dGcc_QualifiedCurve
152         --              myQCurve = Geom2dGcc::Enclosed(Obj);
153     
154 Outside(Obj : Curve from Geom2dAdaptor) returns QualifiedCurve;
155         ---Purpose: Constructs such a qualified curve that the solution
156         -- computed by a construction algorithm using the qualified
157         -- curve and the curve are external to one another.
158         -- Warning
159         -- Obj is an adapted curve, i.e. an object which is an interface between:
160         -- -   the services provided by a 2D curve from the package Geom2d,
161         -- -   and those required on the curve by a computation algorithm.
162         -- The adapted curve is created in the following way:
163         -- Handle(Geom2d_Curve) mycurve = ...
164         -- ;
165         -- Geom2dAdaptor_Curve Obj ( mycurve )
166         -- ;
167         -- The qualified curve is then constructed with this object:
168         -- Geom2dGcc_QualifiedCurve
169         --              myQCurve = Geom2dGcc::Outside(Obj);
170              
171 end Geom2dGcc;