0024773: Convertation of the generic classes to the non-generic. Part 7
[occt.git] / src / Geom2dGcc / Geom2dGcc_Circ2dTanOnRadGeo.cdl
diff --git a/src/Geom2dGcc/Geom2dGcc_Circ2dTanOnRadGeo.cdl b/src/Geom2dGcc/Geom2dGcc_Circ2dTanOnRadGeo.cdl
new file mode 100644 (file)
index 0000000..9640e86
--- /dev/null
@@ -0,0 +1,267 @@
+-- Created on: 1991-04-03
+-- 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 Circ2dTanOnRadGeo from Geom2dGcc
+
+       ---Purpose: This class implements the algorithms used to 
+       --          create a 2d circle tangent to a 2d entity, 
+       --          centered on a 2d entity and with a given radius.
+       --          More than one argument must be a curve.
+       --          The arguments of all construction methods are :
+       --             - The qualified element for the tangency constrains 
+       --             (QualifiedCirc, QualifiedLin, QualifiedCurvPoints).
+       --             - The Center element (circle, line, curve).
+       --             - A real Tolerance.
+       --          Tolerance is only used in the limits cases.
+       --          For example : 
+       --          We want to create a circle tangent to an OutsideCurv Cu1
+       --          centered on a line OnLine with a radius Radius and with
+       --          a tolerance Tolerance.
+       --          If we did not use Tolerance it is impossible to 
+       --          find a solution in the following case : OnLine is 
+       --          outside Cu1. There is no intersection point between Cu1
+       --          and OnLine. The distance between the line and the 
+       --          circle is greater than Radius.
+       --          With Tolerance we will give a solution if the 
+       --          distance between Cu1 and OnLine is lower than or 
+       --          equal Tolerance.
+
+-- inherits Entity from Standard
+
+uses Lin2d            from gp, 
+     Circ2d           from gp,  
+     Pnt2d            from gp,
+     Array1OfCirc2d   from TColgp,
+     Array1OfPnt2d    from TColgp,
+     QualifiedCirc    from GccEnt,
+     QualifiedLin     from GccEnt,
+     Array1OfReal     from TColStd,
+     Array1OfInteger  from TColStd,
+     Position         from GccEnt,
+     Array1OfPosition from GccEnt,
+     Curve            from Geom2dAdaptor,
+     CurveTool        from Geom2dGcc,
+     QCurve           from Geom2dGcc,
+     OffsetCurve      from Adaptor3d,
+     HCurve           from Geom2dAdaptor,
+     CurveToolGeo     from Geom2dGcc,
+     TheIntConicCurveOfGInter from Geom2dInt,
+     GInter           from Geom2dInt
+     
+raises NegativeValue from Standard,
+       OutOfRange    from Standard,
+       BadQualifier  from GccEnt,
+       NotDone       from StdFail
+
+is
+
+-- On a line .............................................................
+
+Create(Qualified1 :        QCurve from Geom2dGcc;
+       OnLine     :        Lin2d     from gp;
+       Radius     :        Real      from Standard;
+       Tolerance  :        Real      from Standard) returns Circ2dTanOnRadGeo 
+    ---Purpose: This methods implements the algorithms used to create 
+    --          2d Circles tangent to a curve and centered on a 2d Line 
+    --          with a given radius.
+    --          Tolerance is used to find solution in every limit cases.
+raises NegativeValue, BadQualifier;
+    ---Purpose: raises NegativeValue in case of NegativeRadius.
+
+-- -- On a circle ...........................................................
+
+Create(Qualified1 :        QCurve from Geom2dGcc;
+       OnCirc     :        Circ2d    from gp;
+       Radius     :        Real      from Standard;
+       Tolerance  :        Real      from Standard) returns Circ2dTanOnRadGeo 
+    ---Purpose: This methods implements the algorithms used to create 
+    --          2d Circles tangent to a curve and centered on a 2d Circle 
+    --          with a given radius.
+    --          Tolerance is used to find solution in every limit cases.
+raises NegativeValue, BadQualifier;
+    ---Purpose: raises NegativeValue in case of NegativeRadius.
+
+-- On a curve ............................................................
+
+Create(Qualified1 :        QualifiedCirc from GccEnt  ;
+       OnCurv     :        Curve from Geom2dAdaptor                   ;
+       Radius     :        Real          from Standard;
+       Tolerance  :        Real          from Standard) returns Circ2dTanOnRadGeo 
+    ---Purpose: This methods implements the algorithms used to create 
+    --          2d Circles tangent to a circle and centered on a 2d curve 
+    --          with a given radius.
+    --          Tolerance is used to find solution in every limit cases.
+raises NegativeValue, BadQualifier;
+    ---Purpose: raises NegativeValue in case of NegativeRadius.
+
+Create(Qualified1 :        QualifiedLin  from GccEnt  ;
+       OnCurv     :        Curve from Geom2dAdaptor                   ;
+       Radius     :        Real          from Standard;
+       Tolerance  :        Real          from Standard) returns Circ2dTanOnRadGeo 
+    ---Purpose: This methods implements the algorithms used to create 
+    --          2d Circles tangent to a 2d Line and centered on a 2d curve 
+    --          with a given radius.
+    --          Tolerance is used to find solution in every limit cases.
+raises NegativeValue, BadQualifier;
+    ---Purpose: raises NegativeValue in case of NegativeRadius.
+
+Create(Qualified1 :        QCurve from Geom2dGcc;
+       OnCurv     :        Curve from Geom2dAdaptor;
+       Radius     :        Real      from Standard;
+       Tolerance  :        Real      from Standard) returns Circ2dTanOnRadGeo 
+    ---Purpose: This methods implements the algorithms used to create 
+    --          2d Circles tangent to a 2d curve and centered on a 2d curve 
+    --          with a given radius.
+    --          Tolerance is used to find solution in every limit cases.
+raises NegativeValue, BadQualifier;
+    ---Purpose: raises NegativeValue in case of NegativeRadius.
+
+Create(Point1     :        Pnt2d    from gp      ;
+       OnCurv     :        Curve from Geom2dAdaptor              ;
+       Radius     :        Real     from Standard;
+       Tolerance  :        Real     from Standard) returns Circ2dTanOnRadGeo 
+    ---Purpose: This methods implements the algorithms used to create 
+    --          2d Circles passing through a 2d point and centered on a 
+    --          2d curve with a given radius.
+    --          Tolerance is used to find solution in every limit cases.
+raises NegativeValue;
+    ---Purpose: raises NegativeValue in case of NegativeRadius.
+
+-- -- ....................................................................
+
+IsDone(me) returns Boolean from Standard
+is static;
+       ---Purpose: This method returns True if the construction 
+       --          algorithm succeeded.
+
+NbSolutions(me) returns Integer from Standard
+       ---Purpose: This method returns the number of solutions.
+raises NotDone
+is static;
+       ---Purpose: It raises NotDone if the construction algorithm 
+       --          didn't succeed.
+
+ThisSolution(me                           ;
+            Index : Integer from Standard) returns Circ2d from gp
+    ---Purpose: Returns the solution number Index and raises OutOfRange 
+    --         exception if Index is greater than the number of solutions.
+    --          Be careful: the Index is only a way to get all the 
+    --          solutions, but is not associated to theses outside the 
+    --          context of the algorithm-object.
+raises OutOfRange, NotDone
+is static;
+    ---Purpose: It raises NotDone if the construction algorithm 
+    --          didn't succeed.
+    --          It raises OutOfRange if Index is greater than the 
+    --          number of solutions.
+
+WhichQualifier(me                                  ;
+              Index   :     Integer  from Standard;
+              Qualif1 : out Position from GccEnt  )
+raises OutOfRange, NotDone
+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                                     ;
+          Index         : Integer   from Standard;
+          ParSol,ParArg : out Real  from Standard;
+          PntSol        : out Pnt2d from gp      )
+    ---Purpose: Returns informations about the tangency point between the 
+    --          result number Index and the first argument.
+    --          ParSol is the intrinsic parameter of the point on the 
+    --          solution curv.
+    --          ParArg is the intrinsic parameter of the point on the 
+    --          argument curv.
+    --          PntSol is the tangency point on the solution curv.
+    --          PntArg is the tangency point on the argument curv.
+raises OutOfRange, NotDone
+is static;
+    ---Purpose: It raises NotDone if the construction algorithm 
+    --          didn't succeed.
+    --          It raises OutOfRange if Index is greater than the 
+    --          number of solutions.
+
+CenterOn3 (me                                     ;
+           Index         : Integer   from Standard;
+           ParArg        : out Real  from Standard;
+           PntSol        : out Pnt2d from gp      )
+    ---Purpose: Returns informations about the center (on the curv) 
+    --          of the result.
+    --          ParArg is the intrinsic parameter of the point on 
+    --          the argument curv.
+    --          PntSol is the center point of the solution curv.
+raises OutOfRange, NotDone
+is static;
+    ---Purpose: It raises NotDone if the construction algorithm 
+    --          didn't succeed.
+    --          It raises OutOfRange if Index is greater than the 
+    --          number of solutions.
+
+IsTheSame1(me                           ;
+           Index : Integer from Standard) returns Boolean from Standard
+    ---Purpose: Returns True if the solution number Index is equal to 
+    --          the first argument and False in the other cases.
+raises OutOfRange, NotDone
+is static;
+    ---Purpose: It raises NotDone if the construction algorithm 
+    --          didn't succeed.
+    --          It raises OutOfRange if Index is greater than the 
+    --          number of solutions.
+
+fields
+
+    WellDone : Boolean from Standard;
+    ---Purpose: True if the algorithm succeeded.
+
+    NbrSol   : Integer from Standard;
+    ---Purpose: The number of possible solutions. We have to decide about the
+    --          status of the multiple solutions...
+
+    cirsol   : Array1OfCirc2d from TColgp;
+    ---Purpose : The solutions.
+
+    qualifier1 : Array1OfPosition from GccEnt;
+    -- The qualifiers of the first argument.
+
+    TheSame1 : Array1OfInteger from TColStd;
+    ---Purpose: 1 if the solution and the first argument are the same in the 
+    -- tolerance of Tolerance.
+    -- 0 in the other cases.
+
+    pnttg1sol   : Array1OfPnt2d from TColgp;
+    ---Purpose: The tangency point between the solution and the first 
+    --          argument on the solution.
+
+    pntcen3   : Array1OfPnt2d from TColgp;
+    ---Purpose: The center point of the solution on the first argument.
+
+    par1sol   : Array1OfReal from TColStd;
+    ---Purpose: The parameter of the tangency point between the solution 
+    --          and the first argument on thesolution.
+
+    pararg1   : Array1OfReal from TColStd;
+    ---Purpose: The parameter of the tangency point between the solution 
+    --          and the first argument on the first argument.
+
+    parcen3   : Array1OfReal from TColStd;
+    ---Purpose: The parameter of the center point of the solution on the 
+    --          second argument.
+
+end Circ2dTanOnRadGeo;