0024778: Convertation of the generic classes to the non-generic. Part 9
[occt.git] / src / Geom2dGcc / Geom2dGcc_Circ2d3TanIter.cdl
diff --git a/src/Geom2dGcc/Geom2dGcc_Circ2d3TanIter.cdl b/src/Geom2dGcc/Geom2dGcc_Circ2d3TanIter.cdl
new file mode 100644 (file)
index 0000000..e01465d
--- /dev/null
@@ -0,0 +1,315 @@
+-- Created on: 1991-03-29
+-- Created by: Remi GILET
+-- Copyright (c) 1991-1999 Matra Datavision
+-- Copyright (c) 1999-2014 OPEN CASCADE SAS
+--
+-- This file is part of Open CASCADE Technology software library.
+--
+-- This library is free software; you can redistribute it and/or modify it under
+-- the terms of the GNU Lesser General Public License version 2.1 as published
+-- by the Free Software Foundation, with special exception defined in the file
+-- OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
+-- distribution for complete text of the license and disclaimer of any warranty.
+--
+-- Alternatively, this file may be used under the terms of Open CASCADE
+-- commercial license or contractual agreement.
+
+class Circ2d3TanIter from Geom2dGcc
+
+       ---Purpose: This class implements the algorithms used to 
+       --          create 2d circles tangent to 3 points/lines/circles/
+       --          curves with one curve or more.
+       --          The arguments of all construction methods are :
+       --             - The three qualifiied elements for the 
+       --             tangency constrains (QualifiedCirc, QualifiedLine,
+       --             Qualifiedcurv, Points).
+       --             - A parameter for each QualifiedCurv.
+
+-- inherits Entity from Standard
+
+uses Pnt2d            from gp,
+     Lin2d            from gp, 
+     Circ2d           from gp,
+     QualifiedCirc    from GccEnt,
+     QualifiedLin     from GccEnt,
+     Position         from GccEnt,
+     Curve            from Geom2dAdaptor,
+     CurveTool        from Geom2dGcc,
+     QCurve           from Geom2dGcc
+
+raises NotDone    from StdFail
+
+is
+
+Create(Qualified1 : QualifiedCirc from GccEnt ;
+       Qualified2 : QualifiedCirc from GccEnt ;
+       Qualified3 : QCurve from Geom2dGcc;
+       Param1     : Real                         ;
+       Param2     : Real                         ;
+       Param3     : Real                         ;
+       Tolerance  : Real                         ) 
+returns Circ2d3TanIter from Geom2dGcc;
+       ---Purpose: This method implements the algorithms used to 
+       --          create 2d circles tangent to 2 circles and a curve.
+
+Create(Qualified1 : QualifiedCirc from GccEnt ;
+       Qualified2 : QCurve from Geom2dGcc;
+       Qualified3 : QCurve from Geom2dGcc;
+       Param1     : Real                         ;
+       Param2     : Real                         ;
+       Param3     : Real                         ;
+       Tolerance  : Real                         )
+returns Circ2d3TanIter from Geom2dGcc;
+       ---Purpose: This method implements the algorithms used to 
+       --          create 2d circles tangent to a circle and 2 curves.
+
+Create(Qualified1 : QualifiedCirc from GccEnt ;
+       Qualified2 : QualifiedLin  from GccEnt ;
+       Qualified3 : QCurve from Geom2dGcc;
+       Param1     : Real                         ;
+       Param2     : Real                         ;
+       Param3     : Real                         ;
+       Tolerance  : Real                         ) 
+returns Circ2d3TanIter from Geom2dGcc;
+       ---Purpose: This method implements the algorithms used to 
+       --          create 2d circles tangent to a circle and a line and
+       --          a curve.
+
+Create(Qualified1 : QualifiedCirc     from GccEnt ;
+       Qualified2 : QCurve from Geom2dGcc;
+       Point3     : Pnt2d                            ;
+       Param1     : Real                             ;
+       Param2     : Real                             ;
+       Tolerance  : Real                             ) 
+returns Circ2d3TanIter from Geom2dGcc;
+       ---Purpose: This method implements the algorithms used to 
+       --          create 2d circles tangent to a circle and a point and
+       --          a curve.
+
+Create(Qualified1 : QualifiedLin      from GccEnt ;
+       Qualified2 : QualifiedLin      from GccEnt ;
+       Qualified3 : QCurve from Geom2dGcc;
+       Param1     : Real                             ;
+       Param2     : Real                             ;
+       Param3     : Real                             ;
+       Tolerance  : Real                             ) 
+returns Circ2d3TanIter from Geom2dGcc;
+       ---Purpose: This method implements the algorithms used to 
+       --          create 2d circles tangent to 2 lines and a curve.
+
+Create(Qualified1 : QualifiedLin      from GccEnt ;
+       Qualified2 : QCurve from Geom2dGcc;
+       Qualified3 : QCurve from Geom2dGcc;
+       Param1     : Real                             ;
+       Param2     : Real                             ;
+       Param3     : Real                             ;
+       Tolerance  : Real                             ) 
+returns Circ2d3TanIter from Geom2dGcc;
+       ---Purpose: This method implements the algorithms used to 
+       --          create 2d circles tangent to a line and 2 curves.
+
+Create(Qualified1 : QualifiedLin      from GccEnt ;
+       Qualified2 : QCurve from Geom2dGcc;
+       Point3     : Pnt2d                            ;
+       Param1     : Real                             ;
+       Param2     : Real                             ;
+       Tolerance  : Real                             ) 
+returns Circ2d3TanIter from Geom2dGcc;
+       ---Purpose: This method implements the algorithms used to 
+       --          create 2d circles tangent to a line and a curve 
+       --          and a point.
+
+Create(Qualified1 : QCurve from Geom2dGcc;
+       Point1     : Pnt2d             ;
+       Point2     : Pnt2d             ;
+       Param1     : Real              ;
+       Tolerance  : Real              ) 
+returns Circ2d3TanIter from Geom2dGcc;
+       ---Purpose: This method implements the algorithms used to 
+       --          create 2d circles tangent to a curve and 2 points.
+
+Create(Qualified1 : QCurve from Geom2dGcc ;
+       Qualified2 : QCurve from Geom2dGcc ;
+       Point2     : Pnt2d             ;
+       Param1     : Real              ;
+       Param2     : Real              ;
+       Tolerance  : Real              ) 
+returns Circ2d3TanIter from Geom2dGcc;
+       ---Purpose: This method implements the algorithms used to 
+       --          create 2d circles tangent to 2 curves and a point.
+
+Create(Qualified1 : QCurve from Geom2dGcc ;
+       Qualified2 : QCurve from Geom2dGcc ;
+       Qualified3 : QCurve from Geom2dGcc ;
+       Param1     : Real              ;
+       Param2     : Real              ;
+       Param3     : Real              ;
+       Tolerance  : Real              ) 
+returns Circ2d3TanIter from Geom2dGcc;
+       ---Purpose: This method implements the algorithms used to 
+       --          create 2d circles tangent to 3 curves.
+
+-- -- ....................................................................
+
+IsDone(me) returns Boolean
+is static;
+    ---Purpose: This method returns True if the construction 
+    --          algorithm succeeded.
+
+ThisSolution(me) returns Circ2d 
+    ---Purpose: Returns the solution.
+raises NotDone from StdFail
+is static;
+    ---Purpose: It raises NotDone if the construction algorithm 
+    --          didn't succeed.
+
+WhichQualifier(me                                 ; 
+              Qualif1  : out Position from GccEnt;
+              Qualif2  : out Position from GccEnt;
+              Qualif3  : out Position from GccEnt)
+raises NotDone from StdFail
+is static;
+    -- It returns the informations about the qualifiers of the tangency 
+    -- arguments concerning the solution number Index.
+    -- It returns the real qualifiers (the qualifiers given to the 
+    -- constructor method in case of enclosed, enclosing and outside 
+    -- and the qualifiers computedin case of unqualified).
+
+Tangency1(me                       ;
+          ParSol,ParArg : out Real ;
+          PntSol        : out Pnt2d)
+    ---Purpose: Returns informations about the tangency point between 
+    --          the result and the first argument.
+    --          ParSol is the intrinsic parameter of the point PntSol 
+    --          on the solution curv.
+    --          ParArg is the intrinsic parameter of the point PntSol 
+    --          on the argument curv.
+raises NotDone from StdFail
+is static;
+    ---Purpose: It raises NotDone if the construction algorithm 
+    --          didn't succeed.
+
+Tangency2(me                       ;
+          ParSol,ParArg : out Real ;
+          PntSol        : out Pnt2d)
+    ---Purpose: Returns informations about the tangency point between 
+    --          the result and the second argument.
+    --          ParSol is the intrinsic parameter of the point PntSol 
+    --          on the solution curv.
+    --          ParArg is the intrinsic parameter of the point PntSol 
+    --          on the argument curv.
+raises NotDone from StdFail
+is static;
+    ---Purpose: It raises NotDone if the construction algorithm 
+    --          didn't succeed.
+
+Tangency3(me                       ;
+          ParSol,ParArg : out Real ;
+          PntSol        : out Pnt2d)
+    ---Purpose: Returns informations about the tangency point between 
+    --          the result and the third argument.
+    --          ParSol is the intrinsic parameter of the point PntSol 
+    --          on the solution curv.
+    --          ParArg is the intrinsic parameter of the point PntSol 
+    --          on the argument curv.
+raises NotDone from StdFail
+is static;
+    ---Purpose: It raises NotDone if the construction algorithm 
+    --          didn't succeed.
+
+IsTheSame1(me) returns Boolean
+    -- Returns True if the solution is equal to the first argument.
+raises NotDone from StdFail
+is static;
+    ---Purpose: It raises NotDone if the construction algorithm 
+    --          didn't succeed.
+
+IsTheSame2(me) returns Boolean
+    -- Returns True if the solution is equal to the second argument.
+raises NotDone from StdFail
+is static;
+    ---Purpose: It raises NotDone if the construction algorithm 
+    --          didn't succeed.
+
+IsTheSame3(me) returns Boolean
+    -- Returns True if the solution is equal to the third argument.
+raises NotDone from StdFail
+is static;
+    ---Purpose: It raises NotDone if the construction algorithm 
+    --          didn't succeed.
+
+fields
+
+    WellDone : Boolean;
+    ---Purpose: True if the algorithm succeeded.
+
+    cirsol   : Circ2d;
+    ---Purpose: The solutions.
+
+    qualifier1 : Position from GccEnt;
+    -- The qualifiers of the first argument.
+
+    qualifier2 : Position from GccEnt;
+    -- The qualifiers of the first argument.
+
+    qualifier3 : Position from GccEnt;
+    -- The qualifiers of the first argument.
+
+    TheSame1 : Boolean;
+    ---Purpose: True if the solution and the first argument are identical.
+    --          Two circles are identical if the difference between the 
+    --          radius of one and the sum of the radius of the other and 
+    --          the distance between the centers is less than Tolerance. 
+    --          False in the other cases.
+
+    TheSame2 : Boolean;
+    ---Purpose: True if the solution and the second argument are identical.
+    --          Two circles are identical if the difference between the 
+    --          radius of one and the sum of the radius of the other and 
+    --          the distance between the centers is less than Tolerance. 
+    --          False in the other cases.
+
+    TheSame3 : Boolean;
+    ---Purpose: True if the solution and the third argument are identical.
+    --          Two circles are identical if the difference between the 
+    --          radius of one and the sum of the radius of the other and 
+    --          the distance between the centers is less than Tolerance. 
+    --          False in the other cases.
+
+    pnttg1sol   : Pnt2d;
+    ---Purpose: The tangency point between the solution and the first 
+    --          argument on the solution.
+
+    pnttg2sol   : Pnt2d;
+    ---Purpose: The tangency point between the solution and the second 
+    --          argument on the solution.
+
+    pnttg3sol   : Pnt2d;
+    ---Purpose: The tangency point between the solution and the third 
+    --          argument on the solution.
+
+    par1sol   : Real;
+    ---Purpose: The parameter of the tangency point between the solution 
+    --          and the first argument on the solution.
+
+    par2sol   : Real;
+    ---Purpose: The parameter of the tangency point between the solution 
+    --          and the second argument on the solution.
+
+    par3sol   : Real;
+    ---Purpose: The parameter of the tangency point between the solution 
+    --          and the third argument on the solution.
+
+    pararg1   : Real;
+    ---Purpose: The parameter of the tangency point between the solution 
+    --          and the first argument on the first argument.
+
+    pararg2   : Real;
+    ---Purpose: The parameter of the tangency point between the solution 
+    --          and the second argument on the second argument.
+
+    pararg3   : Real;
+    ---Purpose: The parameter of the tangency point between the solution 
+    --          and the third argument on the second argument.
+
+end Circ2d3TanIter;