0024023: Revamp the OCCT Handle -- GC
[occt.git] / src / GCE2d / GCE2d_MakeArcOfEllipse.cdl
1 -- Created on: 1992-09-28
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 MakeArcOfEllipse from GCE2d inherits Root from GCE2d
18         ---Purpose: Implements construction algorithms for an arc of
19         -- ellipse in the plane. The result is a Geom2d_TrimmedCurve curve.
20         -- A MakeArcOfEllipse object provides a framework for:
21         -- -   defining the construction of the arc of ellipse,
22         -- -   implementing the construction algorithm, and
23         -- -   consulting the results. In particular, the Value
24         --   function returns the constructed arc of ellipse.
25         
26 uses Pnt2d        from gp,
27      Elips2d      from gp,
28      Real         from Standard,
29      Boolean      from Standard,
30      TrimmedCurve from Geom2d
31
32 raises NotDone from StdFail
33
34 is
35
36 Create(Elips          : Elips2d from gp                      ; 
37        Alpha1, Alpha2 : Real    from Standard                ;
38        Sense          : Boolean from Standard = Standard_True) 
39     returns MakeArcOfEllipse;
40         ---Purpose: Make an arc of Ellipse (TrimmedCurve from Geom2d) from 
41         --          a Ellipse between two parameters Alpha1 and Alpha2.
42
43 Create(Elips : Elips2d from gp                      ;
44        P     : Pnt2d   from gp                      ;
45        Alpha : Real    from Standard                ;
46        Sense : Boolean from Standard = Standard_True) 
47     returns MakeArcOfEllipse;
48         ---Purpose: Make an arc of Ellipse (TrimmedCurve from Geom2d) from 
49         --          a Ellipse between point <P> and the parameter
50         --          Alpha.
51
52 Create(Elips : Elips2d from gp                      ;
53        P1    : Pnt2d   from gp                      ;
54        P2    : Pnt2d   from gp                      ;
55        Sense : Boolean from Standard = Standard_True) 
56     returns MakeArcOfEllipse;
57         ---Purpose: Make an arc of Ellipse (TrimmedCurve from Geom2d) from 
58         --          a Ellipse between two points P1 and P2.
59         -- Please, note: The orientation of the arc is:
60         -- -   the trigonometric sense if Sense is not defined or
61         --   is true (default value), or
62         -- -   the opposite sense if Sense is false.
63         -- -   Alpha1, Alpha2 and Alpha are angle values, given in radians.
64         -- -   IsDone always returns true.
65         
66 Value(me) returns TrimmedCurve from Geom2d
67     raises NotDone
68     is static;
69         ---C++: return const&
70         ---Purpose: Returns the constructed arc of ellipse.
71         ---C++: alias "operator const Handle(Geom2d_TrimmedCurve)& () const { return Value(); }"
72
73 fields
74
75     TheArc : TrimmedCurve from Geom2d;
76     --The solution from Geom2d.
77     
78 end MakeArcOfEllipse;