0022820: OCCT IGES writer loses plane information
[occt.git] / src / GeomToIGES / GeomToIGES_GeomSurface.cdl
1 -- Created on: 1994-11-17
2 -- Created by: Marie Jose MARTZ
3 -- Copyright (c) 1994-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 GeomSurface from GeomToIGES inherits GeomEntity from GeomToIGES
23
24
25     ---Purpose: This class implements the transfer of the Surface Entity from Geom
26     --          To IGES. These can be :
27     --          . BoundedSurface
28     --               * BSplineSurface
29     --               * BezierSurface
30     --               * RectangularTrimmedSurface
31     --          . ElementarySurface  
32     --               * Plane
33     --               * CylindricalSurface
34     --               * ConicalSurface
35     --               * SphericalSurface
36     --               * ToroidalSurface
37     --          . SweptSurface     
38     --               * SurfaceOfLinearExtrusion
39     --               * SurfaceOfRevolution
40     --          . OffsetSurface
41
42   
43 uses
44
45     Real                      from Standard,
46     Surface                   from Geom, 
47     BoundedSurface            from Geom,
48     BSplineSurface            from Geom,
49     BezierSurface             from Geom,
50     RectangularTrimmedSurface from Geom,
51     ElementarySurface         from Geom,
52     Plane                     from Geom, 
53     CylindricalSurface        from Geom,
54     ConicalSurface            from Geom,
55     SphericalSurface          from Geom,
56     ToroidalSurface           from Geom,
57     SweptSurface              from Geom,
58     SurfaceOfLinearExtrusion  from Geom,
59     SurfaceOfRevolution       from Geom,
60     OffsetSurface             from Geom,
61     IGESEntity                from IGESData,
62     GeomEntity                from GeomToIGES    
63     
64     
65 is 
66     
67     Create returns GeomSurface from GeomToIGES;
68
69
70     Create(GE : GeomEntity from GeomToIGES)  
71     returns GeomSurface from GeomToIGES;
72         ---Purpose: Creates a tool GeomSurface ready to run and sets its
73         --          fields as GE's.
74
75     TransferSurface        (me    : in out;
76                             start : Surface from Geom;
77                             Udeb  : Real    from Standard;
78                             Ufin  : Real    from Standard;
79                             Vdeb  : Real    from Standard;
80                             Vfin  : Real    from Standard)
81     returns mutable IGESEntity from IGESData;
82         ---Purpose: Transfert  a  GeometryEntity which  answer True  to  the
83         --          member : BRepToIGES::IsGeomSurface(Geometry).  If this
84         --          Entity could not be converted, this member returns a NullEntity.
85
86
87     TransferSurface        (me    : in out;
88                             start : BoundedSurface from Geom;
89                             Udeb  : Real           from Standard;
90                             Ufin  : Real           from Standard;
91                             Vdeb  : Real           from Standard;
92                             Vfin  : Real           from Standard)
93     returns mutable IGESEntity from IGESData;
94
95
96     TransferSurface        (me    : in out;
97                             start : BSplineSurface from Geom;
98                             Udeb  : Real           from Standard;
99                             Ufin  : Real           from Standard;
100                             Vdeb  : Real           from Standard;
101                             Vfin  : Real           from Standard)
102     returns mutable IGESEntity from IGESData;
103
104     TransferSurface        (me    : in out;
105                             start : BezierSurface from Geom;
106                             Udeb  : Real          from Standard;
107                             Ufin  : Real          from Standard;
108                             Vdeb  : Real          from Standard;
109                             Vfin  : Real          from Standard)
110     returns mutable IGESEntity from IGESData;
111
112     TransferSurface        (me    : in out;
113                             start : RectangularTrimmedSurface from Geom;
114                             Udeb  : Real                      from Standard;
115                             Ufin  : Real                      from Standard;
116                             Vdeb  : Real                      from Standard;
117                             Vfin  : Real                      from Standard)
118     returns mutable IGESEntity from IGESData;
119
120
121     TransferSurface        (me    : in out;
122                             start : ElementarySurface from Geom;
123                             Udeb  : Real              from Standard;
124                             Ufin  : Real              from Standard;
125                             Vdeb  : Real              from Standard;
126                             Vfin  : Real              from Standard)
127     returns mutable IGESEntity from IGESData;
128
129
130     TransferSurface        (me    : in out;
131                             start : Plane from Geom;
132                             Udeb  : Real  from Standard;
133                             Ufin  : Real  from Standard;
134                             Vdeb  : Real  from Standard;
135                             Vfin  : Real  from Standard)
136     returns mutable IGESEntity from IGESData;
137     
138
139     TransferSurface        (me    : in out;
140                             start : CylindricalSurface from Geom;
141                             Udeb  : Real               from Standard;
142                             Ufin  : Real               from Standard;
143                             Vdeb  : Real               from Standard;
144                             Vfin  : Real               from Standard)
145     returns mutable IGESEntity from IGESData;
146
147
148     TransferSurface        (me    : in out;
149                             start : ConicalSurface from Geom;
150                             Udeb  : Real           from Standard;
151                             Ufin  : Real           from Standard;
152                             Vdeb  : Real           from Standard;
153                             Vfin  : Real           from Standard)
154     returns mutable IGESEntity from IGESData;
155
156
157     TransferSurface        (me    : in out;
158                             start : SphericalSurface from Geom;
159                             Udeb  : Real             from Standard;
160                             Ufin  : Real             from Standard;
161                             Vdeb  : Real             from Standard;
162                             Vfin  : Real             from Standard)
163     returns mutable IGESEntity from IGESData;
164
165
166     TransferSurface        (me    : in out;
167                             start : ToroidalSurface from Geom;
168                             Udeb  : Real            from Standard;
169                             Ufin  : Real            from Standard;
170                             Vdeb  : Real            from Standard;
171                             Vfin  : Real            from Standard)
172     returns mutable IGESEntity from IGESData;
173
174
175     TransferSurface        (me    : in out;
176                             start : SweptSurface from Geom;
177                             Udeb  : Real         from Standard;
178                             Ufin  : Real         from Standard;
179                             Vdeb  : Real         from Standard;
180                             Vfin  : Real         from Standard)
181     returns mutable IGESEntity from IGESData;
182
183
184     TransferSurface        (me    : in out;
185                             start : SurfaceOfLinearExtrusion from Geom;
186                             Udeb  : Real                     from Standard;
187                             Ufin  : Real                     from Standard;
188                             Vdeb  : Real                     from Standard;
189                             Vfin  : Real                     from Standard)
190     returns mutable IGESEntity from IGESData;
191
192
193     TransferSurface        (me    : in out;
194                             start : SurfaceOfRevolution from Geom;
195                             Udeb  : Real                from Standard;
196                             Ufin  : Real                from Standard;
197                             Vdeb  : Real                from Standard;
198                             Vfin  : Real                from Standard)
199     returns mutable IGESEntity from IGESData;
200
201
202     TransferSurface        (me    : in out;
203                             start : OffsetSurface from Geom;
204                             Udeb  : Real          from Standard;
205                             Ufin  : Real          from Standard;
206                             Vdeb  : Real          from Standard;
207                             Vfin  : Real          from Standard)
208     returns mutable IGESEntity from IGESData;
209
210
211     -- Methods for translating sufraces in BRep IGES
212
213     
214     TransferPlaneSurface   (me    : in out;
215                             start : Plane from Geom;
216                             Udeb  : Real  from Standard;
217                             Ufin  : Real  from Standard;
218                             Vdeb  : Real  from Standard;
219                             Vfin  : Real  from Standard)
220     returns mutable IGESEntity from IGESData;
221
222
223     TransferCylindricalSurface(me   : in out;
224                                start: CylindricalSurface from Geom;
225                                Udeb : Real  from Standard;
226                                Ufin : Real  from Standard;
227                                Vdeb : Real  from Standard;
228                                Vfin : Real  from Standard)
229     returns mutable IGESEntity from IGESData;
230     
231     
232     TransferConicalSurface(me   : in out;
233                            start: ConicalSurface from Geom;
234                            Udeb : Real  from Standard;
235                            Ufin : Real  from Standard;
236                            Vdeb : Real  from Standard;
237                            Vfin : Real  from Standard)
238     returns mutable IGESEntity from IGESData;
239     
240     
241     TransferSphericalSurface(me   : in out;
242                              start: SphericalSurface from Geom;
243                              Udeb : Real  from Standard;
244                              Ufin : Real  from Standard;
245                              Vdeb : Real  from Standard;
246                              Vfin : Real  from Standard)
247     returns mutable IGESEntity from IGESData;
248     
249     
250     TransferToroidalSurface(me   : in out;
251                             start: ToroidalSurface from Geom;
252                             Udeb : Real  from Standard;
253                             Ufin : Real  from Standard;
254                             Vdeb : Real  from Standard;
255                             Vfin : Real  from Standard)
256     returns mutable IGESEntity from IGESData;
257
258     -- Methods for setting and obtaining fields.
259     
260     Length(me) returns Real;
261         ---Purpose: Returns the value of "TheLength" 
262     
263     GetBRepMode(me) returns Boolean from Standard;
264         ---Purpose: Returns Brep mode flag.
265         
266     SetBRepMode(me: in out; flag: Boolean from Standard);
267         ---Purpose: Sets BRep mode flag.
268     
269     GetAnalyticMode(me) returns Boolean from Standard;
270         ---Purpose: Returns flag for writing elementary surfaces
271     
272     SetAnalyticMode(me: in out; flag: Boolean from Standard);
273         ---Purpose: Setst flag for writing elementary surfaces
274     
275 fields
276
277     TheLength : Real from Standard;
278     myBRepMode: Boolean from Standard;
279     myAnalytic: Boolean from Standard;
280     
281 end GeomSurface;