0024778: Convertation of the generic classes to the non-generic. Part 9
[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      StdFail,
37      Geom2dInt,
38      Geom2d,
39      GeomAbs,
40      TColStd,
41      Standard,
42      Geom2dAdaptor,
43      Extrema,
44      Adaptor3d,
45      Adaptor2d,
46      TColgp,
47      gp,
48      math
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 Circ2d3TanIter;
83 private class FunctionTanCuCuCu;
84
85 class Circ2d2TanOnIter;
86 private class FunctionTanCuCuOnCu;
87
88 class Lin2dTanOblIter;
89 private class FunctionTanObl;
90
91 class Lin2d2TanIter;
92 private class FunctionTanCuCu;
93 private class FunctionTanCuPnt;
94 private class FunctionTanCirCu;
95
96 enumeration Type1 is CuCuCu,CiCuCu,CiCiCu,CiLiCu,LiLiCu,LiCuCu;
97
98 enumeration Type2 is CuCuOnCu,CiCuOnCu,LiCuOnCu,CuPtOnCu,
99                      CuCuOnLi,CiCuOnLi,LiCuOnLi,CuPtOnLi,
100                      CuCuOnCi,CiCuOnCi,LiCuOnCi,CuPtOnCi;
101
102 enumeration Type3 is CuCu,CiCu;
103
104 exception IsParallel inherits DomainError from Standard;
105
106 Unqualified(Obj : Curve from Geom2dAdaptor) returns QualifiedCurve;
107         ---Purpose: Constructs such a qualified curve that the relative
108         -- position of the solution computed by a construction
109         -- algorithm using the qualified curve to the circle or line is
110         -- not qualified, i.e. all solutions apply.
111         -- Warning
112         -- Obj is an adapted curve, i.e. an object which is an interface between:
113         -- -   the services provided by a 2D curve from the package Geom2d,
114         -- -   and those required on the curve by a computation algorithm.
115         --  The adapted curve is created in the following way:
116         -- Handle(Geom2d_Curve) mycurve = ...
117         -- ;
118         -- Geom2dAdaptor_Curve Obj ( mycurve )
119         -- ;
120         -- The qualified curve is then constructed with this object:
121         -- Geom2dGcc_QualifiedCurve
122         -- myQCurve = Geom2dGcc::Unqualified(Obj);
123     
124 Enclosing(Obj : Curve from Geom2dAdaptor) returns QualifiedCurve;
125         ---Purpose: Constructs such a qualified curve that the solution
126         -- computed by a construction algorithm using the qualified
127         -- curve encloses the curve.
128         -- Warning
129         -- Obj is an adapted curve, i.e. an object which is an interface between:
130         -- -   the services provided by a 2D curve from the package Geom2d,
131         -- -   and those required on the curve by a computation algorithm.
132         -- The adapted curve is created in the following way:
133         -- Handle(Geom2d_Curve) mycurve = ...
134         -- ;
135         -- Geom2dAdaptor_Curve Obj ( mycurve )
136         -- ;
137         -- The qualified curve is then constructed with this object:
138         -- Geom2dGcc_QualifiedCurve
139         --              myQCurve = Geom2dGcc::Enclosing(Obj);
140   
141 Enclosed(Obj : Curve from Geom2dAdaptor) returns QualifiedCurve;
142         ---Purpose: Constructs such a qualified curve that the solution
143         -- computed by a construction algorithm using the qualified
144         -- curve is enclosed by the curve.
145         -- Warning
146         -- Obj is an adapted curve, i.e. an object which is an interface between:
147         -- -   the services provided by a 2D curve from the package Geom2d,
148         -- -   and those required on the curve by a computation algorithm.
149         -- The adapted curve is created in the following way:
150         -- Handle(Geom2d_Curve) mycurve = ...
151         -- ;
152         -- Geom2dAdaptor_Curve Obj ( mycurve )
153         -- ;
154         -- The qualified curve is then constructed with this object:
155         -- Geom2dGcc_QualifiedCurve
156         --              myQCurve = Geom2dGcc::Enclosed(Obj);
157     
158 Outside(Obj : Curve from Geom2dAdaptor) returns QualifiedCurve;
159         ---Purpose: Constructs such a qualified curve that the solution
160         -- computed by a construction algorithm using the qualified
161         -- curve and the curve are external to one another.
162         -- Warning
163         -- Obj is an adapted curve, i.e. an object which is an interface between:
164         -- -   the services provided by a 2D curve from the package Geom2d,
165         -- -   and those required on the curve by a computation algorithm.
166         -- The adapted curve is created in the following way:
167         -- Handle(Geom2d_Curve) mycurve = ...
168         -- ;
169         -- Geom2dAdaptor_Curve Obj ( mycurve )
170         -- ;
171         -- The qualified curve is then constructed with this object:
172         -- Geom2dGcc_QualifiedCurve
173         --              myQCurve = Geom2dGcc::Outside(Obj);
174              
175 end Geom2dGcc;