0023839: Projection algorithm produces wrong results for set of data
[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-2012 OPEN CASCADE SAS
5 --
6 -- The content of this file is subject to the Open CASCADE Technology Public
7 -- License Version 6.5 (the "License"). You may not use the content of this file
8 -- except in compliance with the License. Please obtain a copy of the License
9 -- at http://www.opencascade.org and read it completely before using this file.
10 --
11 -- The Initial Developer of the Original Code is Open CASCADE S.A.S., having its
12 -- main offices at: 1, place des Freres Montgolfier, 78280 Guyancourt, France.
13 --
14 -- The Original Code and all software distributed under the License is
15 -- distributed on an "AS IS" basis, without warranty of any kind, and the
16 -- Initial Developer hereby disclaims all such warranties, including without
17 -- limitation, any warranties of merchantability, fitness for a particular
18 -- purpose or non-infringement. Please see the License for the specific terms
19 -- and conditions governing the rights and limitations under the License.
20
21
22 class Cone from ProjLib inherits Projector from ProjLib
23
24         ---Purpose: Projects elementary curves on a cone.
25
26 uses
27     CurveType  from GeomAbs,
28     Cone       from gp,
29     Lin            from gp,
30     Circ           from gp,
31     Elips          from gp,
32     Parab          from gp,
33     Hypr           from gp,
34     Lin2d      from gp,
35     Circ2d     from gp,
36     Elips2d    from gp,
37     Parab2d    from gp,
38     Hypr2d     from gp
39
40 raises
41     NoSuchObject from Standard
42
43 is
44
45     Create returns Cone from ProjLib;
46         ---Purpose: Undefined projection.
47
48     Create(Co : Cone from gp) returns Cone from ProjLib;
49         ---Purpose: Projection on the cone <Co>.
50
51     Create(Co : Cone from gp;
52            L  : Lin from gp) returns Cone from ProjLib;
53         ---Purpose: Projection of the line <L> on the cone <Co>.
54
55     Create(Co : Cone  from gp;
56            C  : Circ from gp) returns Cone from ProjLib;
57         ---Purpose: Projection of the circle <C> on the cone <Co>.
58
59
60
61     Init(me : in out;
62          Co : Cone from gp)
63     is static;
64          
65     Project(me : in out;
66             L  : Lin from gp)
67     is redefined;
68     
69     Project(me : in out;
70             C  : Circ from gp)
71     is redefined;
72
73      Project(me : in out;
74              E  : Elips from gp)
75      is redefined;
76  
77      Project(me : in out;
78              P  : Parab from gp)
79      is redefined;
80  
81      Project(me : in out;
82              H  : Hypr from gp)
83      is redefined;
84              
85
86 fields
87
88     myCone : Cone from gp;
89
90 end Cone;