0024428: Implementation of LGPL license
[occt.git] / src / ProjLib / ProjLib_Cone.cdl
1 -- Created on: 1993-08-24
2 -- Created by: Bruno DUMORTIER
3 -- Copyright (c) 1993-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 Cone from ProjLib inherits Projector from ProjLib
18
19         ---Purpose: Projects elementary curves on a cone.
20
21 uses
22     CurveType  from GeomAbs,
23     Cone       from gp,
24     Lin            from gp,
25     Circ           from gp,
26     Elips          from gp,
27     Parab          from gp,
28     Hypr           from gp,
29     Lin2d      from gp,
30     Circ2d     from gp,
31     Elips2d    from gp,
32     Parab2d    from gp,
33     Hypr2d     from gp
34
35 raises
36     NoSuchObject from Standard
37
38 is
39
40     Create returns Cone from ProjLib;
41         ---Purpose: Undefined projection.
42
43     Create(Co : Cone from gp) returns Cone from ProjLib;
44         ---Purpose: Projection on the cone <Co>.
45
46     Create(Co : Cone from gp;
47            L  : Lin from gp) returns Cone from ProjLib;
48         ---Purpose: Projection of the line <L> on the cone <Co>.
49
50     Create(Co : Cone  from gp;
51            C  : Circ from gp) returns Cone from ProjLib;
52         ---Purpose: Projection of the circle <C> on the cone <Co>.
53
54
55
56     Init(me : in out;
57          Co : Cone from gp)
58     is static;
59          
60     Project(me : in out;
61             L  : Lin from gp)
62     is redefined;
63     
64     Project(me : in out;
65             C  : Circ from gp)
66     is redefined;
67
68      Project(me : in out;
69              E  : Elips from gp)
70      is redefined;
71  
72      Project(me : in out;
73              P  : Parab from gp)
74      is redefined;
75  
76      Project(me : in out;
77              H  : Hypr from gp)
78      is redefined;
79              
80
81 fields
82
83     myCone : Cone from gp;
84
85 end Cone;