b311480e |
1 | -- Created on: 1993-08-24 |
2 | -- Created by: Bruno DUMORTIER |
3 | -- Copyright (c) 1993-1999 Matra Datavision |
973c2be1 |
4 | -- Copyright (c) 1999-2014 OPEN CASCADE SAS |
b311480e |
5 | -- |
973c2be1 |
6 | -- This file is part of Open CASCADE Technology software library. |
b311480e |
7 | -- |
d5f74e42 |
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 |
973c2be1 |
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. |
b311480e |
13 | -- |
973c2be1 |
14 | -- Alternatively, this file may be used under the terms of Open CASCADE |
15 | -- commercial license or contractual agreement. |
7fd59977 |
16 | |
17 | class Sphere from ProjLib inherits Projector from ProjLib |
18 | |
19 | ---Purpose: Projects elementary curves on a sphere. |
20 | |
21 | uses |
22 | CurveType from GeomAbs, |
23 | Sphere 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 Sphere from ProjLib; |
41 | ---Purpose: Undefined projection. |
42 | |
43 | Create(Sp : Sphere from gp) returns Sphere from ProjLib; |
44 | ---Purpose: Projection on the sphere <Sp>. |
45 | |
46 | Create(Sp : Sphere from gp; |
47 | C : Circ from gp) returns Sphere from ProjLib; |
48 | ---Purpose: Projection of the circle <C> on the sphere <Sp>. |
49 | |
50 | |
51 | |
52 | Init(me : in out; |
53 | Sp : Sphere from gp) |
54 | is static; |
55 | |
56 | Project(me : in out; |
57 | L : Lin from gp) |
58 | is redefined; |
59 | |
60 | Project(me : in out; |
61 | C : Circ from gp) |
62 | is redefined; |
63 | |
64 | Project(me : in out; |
65 | E : Elips from gp) |
66 | is redefined; |
67 | |
68 | Project(me : in out; |
69 | P : Parab from gp) |
70 | is redefined; |
71 | |
72 | Project(me : in out; |
73 | H : Hypr from gp) |
74 | is redefined; |
75 | |
76 | SetInBounds(me: in out; |
77 | U : Real from Standard) |
78 | ---Purpose: Set the point of parameter U on C in the natural |
79 | -- restrictions of the sphere. |
80 | is static; |
81 | |
82 | |
83 | fields |
84 | |
85 | mySphere : Sphere from gp; |
86 | |
87 | end Sphere; |