0024510: Remove unused local variables
[occt.git] / src / GccAna / GccAna_Circ2dBisec.cdl
1 -- Created on: 1991-04-03
2 -- Created by: Remi GILET
3 -- Copyright (c) 1991-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
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.
13 --
14 -- Alternatively, this file may be used under the terms of Open CASCADE
15 -- commercial license or contractual agreement.
16
17 class Circ2dBisec
18
19 from GccAna
20
21         ---Purpose: This class describes functions for building bisecting curves between two 2D circles.
22         -- A bisecting curve between two circles is a curve such
23         -- that each of its points is at the same distance from the
24         -- two circles. It can be an ellipse, hyperbola, circle or line,
25         -- depending on the relative position of the two circles.
26         -- The algorithm computes all the elementary curves which
27         -- are solutions. There is no solution if the two circles are coincident.
28         -- A Circ2dBisec object provides a framework for:
29         -- -   defining the construction of the bisecting curves,
30         -- -   implementing the construction algorithm, and consulting the result.
31
32 uses Circ2d from gp,
33      Bisec  from GccInt
34
35 raises OutOfRange        from Standard,
36        NotDone           from StdFail
37
38 is
39
40 Create(Circ1,Circ2 : Circ2d from gp) returns Circ2dBisec;
41
42         ---Purpose: Constructs bisecting curves between the two circles Circ1 and Circ2.
43         
44 IsDone(me) returns Boolean from Standard
45 is static;
46         ---Purpose: This method returns True if the construction algorithm succeeded.
47
48 NbSolutions(me) returns Integer from Standard
49         ---Purpose: This method returns the number of solutions.
50         --    Raises NotDone if the construction algorithm  didn't succeed.
51 raises NotDone
52 is static;
53   
54
55 ThisSolution(me                           ; 
56              Index : Integer from Standard) returns Bisec from GccInt
57         ---Purpose: Returns the solution number Index 
58         -- Raises OutOfRange exception if Index is greater than 
59         --          the number of solutions.
60         --          It raises NotDone if the construction algorithm
61         --          didn't succeed.
62 raises OutOfRange, NotDone
63 is static;
64    
65 fields
66
67     WellDone : Boolean from Standard;
68         ---Purpose: True if the algorithm succeeded.
69
70     NbrSol   : Integer from Standard;
71         ---Purpose: The number of possible solutions.
72
73     intersection : Integer from Standard;
74         ---Purpose: c is the circle which has the lowest radius among Circ1 and 
75         --          Circ2, and C is the other one.
76         --          intersection = 0 if c is completly inside C.
77         --          intersection = 1 if c is tangent to C and c is inside C.
78         --          intersection = 2 if c intersects C.
79         --          intersection = 3 if c is tangent to C and c is outside C.
80         --          intersection = 4 if c is completly outside C.
81
82     sameradius : Boolean from Standard;
83         ---Purpose: sameradius is true is Circ1 has the same radius as Circ2.
84
85     circle1   : Circ2d from gp;
86         ---Purpose: The first argument used for ThisSolution. It is the circle 
87         --          which has the greatest radius or Circ1 if Circ1 and Circ2 
88         --          has the same radius.
89
90     circle2   : Circ2d from gp;
91         ---Purpose: The second argument used for ThisSolution. It is the other 
92         --          circle.
93
94 end Circ2dBisec;