b311480e |
1 | -- Created on: 1992-06-29 |
2 | -- Created by: Remi GILET |
3 | -- Copyright (c) 1992-1999 Matra Datavision |
973c2be1 |
4 | -- Copyright (c) 1999-2014 OPEN CASCADE SAS |
b311480e |
5 | -- |
973c2be1 |
6 | -- This file is part of Open CASCADE Technology software library. |
b311480e |
7 | -- |
d5f74e42 |
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 |
973c2be1 |
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. |
b311480e |
13 | -- |
973c2be1 |
14 | -- Alternatively, this file may be used under the terms of Open CASCADE |
15 | -- commercial license or contractual agreement. |
7fd59977 |
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, |
7fd59977 |
35 | GccAna, |
7fd59977 |
36 | StdFail, |
37 | Geom2dInt, |
38 | Geom2d, |
578ce4be |
39 | GeomAbs, |
7fd59977 |
40 | TColStd, |
7fd59977 |
41 | Standard, |
42 | Geom2dAdaptor, |
43 | Extrema, |
44 | Adaptor3d, |
45 | Adaptor2d, |
46 | TColgp, |
54e37688 |
47 | gp, |
48 | math |
7fd59977 |
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 | |
0b85f9a6 |
70 | class QCurve; |
7fd59977 |
71 | |
578ce4be |
72 | class CurveToolGeo; |
0b85f9a6 |
73 | |
578ce4be |
74 | class Circ2d2TanOnGeo; |
75 | |
76 | class Circ2d2TanRadGeo; |
77 | |
78 | class Circ2dTanCenGeo; |
0b85f9a6 |
79 | |
578ce4be |
80 | class Circ2dTanOnRadGeo; |
81 | |
54e37688 |
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; |
7fd59977 |
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; |