0024784: Move documentation in CDL files to proper location
[occt.git] / src / gce / gce_MakeHypr2d.cdl
1 -- Created on: 1992-08-26
2 -- Created by: Remi GILET
3 -- Copyright (c) 1992-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 under
9 -- the terms of the GNU Lesser General Public License 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 MakeHypr2d from gce inherits Root from gce
18
19     ---Purpose :This class implements the following algorithms used to 
20     --          create a 2d Hyperbola from gp.
21     --          * Create a 2d Hyperbola from its center and two points:
22     --            one on its axis of symmetry giving the major radius, the 
23     --            other giving the value of the small radius.
24     --          * Create a 2d Hyperbola from its major axis and its major
25     --            radius and its minor radius.
26     --            
27     --
28     --                         ^YAxis                
29     --                         |                   
30     --                  FirstConjugateBranch     
31     --                         |        
32     --        Other            |                Main
33     --   --------------------- C ------------------------------>XAxis
34     --        Branch           |                Branch
35     --                         |
36     --                         |         
37     --                   SecondConjugateBranch
38     --                         |         
39     --
40     --  An axis placement (one axis) is associated with the hyperbola.
41     --  This axis is the "XAxis" or major axis of the hyperbola. It is
42     --  the symmetry axis of the main branch of hyperbola. 
43     --  The "YAxis" is normal to this axis and pass throught its location 
44     --  point. It is the minor axis.
45     --  
46     --  The major radius is the distance between the Location point
47     --  of the hyperbola C and the vertex of the Main Branch (or the
48     --  Other branch). The minor radius is the distance between the
49     --  Location point of the hyperbola C and the vertex of the First 
50     --  (or Second) Conjugate branch.
51     --  The major radius can be lower than the minor radius.
52
53 uses Pnt2d   from gp,
54      Ax2d    from gp,
55      Ax22d   from gp,
56      Hypr2d  from gp,
57      Boolean from Standard
58
59 raises NotDone from StdFail
60
61 is
62
63 Create(S1,S2  : Pnt2d from gp;
64        Center : Pnt2d from gp) returns MakeHypr2d;
65     ---Purpose: Constructs a hyperbola
66     --   centered on the point Center, where:
67     --   -   the major axis of the hyperbola is defined by Center and point S1,
68     --   -   the major radius is the distance between Center and S1, and
69     --   -   the minor radius is the distance between point S2 and the major axis.
70
71 Create (MajorAxis   : Ax2d    from gp      ; 
72         MajorRadius : Real    from Standard; 
73         MinorRadius : Real    from Standard;
74         Sense       : Boolean from Standard)  returns MakeHypr2d;
75     --- Purpose : Constructs a hyperbola with major and minor radii MajorRadius and
76     --   MinorRadius, where:
77     --   -   the center of the hyperbola is the origin of the axis MajorAxis, and
78     --   -   the major axis is defined by MajorAxis if Sense
79     -- is true, or the opposite axis to MajorAxis if Sense is false; or
80     -- -   centered on the origin of the coordinate system
81     --   A, with major and minor radii MajorRadius and
82     --   MinorRadius, where its major axis is the "X Axis"
83     --   of A (A is the local coordinate system of the hyperbola).
84  
85 Create (A           : Ax22d   from gp      ; 
86         MajorRadius : Real    from Standard; 
87         MinorRadius : Real    from Standard)  returns MakeHypr2d;
88     --- Purpose :Creates a Hypr2d centered on the origin of the coordinate system
89     --  A, with major and minor radii MajorRadius and
90     --  MinorRadius, where its major axis is the "X Axis"
91     --  of A (A is the local coordinate system of the hyperbola).
92
93
94 Value(me) returns Hypr2d from gp
95     raises NotDone
96     is static;
97     ---C++: return const&
98     ---Purpose: Returns the constructed hyperbola.
99     -- Exceptions StdFail_NotDone if no hyperbola is constructed.
100     
101 Operator(me) returns Hypr2d from gp
102     is static;
103     ---C++: return const&
104     ---C++ : alias "Standard_EXPORT operator gp_Hypr2d() const;"
105
106 fields
107
108     TheHypr2d : Hypr2d from gp;
109     --The solution from gp.
110     
111 end MakeHypr2d;
112
113
114
115