0031939: Coding - correction of spelling errors in comments [part 4]
[occt.git] / src / IGESDimen / IGESDimen_ReadWriteModule.cxx
1 // Copyright (c) 1999-2014 OPEN CASCADE SAS
2 //
3 // This file is part of Open CASCADE Technology software library.
4 //
5 // This library is free software; you can redistribute it and/or modify it under
6 // the terms of the GNU Lesser General Public License version 2.1 as published
7 // by the Free Software Foundation, with special exception defined in the file
8 // OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
9 // distribution for complete text of the license and disclaimer of any warranty.
10 //
11 // Alternatively, this file may be used under the terms of Open CASCADE
12 // commercial license or contractual agreement.
13
14
15 #include <IGESData_IGESEntity.hxx>
16 #include <IGESData_IGESReaderData.hxx>
17 #include <IGESData_IGESWriter.hxx>
18 #include <IGESData_ParamReader.hxx>
19 #include <IGESDimen_AngularDimension.hxx>
20 #include <IGESDimen_BasicDimension.hxx>
21 #include <IGESDimen_CenterLine.hxx>
22 #include <IGESDimen_CurveDimension.hxx>
23 #include <IGESDimen_DiameterDimension.hxx>
24 #include <IGESDimen_DimensionDisplayData.hxx>
25 #include <IGESDimen_DimensionedGeometry.hxx>
26 #include <IGESDimen_DimensionTolerance.hxx>
27 #include <IGESDimen_DimensionUnits.hxx>
28 #include <IGESDimen_FlagNote.hxx>
29 #include <IGESDimen_GeneralLabel.hxx>
30 #include <IGESDimen_GeneralNote.hxx>
31 #include <IGESDimen_GeneralSymbol.hxx>
32 #include <IGESDimen_LeaderArrow.hxx>
33 #include <IGESDimen_LinearDimension.hxx>
34 #include <IGESDimen_NewDimensionedGeometry.hxx>
35 #include <IGESDimen_NewGeneralNote.hxx>
36 #include <IGESDimen_OrdinateDimension.hxx>
37 #include <IGESDimen_PointDimension.hxx>
38 #include <IGESDimen_RadiusDimension.hxx>
39 #include <IGESDimen_ReadWriteModule.hxx>
40 #include <IGESDimen_Section.hxx>
41 #include <IGESDimen_SectionedArea.hxx>
42 #include <IGESDimen_ToolAngularDimension.hxx>
43 #include <IGESDimen_ToolBasicDimension.hxx>
44 #include <IGESDimen_ToolCenterLine.hxx>
45 #include <IGESDimen_ToolCurveDimension.hxx>
46 #include <IGESDimen_ToolDiameterDimension.hxx>
47 #include <IGESDimen_ToolDimensionDisplayData.hxx>
48 #include <IGESDimen_ToolDimensionedGeometry.hxx>
49 #include <IGESDimen_ToolDimensionTolerance.hxx>
50 #include <IGESDimen_ToolDimensionUnits.hxx>
51 #include <IGESDimen_ToolFlagNote.hxx>
52 #include <IGESDimen_ToolGeneralLabel.hxx>
53 #include <IGESDimen_ToolGeneralNote.hxx>
54 #include <IGESDimen_ToolGeneralSymbol.hxx>
55 #include <IGESDimen_ToolLeaderArrow.hxx>
56 #include <IGESDimen_ToolLinearDimension.hxx>
57 #include <IGESDimen_ToolNewDimensionedGeometry.hxx>
58 #include <IGESDimen_ToolNewGeneralNote.hxx>
59 #include <IGESDimen_ToolOrdinateDimension.hxx>
60 #include <IGESDimen_ToolPointDimension.hxx>
61 #include <IGESDimen_ToolRadiusDimension.hxx>
62 #include <IGESDimen_ToolSection.hxx>
63 #include <IGESDimen_ToolSectionedArea.hxx>
64 #include <IGESDimen_ToolWitnessLine.hxx>
65 #include <IGESDimen_WitnessLine.hxx>
66 #include <Interface_Macros.hxx>
67 #include <Standard_DomainError.hxx>
68 #include <Standard_Type.hxx>
69
70 IMPLEMENT_STANDARD_RTTIEXT(IGESDimen_ReadWriteModule,IGESData_ReadWriteModule)
71
72 //  Each Module is attached to a Protocol : it must interpret Case Numbers
73 //  (arguments <CN> of various methods) in accordance to values returned by
74 //  the method TypeNumber from this Protocol
75 IGESDimen_ReadWriteModule::IGESDimen_ReadWriteModule ()    {  }
76
77
78     Standard_Integer  IGESDimen_ReadWriteModule::CaseIGES
79   (const Standard_Integer typenum, const Standard_Integer formnum) const 
80 {
81   switch (typenum) {
82     case 106 :
83       if      (formnum == 20 || formnum == 21) return  3;
84       else if (formnum  > 30 && formnum  < 40) return 21;
85       else if (formnum == 40)                  return 23;
86       break;
87     case 202 : return  1;
88     case 204 : return  4;
89     case 206 : return  5;
90     case 208 : return 10;
91     case 210 : return 11;
92     case 212 : return 12;
93     case 213 : return 17;
94     case 214 : return 14;
95     case 216 : return 15;
96     case 218 : return 18;
97     case 220 : return 19;
98     case 222 : return 20;
99     case 228 : return 13;
100     case 230 : return 22;
101     case 402 :
102       switch (formnum) {
103         case 13 : return  9;
104         case 21 : return 16;
105         default : break;
106       }
107       break;
108     case 406 :
109       switch (formnum) {
110         case 28 : return  8;
111         case 29 : return  7;
112         case 30 : return  6;
113         case 31 : return  2;
114         default : break;
115       }
116       break;
117     default : break;
118   }
119   return 0;
120 }
121
122
123     void  IGESDimen_ReadWriteModule::ReadOwnParams
124   (const Standard_Integer CN, const Handle(IGESData_IGESEntity)& ent,
125    const Handle(IGESData_IGESReaderData)& IR, IGESData_ParamReader& PR) const 
126 {
127   switch (CN) {
128     case  1 : {
129       DeclareAndCast(IGESDimen_AngularDimension,anent,ent);
130       if (anent.IsNull()) return;
131       IGESDimen_ToolAngularDimension tool;
132       tool.ReadOwnParams(anent,IR,PR);
133     }
134       break;
135     case  2 : {
136       DeclareAndCast(IGESDimen_BasicDimension,anent,ent);
137       if (anent.IsNull()) return;
138       IGESDimen_ToolBasicDimension tool;
139       tool.ReadOwnParams(anent,IR,PR);
140     }
141       break;
142     case  3 : {
143       DeclareAndCast(IGESDimen_CenterLine,anent,ent);
144       if (anent.IsNull()) return;
145       IGESDimen_ToolCenterLine tool;
146       tool.ReadOwnParams(anent,IR,PR);
147     }
148       break;
149     case  4 : {
150       DeclareAndCast(IGESDimen_CurveDimension,anent,ent);
151       if (anent.IsNull()) return;
152       IGESDimen_ToolCurveDimension tool;
153       tool.ReadOwnParams(anent,IR,PR);
154     }
155       break;
156     case  5 : {
157       DeclareAndCast(IGESDimen_DiameterDimension,anent,ent);
158       if (anent.IsNull()) return;
159       IGESDimen_ToolDiameterDimension tool;
160       tool.ReadOwnParams(anent,IR,PR);
161     }
162       break;
163     case  6 : {
164       DeclareAndCast(IGESDimen_DimensionDisplayData,anent,ent);
165       if (anent.IsNull()) return;
166       IGESDimen_ToolDimensionDisplayData tool;
167       tool.ReadOwnParams(anent,IR,PR);
168     }
169       break;
170     case  7 : {
171       DeclareAndCast(IGESDimen_DimensionTolerance,anent,ent);
172       if (anent.IsNull()) return;
173       IGESDimen_ToolDimensionTolerance tool;
174       tool.ReadOwnParams(anent,IR,PR);
175     }
176       break;
177     case  8 : {
178       DeclareAndCast(IGESDimen_DimensionUnits,anent,ent);
179       if (anent.IsNull()) return;
180       IGESDimen_ToolDimensionUnits tool;
181       tool.ReadOwnParams(anent,IR,PR);
182     }
183       break;
184     case  9 : {
185       DeclareAndCast(IGESDimen_DimensionedGeometry,anent,ent);
186       if (anent.IsNull()) return;
187       IGESDimen_ToolDimensionedGeometry tool;
188       tool.ReadOwnParams(anent,IR,PR);
189     }
190       break;
191     case 10 : {
192       DeclareAndCast(IGESDimen_FlagNote,anent,ent);
193       if (anent.IsNull()) return;
194       IGESDimen_ToolFlagNote tool;
195       tool.ReadOwnParams(anent,IR,PR);
196     }
197       break;
198     case 11 : {
199       DeclareAndCast(IGESDimen_GeneralLabel,anent,ent);
200       if (anent.IsNull()) return;
201       IGESDimen_ToolGeneralLabel tool;
202       tool.ReadOwnParams(anent,IR,PR);
203     }
204       break;
205     case 12 : {
206       DeclareAndCast(IGESDimen_GeneralNote,anent,ent);
207       if (anent.IsNull()) return;
208       IGESDimen_ToolGeneralNote tool;
209       tool.ReadOwnParams(anent,IR,PR);
210     }
211       break;
212     case 13 : {
213       DeclareAndCast(IGESDimen_GeneralSymbol,anent,ent);
214       if (anent.IsNull()) return;
215       IGESDimen_ToolGeneralSymbol tool;
216       tool.ReadOwnParams(anent,IR,PR);
217     }
218       break;
219     case 14 : {
220       DeclareAndCast(IGESDimen_LeaderArrow,anent,ent);
221       if (anent.IsNull()) return;
222       IGESDimen_ToolLeaderArrow tool;
223       tool.ReadOwnParams(anent,IR,PR);
224     }
225       break;
226     case 15 : {
227       DeclareAndCast(IGESDimen_LinearDimension,anent,ent);
228       if (anent.IsNull()) return;
229       IGESDimen_ToolLinearDimension tool;
230       tool.ReadOwnParams(anent,IR,PR);
231     }
232       break;
233     case 16 : {
234       DeclareAndCast(IGESDimen_NewDimensionedGeometry,anent,ent);
235       if (anent.IsNull()) return;
236       IGESDimen_ToolNewDimensionedGeometry tool;
237       tool.ReadOwnParams(anent,IR,PR);
238     }
239       break;
240     case 17 : {
241       DeclareAndCast(IGESDimen_NewGeneralNote,anent,ent);
242       if (anent.IsNull()) return;
243       IGESDimen_ToolNewGeneralNote tool;
244       tool.ReadOwnParams(anent,IR,PR);
245     }
246       break;
247     case 18 : {
248       DeclareAndCast(IGESDimen_OrdinateDimension,anent,ent);
249       if (anent.IsNull()) return;
250       IGESDimen_ToolOrdinateDimension tool;
251       tool.ReadOwnParams(anent,IR,PR);
252     }
253       break;
254     case 19 : {
255       DeclareAndCast(IGESDimen_PointDimension,anent,ent);
256       if (anent.IsNull()) return;
257       IGESDimen_ToolPointDimension tool;
258       tool.ReadOwnParams(anent,IR,PR);
259     }
260       break;
261     case 20 : {
262       DeclareAndCast(IGESDimen_RadiusDimension,anent,ent);
263       if (anent.IsNull()) return;
264       IGESDimen_ToolRadiusDimension tool;
265       tool.ReadOwnParams(anent,IR,PR);
266     }
267       break;
268     case 21 : {
269       DeclareAndCast(IGESDimen_Section,anent,ent);
270       if (anent.IsNull()) return;
271       IGESDimen_ToolSection tool;
272       tool.ReadOwnParams(anent,IR,PR);
273     }
274       break;
275     case 22 : {
276       DeclareAndCast(IGESDimen_SectionedArea,anent,ent);
277       if (anent.IsNull()) return;
278       IGESDimen_ToolSectionedArea tool;
279       tool.ReadOwnParams(anent,IR,PR);
280     }
281       break;
282     case 23 : {
283       DeclareAndCast(IGESDimen_WitnessLine,anent,ent);
284       if (anent.IsNull()) return;
285       IGESDimen_ToolWitnessLine tool;
286       tool.ReadOwnParams(anent,IR,PR);
287     }
288       break;
289     default : break;
290   }
291 }
292
293
294     void  IGESDimen_ReadWriteModule::WriteOwnParams
295   (const Standard_Integer CN,  const Handle(IGESData_IGESEntity)& ent,
296    IGESData_IGESWriter& IW) const
297 {
298   switch (CN) {
299     case  1 : {
300       DeclareAndCast(IGESDimen_AngularDimension,anent,ent);
301       if (anent.IsNull()) return;
302       IGESDimen_ToolAngularDimension tool;
303       tool.WriteOwnParams(anent,IW);
304     }
305       break;
306     case  2 : {
307       DeclareAndCast(IGESDimen_BasicDimension,anent,ent);
308       if (anent.IsNull()) return;
309       IGESDimen_ToolBasicDimension tool;
310       tool.WriteOwnParams(anent,IW);
311     }
312       break;
313     case  3 : {
314       DeclareAndCast(IGESDimen_CenterLine,anent,ent);
315       if (anent.IsNull()) return;
316       IGESDimen_ToolCenterLine tool;
317       tool.WriteOwnParams(anent,IW);
318     }
319       break;
320     case  4 : {
321       DeclareAndCast(IGESDimen_CurveDimension,anent,ent);
322       if (anent.IsNull()) return;
323       IGESDimen_ToolCurveDimension tool;
324       tool.WriteOwnParams(anent,IW);
325     }
326       break;
327     case  5 : {
328       DeclareAndCast(IGESDimen_DiameterDimension,anent,ent);
329       if (anent.IsNull()) return;
330       IGESDimen_ToolDiameterDimension tool;
331       tool.WriteOwnParams(anent,IW);
332     }
333       break;
334     case  6 : {
335       DeclareAndCast(IGESDimen_DimensionDisplayData,anent,ent);
336       if (anent.IsNull()) return;
337       IGESDimen_ToolDimensionDisplayData tool;
338       tool.WriteOwnParams(anent,IW);
339     }
340       break;
341     case  7 : {
342       DeclareAndCast(IGESDimen_DimensionTolerance,anent,ent);
343       if (anent.IsNull()) return;
344       IGESDimen_ToolDimensionTolerance tool;
345       tool.WriteOwnParams(anent,IW);
346     }
347       break;
348     case  8 : {
349       DeclareAndCast(IGESDimen_DimensionUnits,anent,ent);
350       if (anent.IsNull()) return;
351       IGESDimen_ToolDimensionUnits tool;
352       tool.WriteOwnParams(anent,IW);
353     }
354       break;
355     case  9 : {
356       DeclareAndCast(IGESDimen_DimensionedGeometry,anent,ent);
357       if (anent.IsNull()) return;
358       IGESDimen_ToolDimensionedGeometry tool;
359       tool.WriteOwnParams(anent,IW);
360     }
361       break;
362     case 10 : {
363       DeclareAndCast(IGESDimen_FlagNote,anent,ent);
364       if (anent.IsNull()) return;
365       IGESDimen_ToolFlagNote tool;
366       tool.WriteOwnParams(anent,IW);
367     }
368       break;
369     case 11 : {
370       DeclareAndCast(IGESDimen_GeneralLabel,anent,ent);
371       if (anent.IsNull()) return;
372       IGESDimen_ToolGeneralLabel tool;
373       tool.WriteOwnParams(anent,IW);
374     }
375       break;
376     case 12 : {
377       DeclareAndCast(IGESDimen_GeneralNote,anent,ent);
378       if (anent.IsNull()) return;
379       IGESDimen_ToolGeneralNote tool;
380       tool.WriteOwnParams(anent,IW);
381     }
382       break;
383     case 13 : {
384       DeclareAndCast(IGESDimen_GeneralSymbol,anent,ent);
385       if (anent.IsNull()) return;
386       IGESDimen_ToolGeneralSymbol tool;
387       tool.WriteOwnParams(anent,IW);
388     }
389       break;
390     case 14 : {
391       DeclareAndCast(IGESDimen_LeaderArrow,anent,ent);
392       if (anent.IsNull()) return;
393       IGESDimen_ToolLeaderArrow tool;
394       tool.WriteOwnParams(anent,IW);
395     }
396       break;
397     case 15 : {
398       DeclareAndCast(IGESDimen_LinearDimension,anent,ent);
399       if (anent.IsNull()) return;
400       IGESDimen_ToolLinearDimension tool;
401       tool.WriteOwnParams(anent,IW);
402     }
403       break;
404     case 16 : {
405       DeclareAndCast(IGESDimen_NewDimensionedGeometry,anent,ent);
406       if (anent.IsNull()) return;
407       IGESDimen_ToolNewDimensionedGeometry tool;
408       tool.WriteOwnParams(anent,IW);
409     }
410       break;
411     case 17 : {
412       DeclareAndCast(IGESDimen_NewGeneralNote,anent,ent);
413       if (anent.IsNull()) return;
414       IGESDimen_ToolNewGeneralNote tool;
415       tool.WriteOwnParams(anent,IW);
416     }
417       break;
418     case 18 : {
419       DeclareAndCast(IGESDimen_OrdinateDimension,anent,ent);
420       if (anent.IsNull()) return;
421       IGESDimen_ToolOrdinateDimension tool;
422       tool.WriteOwnParams(anent,IW);
423     }
424       break;
425     case 19 : {
426       DeclareAndCast(IGESDimen_PointDimension,anent,ent);
427       if (anent.IsNull()) return;
428       IGESDimen_ToolPointDimension tool;
429       tool.WriteOwnParams(anent,IW);
430     }
431       break;
432     case 20 : {
433       DeclareAndCast(IGESDimen_RadiusDimension,anent,ent);
434       if (anent.IsNull()) return;
435       IGESDimen_ToolRadiusDimension tool;
436       tool.WriteOwnParams(anent,IW);
437     }
438       break;
439     case 21 : {
440       DeclareAndCast(IGESDimen_Section,anent,ent);
441       if (anent.IsNull()) return;
442       IGESDimen_ToolSection tool;
443       tool.WriteOwnParams(anent,IW);
444     }
445       break;
446     case 22 : {
447       DeclareAndCast(IGESDimen_SectionedArea,anent,ent);
448       if (anent.IsNull()) return;
449       IGESDimen_ToolSectionedArea tool;
450       tool.WriteOwnParams(anent,IW);
451     }
452       break;
453     case 23 : {
454       DeclareAndCast(IGESDimen_WitnessLine,anent,ent);
455       if (anent.IsNull()) return;
456       IGESDimen_ToolWitnessLine tool;
457       tool.WriteOwnParams(anent,IW);
458     }
459       break;
460     default : break;
461   }
462 }