0024510: Remove unused local variables
[occt.git] / src / GccAna / GccAna_Lin2d2Tan.cdl
CommitLineData
b311480e 1-- Created on: 1991-04-03
2-- Created by: Remi GILET
3-- Copyright (c) 1991-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--
973c2be1 8-- This library is free software; you can redistribute it and / or modify it
9-- under the terms of the GNU Lesser General Public 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.
b311480e 13--
973c2be1 14-- Alternatively, this file may be used under the terms of Open CASCADE
15-- commercial license or contractual agreement.
7fd59977 16
17class Lin2d2Tan
18
19from GccAna
20
21 ---Purpose: This class implements the algorithms used to
22 -- create 2d lines tangent to 2 other elements which
23 -- can be circles or points.
24 -- Describes functions for building a 2D line:
25 -- - tangential to 2 circles, or
26 -- - tangential to a circle and passing through a point, or
27 -- - passing through 2 points.
28 -- A Lin2d2Tan object provides a framework for:
29 -- - defining the construction of 2D line(s),
30 -- - implementing the construction algorithm, and
31 -- consulting the result(s).
32 -- Some constructors may check the type of the qualified argument
33 -- and raise BadQualifier Error in case of incorrect couple (qualifier,
34 -- curv).
35 -- For example: "EnclosedCirc".
36
37uses Pnt2d from gp,
38 Lin2d from gp,
39 QualifiedCirc from GccEnt,
40 Array1OfLin2d from TColgp,
41 Array1OfPnt2d from TColgp,
42 Array1OfReal from TColStd,
43 Position from GccEnt,
44 Array1OfPosition from GccEnt
45
46
47raises OutOfRange from Standard,
48 BadQualifier from GccEnt,
49 NotDone from StdFail
50
51is
52
53
54
55Create (ThePoint1 : Pnt2d from gp ;
56 ThePoint2 : Pnt2d from gp ;
57 Tolerance : Real from Standard) returns Lin2d2Tan;
58 ---Purpose: This methods implements the algorithms used to
59 -- create 2d lines passing thrue 2 points.
60 -- Tolerance is used because we can't create a line
61 -- when the distance between the two points is too small.
62
63Create (Qualified1 : QualifiedCirc from GccEnt ;
64 ThePoint : Pnt2d from gp ;
65 Tolerance : Real from Standard) returns Lin2d2Tan
66raises BadQualifier;
67 ---Purpose: This methods implements the algorithms used to
68 -- create 2d lines tangent to one circle and passing
69 -- thrue a point.
70 -- Exception BadQualifier is raised in the case of
71 -- EnclosedCirc
72 -- Tolerance is used because there is no solution
73 -- when the point is inside the solution according to
74 -- the tolerance.
75
76Create (Qualified1 : QualifiedCirc from GccEnt ;
77 Qualified2 : QualifiedCirc from GccEnt ;
78 Tolerance : Real from Standard) returns Lin2d2Tan
79raises BadQualifier;
80 ---Purpose: This methods implements the algorithms used to
81 -- create 2d lines tangent to 2 circles.
82 -- Exception BadQualifier is raised in the case of
83 -- EnclosedCirc
84
85--------------------------------------------------------------------------
86
87IsDone (me) returns Boolean from Standard
88is static;
89 ---Purpose: This method returns true when there is a solution
90 -- and false in the other cases.
91
92NbSolutions(me) returns Integer from Standard
93 ---Purpose: This method returns the number of solutions.
94 -- Raises NotDone if the construction algorithm didn't succeed.
95raises NotDone
96is static;
97
98
99ThisSolution(me ;
100 Index : Integer from Standard) returns Lin2d
101 ---Purpose : Returns the solution number Index and raises OutOfRange
102 -- exception if Index is greater than the number of solutions.
103 -- Be carefull: the Index is only a way to get all the
104 -- solutions, but is not associated to theses outside the
105 -- context of the algorithm-object. Raises OutOfRange is raised if Index is greater than
106 -- the number of solutions.
107 -- It raises NotDone if the algorithm failed.
108raises OutOfRange, NotDone
109is static;
110
111
112WhichQualifier(me ;
113 Index : Integer from Standard;
114 Qualif1 : out Position from GccEnt ;
115 Qualif2 : out Position from GccEnt )
116raises OutOfRange, NotDone
117is static;
118 ---Purpose: Returns the qualifiers Qualif1 and Qualif2 of the
119 -- tangency arguments for the solution of index Index
120 -- computed by this algorithm.
121 -- The returned qualifiers are:
122 -- - those specified at the start of construction when the
123 -- solutions are defined as enclosing or outside with
124 -- respect to the arguments, or
125 -- - those computed during construction (i.e. enclosing or
126 -- outside) when the solutions are defined as unqualified
127 -- with respect to the arguments, or
128 -- - GccEnt_noqualifier if the tangency argument is a point.
129 -- Exceptions
130 -- Standard_OutOfRange if Index is less than zero or
131 -- greater than the number of solutions computed by this algorithm.
132 -- StdFail_NotDone if the construction fails.
133
134
135Tangency1(me ;
136 Index : Integer from Standard;
137 ParSol,ParArg : out Real from Standard;
138 PntSol : out Pnt2d from gp )
139 ---Purpose : Returns informations about the tangency point between the
140 -- result number Index and the first argument.
141 -- ParSol is the intrinsic parameter of the point PntSol on
142 -- the solution curv.
143 -- ParArg is the intrinsic parameter of the point PntSol on
144 -- the argument curv. Raises OutOfRange is raised if Index is greater than
145 -- the number of solutions.
146 -- It raises NotDone if the algorithm failed.
147raises OutOfRange, NotDone
148is static;
149
150Tangency2(me ;
151 Index : Integer from Standard;
152 ParSol,ParArg : out Real from Standard;
153 PntSol : out Pnt2d from gp )
154 ---Purpose : Returns informations about the tangency point between the
155 -- result number Index and the second argument.
156 -- ParSol is the intrinsic parameter of the point ParSol on
157 -- the solution curv.
158 -- ParArg is the intrinsic parameter of the point PntSol on
159 -- the argument curv. Raises OutOfRange is raised if Index is greater than
160 -- the number of solutions.
161 -- It raises NotDone if the algorithm failed.
162raises OutOfRange, NotDone
163is static;
164
165
166fields
167
168 WellDone : Boolean from Standard;
169 ---Purpose : True if the algorithm succeeded.
170
171 NbrSol : Integer from Standard;
172 ---Purpose : The number of possible solutions. We have to decide about the
173 -- status of the multiple solutions...
174
175 linsol : Array1OfLin2d from TColgp;
176 ---Purpose : Thesolutions.
177
178 qualifier1 : Array1OfPosition from GccEnt;
179 ---Purpose: The qualifiers of the first argument.
180
181 qualifier2 : Array1OfPosition from GccEnt;
182 ---Purpose: The qualifiers of the second argument.
183
184 pnttg1sol : Array1OfPnt2d from TColgp;
185 ---Purpose: The tangency point between the solution and the first
186 -- argument on the solution.
187
188 pnttg2sol : Array1OfPnt2d from TColgp;
189 ---Purpose: The tangency point between the solution and the second
190 -- argument on the solution.
191
192 par1sol : Array1OfReal from TColStd;
193 ---Purpose: The parameter of the tangency point between the solution
194 -- and the first argument on the solution.
195
196 par2sol : Array1OfReal from TColStd;
197 ---Purpose: The parameter of the tangency point between the solution
198 -- and the second argument on the solution.
199
200 pararg1 : Array1OfReal from TColStd;
201 ---Purpose: The parameter of the tangency point between the solution
202 -- and the first argument on the first argument.
203
204 pararg2 : Array1OfReal from TColStd;
205 ---Purpose: The parameter of the tangency point between the solution
206 -- and the second argument on the second argument.
207
208end Lin2d2Tan;