0031939: Coding - correction of spelling errors in comments
[occt.git] / src / Geom2dGcc / Geom2dGcc.hxx
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 #ifndef _Geom2dGcc_HeaderFile
18 #define _Geom2dGcc_HeaderFile
19
20 #include <Standard.hxx>
21 #include <Standard_DefineAlloc.hxx>
22 #include <Standard_Handle.hxx>
23
24 class Geom2dGcc_QualifiedCurve;
25 class Geom2dAdaptor_Curve;
26 class Geom2dGcc_CurveTool;
27 class Geom2dGcc_QualifiedCurve;
28 class Geom2dGcc_Circ2d3Tan;
29 class Geom2dGcc_Circ2d2TanRad;
30 class Geom2dGcc_Circ2d2TanOn;
31 class Geom2dGcc_Circ2dTanOnRad;
32 class Geom2dGcc_Circ2dTanCen;
33 class Geom2dGcc_Lin2d2Tan;
34 class Geom2dGcc_Lin2dTanObl;
35 class Geom2dGcc_QCurve;
36 class Geom2dGcc_CurveToolGeo;
37 class Geom2dGcc_Circ2d2TanOnGeo;
38 class Geom2dGcc_Circ2d2TanRadGeo;
39 class Geom2dGcc_Circ2dTanCenGeo;
40 class Geom2dGcc_Circ2dTanOnRadGeo;
41 class Geom2dGcc_Circ2d3TanIter;
42 class Geom2dGcc_FunctionTanCuCuCu;
43 class Geom2dGcc_Circ2d2TanOnIter;
44 class Geom2dGcc_FunctionTanCuCuOnCu;
45 class Geom2dGcc_Lin2dTanOblIter;
46 class Geom2dGcc_FunctionTanObl;
47 class Geom2dGcc_Lin2d2TanIter;
48 class Geom2dGcc_FunctionTanCuCu;
49 class Geom2dGcc_FunctionTanCuPnt;
50 class Geom2dGcc_FunctionTanCirCu;
51
52
53 //! The Geom2dGcc package describes qualified 2D
54 //! curves used in the construction of constrained geometric
55 //! objects by an algorithm provided by the Geom2dGcc package.
56 //! A qualified 2D curve is a curve with a qualifier which
57 //! specifies whether the solution of a construction
58 //! algorithm using the qualified curve (as an argument):
59 //! -   encloses the curve, or
60 //! -   is enclosed by the curve, or
61 //! -   is built so that both the curve and this solution are external to one another, or
62 //! -   is undefined (all solutions apply).
63 //! These package methods provide simpler functions to construct a qualified curve.
64 //! Note: the interior of a curve is defined as the left-hand
65 //! side of the curve in relation to its orientation.
66 class Geom2dGcc 
67 {
68 public:
69
70   DEFINE_STANDARD_ALLOC
71
72   
73   //! Constructs such a qualified curve that the relative
74   //! position of the solution computed by a construction
75   //! algorithm using the qualified curve to the circle or line is
76   //! not qualified, i.e. all solutions apply.
77   //! Warning
78   //! Obj is an adapted curve, i.e. an object which is an interface between:
79   //! -   the services provided by a 2D curve from the package Geom2d,
80   //! -   and those required on the curve by a computation algorithm.
81   //! The adapted curve is created in the following way:
82   //! Handle(Geom2d_Curve) mycurve = ...
83   //! ;
84   //! Geom2dAdaptor_Curve Obj ( mycurve )
85   //! ;
86   //! The qualified curve is then constructed with this object:
87   //! Geom2dGcc_QualifiedCurve
88   //! myQCurve = Geom2dGcc::Unqualified(Obj);
89   Standard_EXPORT static Geom2dGcc_QualifiedCurve Unqualified (const Geom2dAdaptor_Curve& Obj);
90   
91   //! Constructs such a qualified curve that the solution
92   //! computed by a construction algorithm using the qualified
93   //! curve encloses the curve.
94   //! Warning
95   //! Obj is an adapted curve, i.e. an object which is an interface between:
96   //! -   the services provided by a 2D curve from the package Geom2d,
97   //! -   and those required on the curve by a computation algorithm.
98   //! The adapted curve is created in the following way:
99   //! Handle(Geom2d_Curve) mycurve = ...
100   //! ;
101   //! Geom2dAdaptor_Curve Obj ( mycurve )
102   //! ;
103   //! The qualified curve is then constructed with this object:
104   //! Geom2dGcc_QualifiedCurve
105   //! myQCurve = Geom2dGcc::Enclosing(Obj);
106   Standard_EXPORT static Geom2dGcc_QualifiedCurve Enclosing (const Geom2dAdaptor_Curve& Obj);
107   
108   //! Constructs such a qualified curve that the solution
109   //! computed by a construction algorithm using the qualified
110   //! curve is enclosed by the curve.
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::Enclosed(Obj);
123   Standard_EXPORT static Geom2dGcc_QualifiedCurve Enclosed (const Geom2dAdaptor_Curve& Obj);
124   
125   //! Constructs such a qualified curve that the solution
126   //! computed by a construction algorithm using the qualified
127   //! curve and the curve are external to one another.
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::Outside(Obj);
140   Standard_EXPORT static Geom2dGcc_QualifiedCurve Outside (const Geom2dAdaptor_Curve& Obj);
141
142
143
144
145 protected:
146
147
148
149
150
151 private:
152
153
154
155
156 friend class Geom2dGcc_CurveTool;
157 friend class Geom2dGcc_QualifiedCurve;
158 friend class Geom2dGcc_Circ2d3Tan;
159 friend class Geom2dGcc_Circ2d2TanRad;
160 friend class Geom2dGcc_Circ2d2TanOn;
161 friend class Geom2dGcc_Circ2dTanOnRad;
162 friend class Geom2dGcc_Circ2dTanCen;
163 friend class Geom2dGcc_Lin2d2Tan;
164 friend class Geom2dGcc_Lin2dTanObl;
165 friend class Geom2dGcc_QCurve;
166 friend class Geom2dGcc_CurveToolGeo;
167 friend class Geom2dGcc_Circ2d2TanOnGeo;
168 friend class Geom2dGcc_Circ2d2TanRadGeo;
169 friend class Geom2dGcc_Circ2dTanCenGeo;
170 friend class Geom2dGcc_Circ2dTanOnRadGeo;
171 friend class Geom2dGcc_Circ2d3TanIter;
172 friend class Geom2dGcc_FunctionTanCuCuCu;
173 friend class Geom2dGcc_Circ2d2TanOnIter;
174 friend class Geom2dGcc_FunctionTanCuCuOnCu;
175 friend class Geom2dGcc_Lin2dTanOblIter;
176 friend class Geom2dGcc_FunctionTanObl;
177 friend class Geom2dGcc_Lin2d2TanIter;
178 friend class Geom2dGcc_FunctionTanCuCu;
179 friend class Geom2dGcc_FunctionTanCuPnt;
180 friend class Geom2dGcc_FunctionTanCirCu;
181
182 };
183
184
185
186
187
188
189
190 #endif // _Geom2dGcc_HeaderFile