0024023: Revamp the OCCT Handle -- GC
[occt.git] / src / GC / GC_MakeArcOfParabola.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 MakeArcOfParabola from GC inherits Root from GC
18         ---Purpose: Implements construction algorithms for an arc
19         -- of parabola in 3D space. The result is a Geom_TrimmedCurve curve.
20         -- A MakeArcOfParabola object provides a framework for:
21         -- -   defining the construction of the arc of parabola,
22         -- -   implementing the construction algorithm, and
23         -- -   consulting the results. In particular, the
24         --   Value function returns the constructed arc of parabola.
25 uses Pnt          from gp,
26      Parab        from gp,
27      Dir          from gp,
28      Ax1          from gp,
29      Real         from Standard,
30      TrimmedCurve from Geom
31
32 raises NotDone from StdFail
33
34 is
35
36 Create(Parab          : Parab   from gp       ;
37        Alpha1, Alpha2 : Real    from Standard ;
38        Sense          : Boolean from Standard ) returns MakeArcOfParabola;
39         ---Purpose: Creates an arc of Parabola (TrimmedCurve from Geom) from 
40         --          a Parabola between two parameters Alpha1 and Alpha2
41         --          (given in radians).
42
43 Create(Parab : Parab   from gp       ;
44        P     : Pnt     from gp       ;
45        Alpha : Real    from Standard ;
46        Sense : Boolean from Standard ) returns MakeArcOfParabola;
47         ---Purpose: Creates an arc of Parabola (TrimmedCurve from Geom) from 
48         --          a Parabola between point <P> and the parameter
49         --          Alpha (given in radians).
50
51 Create(Parab : Parab   from gp ;
52        P1    : Pnt     from gp ;
53        P2    : Pnt     from gp ;
54        Sense : Boolean from Standard ) returns MakeArcOfParabola;
55         ---Purpose: Creates an arc of Parabola (TrimmedCurve from Geom) from 
56         --          a Parabola between two points P1 and P2.
57
58 Value(me) returns TrimmedCurve from Geom
59     raises NotDone
60     is static;
61         ---Purpose: Returns the constructed arc of parabola.
62         ---C++: return const&
63         ---C++: alias "operator const Handle(Geom_TrimmedCurve)& () const { return Value(); }"
64
65 fields
66
67     TheArc : TrimmedCurve from Geom;
68     --The solution from Geom.
69     
70 end MakeArcOfParabola;