b311480e |
1 | -- Created on: 1993-08-11 |
2 | -- Created by: Remi LEQUETTE |
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 Projector from ProjLib |
18 | |
19 | ---Purpose: Root class for projection algorithms, stores the result. |
20 | |
21 | uses |
22 | CurveType from GeomAbs, |
23 | Lin from gp, |
24 | Circ from gp, |
25 | Elips from gp, |
26 | Parab from gp, |
27 | Hypr from gp, |
28 | Lin2d from gp, |
29 | Circ2d from gp, |
30 | Elips2d from gp, |
31 | Parab2d from gp, |
32 | Hypr2d from gp, |
33 | BezierCurve from Geom2d, |
34 | BSplineCurve from Geom2d |
35 | |
36 | raises |
37 | NoSuchObject from Standard, |
38 | NotImplemented from Standard |
39 | |
40 | is |
41 | |
42 | Create ; |
43 | ---Purpose: Sets the type to OtherCurve |
44 | |
45 | Delete(me:out) is virtual; |
46 | ---C++: alias "Standard_EXPORT virtual ~ProjLib_Projector(){Delete() ; }" |
47 | |
48 | IsDone(me) returns Boolean from Standard |
49 | is static; |
50 | |
51 | Done(me : in out) |
52 | ---Purpose: Set isDone = Standard_True; |
53 | is static; |
54 | |
55 | GetType(me) returns CurveType from GeomAbs |
56 | is static; |
57 | |
58 | SetBSpline(me : in out; C : BSplineCurve from Geom2d) |
59 | is static; |
60 | |
61 | SetBezier(me : in out; C : BezierCurve from Geom2d) |
62 | is static; |
63 | |
64 | SetType(me : in out; Type : CurveType from GeomAbs) |
65 | is static; |
66 | |
67 | IsPeriodic(me) |
68 | returns Boolean from Standard |
69 | is static; |
70 | |
71 | SetPeriodic(me: in out) |
72 | is static; |
73 | |
74 | Line(me) returns Lin2d from gp |
75 | ---C++: return const & |
76 | raises |
77 | NoSuchObject from Standard |
78 | is static; |
79 | |
80 | Circle(me) returns Circ2d from gp |
81 | ---C++: return const & |
82 | raises |
83 | NoSuchObject from Standard |
84 | is static; |
85 | |
86 | Ellipse(me) returns Elips2d from gp |
87 | ---C++: return const & |
88 | raises |
89 | NoSuchObject from Standard |
90 | is static; |
91 | |
92 | Hyperbola(me) returns Hypr2d from gp |
93 | ---C++: return const & |
94 | raises |
95 | NoSuchObject from Standard |
96 | is static; |
97 | |
98 | Parabola(me) returns Parab2d from gp |
99 | ---C++: return const & |
100 | raises |
101 | NoSuchObject from Standard |
102 | is static; |
103 | |
104 | Bezier(me) returns BezierCurve from Geom2d |
105 | raises |
106 | NoSuchObject from Standard |
107 | is static; |
108 | |
109 | |
110 | BSpline(me) returns BSplineCurve from Geom2d |
111 | raises |
112 | NoSuchObject from Standard |
113 | is static; |
114 | |
115 | Project(me : in out; |
116 | L : Lin from gp) |
117 | is virtual; |
118 | |
119 | Project(me : in out; |
120 | C : Circ from gp) |
121 | is virtual; |
122 | |
123 | Project(me : in out; |
124 | E : Elips from gp) |
125 | is virtual; |
126 | |
127 | Project(me : in out; |
128 | P : Parab from gp) |
129 | is virtual; |
130 | |
131 | Project(me : in out; |
132 | H : Hypr from gp) |
133 | is virtual; |
134 | |
135 | UFrame(me : in out; |
136 | CFirst, CLast : Real from Standard; -- Bounds of the curve |
137 | UFirst, Period : Real from Standard) -- UBounds of the surface |
138 | |
139 | ---Purpose: Translates the 2d curve |
140 | -- to set the part of the curve [CFirst, CLast] |
141 | -- in the range [ UFirst, UFirst + Period [ |
142 | is static; |
143 | |
144 | VFrame(me : in out; |
145 | CFirst, CLast : Real from Standard; -- Bounds of the curve |
146 | VFirst, Period : Real from Standard) -- VBounds of the surface |
147 | |
148 | ---Purpose: Translates the 2d curve |
149 | -- to set the part of the curve [CFirst, CLast] |
150 | -- in the range [ VFirst, VFirst + Period [ |
151 | is static; |
152 | |
153 | |
154 | fields |
155 | |
156 | myType : CurveType from GeomAbs is protected; |
157 | myLin : Lin2d from gp is protected; |
158 | myCirc : Circ2d from gp is protected; |
159 | myElips : Elips2d from gp is protected; |
160 | myHypr : Hypr2d from gp is protected; |
161 | myParab : Parab2d from gp is protected; |
162 | myBSpline : BSplineCurve from Geom2d is protected; |
163 | myBezier : BezierCurve from Geom2d is protected; |
164 | myIsPeriodic : Boolean from Standard is protected; |
165 | isDone : Boolean from Standard is protected; |
166 | |
167 | end Projector; |