0023258: Missing parenthesis
[occt.git] / src / IGESGeom / IGESGeom_SpecificModule.cxx
1 // Copyright (c) 1999-2012 OPEN CASCADE SAS
2 //
3 // The content of this file is subject to the Open CASCADE Technology Public
4 // License Version 6.5 (the "License"). You may not use the content of this file
5 // except in compliance with the License. Please obtain a copy of the License
6 // at http://www.opencascade.org and read it completely before using this file.
7 //
8 // The Initial Developer of the Original Code is Open CASCADE S.A.S., having its
9 // main offices at: 1, place des Freres Montgolfier, 78280 Guyancourt, France.
10 //
11 // The Original Code and all software distributed under the License is
12 // distributed on an "AS IS" basis, without warranty of any kind, and the
13 // Initial Developer hereby disclaims all such warranties, including without
14 // limitation, any warranties of merchantability, fitness for a particular
15 // purpose or non-infringement. Please see the License for the specific terms
16 // and conditions governing the rights and limitations under the License.
17
18 #include <IGESGeom_SpecificModule.ixx>
19 #include <Interface_Macros.hxx>
20
21 #include <IGESGeom_BSplineCurve.hxx>
22 #include <IGESGeom_BSplineSurface.hxx>
23 #include <IGESGeom_Boundary.hxx>
24 #include <IGESGeom_BoundedSurface.hxx>
25 #include <IGESGeom_CircularArc.hxx>
26 #include <IGESGeom_CompositeCurve.hxx>
27 #include <IGESGeom_ConicArc.hxx>
28 #include <IGESGeom_CopiousData.hxx>
29 #include <IGESGeom_CurveOnSurface.hxx>
30 #include <IGESGeom_Direction.hxx>
31 #include <IGESGeom_Flash.hxx>
32 #include <IGESGeom_Line.hxx>
33 #include <IGESGeom_OffsetCurve.hxx>
34 #include <IGESGeom_OffsetSurface.hxx>
35 #include <IGESGeom_Plane.hxx>
36 #include <IGESGeom_Point.hxx>
37 #include <IGESGeom_RuledSurface.hxx>
38 #include <IGESGeom_SplineCurve.hxx>
39 #include <IGESGeom_SplineSurface.hxx>
40 #include <IGESGeom_SurfaceOfRevolution.hxx>
41 #include <IGESGeom_TabulatedCylinder.hxx>
42 #include <IGESGeom_TransformationMatrix.hxx>
43 #include <IGESGeom_TrimmedSurface.hxx>
44
45 #include <IGESGeom_ToolBSplineCurve.hxx>
46 #include <IGESGeom_ToolBSplineSurface.hxx>
47 #include <IGESGeom_ToolBoundary.hxx>
48 #include <IGESGeom_ToolBoundedSurface.hxx>
49 #include <IGESGeom_ToolCircularArc.hxx>
50 #include <IGESGeom_ToolCompositeCurve.hxx>
51 #include <IGESGeom_ToolConicArc.hxx>
52 #include <IGESGeom_ToolCopiousData.hxx>
53 #include <IGESGeom_ToolCurveOnSurface.hxx>
54 #include <IGESGeom_ToolDirection.hxx>
55 #include <IGESGeom_ToolFlash.hxx>
56 #include <IGESGeom_ToolLine.hxx>
57 #include <IGESGeom_ToolOffsetCurve.hxx>
58 #include <IGESGeom_ToolOffsetSurface.hxx>
59 #include <IGESGeom_ToolPlane.hxx>
60 #include <IGESGeom_ToolPoint.hxx>
61 #include <IGESGeom_ToolRuledSurface.hxx>
62 #include <IGESGeom_ToolSplineCurve.hxx>
63 #include <IGESGeom_ToolSplineSurface.hxx>
64 #include <IGESGeom_ToolSurfaceOfRevolution.hxx>
65 #include <IGESGeom_ToolTabulatedCylinder.hxx>
66 #include <IGESGeom_ToolTransformationMatrix.hxx>
67 #include <IGESGeom_ToolTrimmedSurface.hxx>
68
69
70
71 //  Each Module is attached to a Protocol : it must interprete Case Numbers
72 //  (arguments <CN> of various methods) in accordance to values returned by
73 //  the method TypeNumber from this Protocol
74
75
76 IGESGeom_SpecificModule::IGESGeom_SpecificModule()    {  }
77
78
79     void  IGESGeom_SpecificModule::OwnDump
80   (const Standard_Integer CN, const Handle(IGESData_IGESEntity)& ent,
81    const IGESData_IGESDumper& dumper, const Handle(Message_Messenger)& S,
82    const Standard_Integer own) const 
83 {
84   switch (CN) {
85     case  1 : {
86       DeclareAndCast(IGESGeom_BSplineCurve,anent,ent);
87       if (anent.IsNull()) return;
88       IGESGeom_ToolBSplineCurve tool;
89       tool.OwnDump(anent,dumper,S,own);
90     }
91       break;
92     case  2 : {
93       DeclareAndCast(IGESGeom_BSplineSurface,anent,ent);
94       if (anent.IsNull()) return;
95       IGESGeom_ToolBSplineSurface tool;
96       tool.OwnDump(anent,dumper,S,own);
97     }
98       break;
99     case  3 : {
100       DeclareAndCast(IGESGeom_Boundary,anent,ent);
101       if (anent.IsNull()) return;
102       IGESGeom_ToolBoundary tool;
103       tool.OwnDump(anent,dumper,S,own);
104     }
105       break;
106     case  4 : {
107       DeclareAndCast(IGESGeom_BoundedSurface,anent,ent);
108       if (anent.IsNull()) return;
109       IGESGeom_ToolBoundedSurface tool;
110       tool.OwnDump(anent,dumper,S,own);
111     }
112       break;
113     case  5 : {
114       DeclareAndCast(IGESGeom_CircularArc,anent,ent);
115       if (anent.IsNull()) return;
116       IGESGeom_ToolCircularArc tool;
117       tool.OwnDump(anent,dumper,S,own);
118     }
119       break;
120     case  6 : {
121       DeclareAndCast(IGESGeom_CompositeCurve,anent,ent);
122       if (anent.IsNull()) return;
123       IGESGeom_ToolCompositeCurve tool;
124       tool.OwnDump(anent,dumper,S,own);
125     }
126       break;
127     case  7 : {
128       DeclareAndCast(IGESGeom_ConicArc,anent,ent);
129       if (anent.IsNull()) return;
130       IGESGeom_ToolConicArc tool;
131       tool.OwnDump(anent,dumper,S,own);
132     }
133       break;
134     case  8 : {
135       DeclareAndCast(IGESGeom_CopiousData,anent,ent);
136       if (anent.IsNull()) return;
137       IGESGeom_ToolCopiousData tool;
138       tool.OwnDump(anent,dumper,S,own);
139     }
140       break;
141     case  9 : {
142       DeclareAndCast(IGESGeom_CurveOnSurface,anent,ent);
143       if (anent.IsNull()) return;
144       IGESGeom_ToolCurveOnSurface tool;
145       tool.OwnDump(anent,dumper,S,own);
146     }
147       break;
148     case 10 : {
149       DeclareAndCast(IGESGeom_Direction,anent,ent);
150       if (anent.IsNull()) return;
151       IGESGeom_ToolDirection tool;
152       tool.OwnDump(anent,dumper,S,own);
153     }
154       break;
155     case 11 : {
156       DeclareAndCast(IGESGeom_Flash,anent,ent);
157       if (anent.IsNull()) return;
158       IGESGeom_ToolFlash tool;
159       tool.OwnDump(anent,dumper,S,own);
160     }
161       break;
162     case 12 : {
163       DeclareAndCast(IGESGeom_Line,anent,ent);
164       if (anent.IsNull()) return;
165       IGESGeom_ToolLine tool;
166       tool.OwnDump(anent,dumper,S,own);
167     }
168       break;
169     case 13 : {
170       DeclareAndCast(IGESGeom_OffsetCurve,anent,ent);
171       if (anent.IsNull()) return;
172       IGESGeom_ToolOffsetCurve tool;
173       tool.OwnDump(anent,dumper,S,own);
174     }
175       break;
176     case 14 : {
177       DeclareAndCast(IGESGeom_OffsetSurface,anent,ent);
178       if (anent.IsNull()) return;
179       IGESGeom_ToolOffsetSurface tool;
180       tool.OwnDump(anent,dumper,S,own);
181     }
182       break;
183     case 15 : {
184       DeclareAndCast(IGESGeom_Plane,anent,ent);
185       if (anent.IsNull()) return;
186       IGESGeom_ToolPlane tool;
187       tool.OwnDump(anent,dumper,S,own);
188     }
189       break;
190     case 16 : {
191       DeclareAndCast(IGESGeom_Point,anent,ent);
192       if (anent.IsNull()) return;
193       IGESGeom_ToolPoint tool;
194       tool.OwnDump(anent,dumper,S,own);
195     }
196       break;
197     case 17 : {
198       DeclareAndCast(IGESGeom_RuledSurface,anent,ent);
199       if (anent.IsNull()) return;
200       IGESGeom_ToolRuledSurface tool;
201       tool.OwnDump(anent,dumper,S,own);
202     }
203       break;
204     case 18 : {
205       DeclareAndCast(IGESGeom_SplineCurve,anent,ent);
206       if (anent.IsNull()) return;
207       IGESGeom_ToolSplineCurve tool;
208       tool.OwnDump(anent,dumper,S,own);
209     }
210       break;
211     case 19 : {
212       DeclareAndCast(IGESGeom_SplineSurface,anent,ent);
213       if (anent.IsNull()) return;
214       IGESGeom_ToolSplineSurface tool;
215       tool.OwnDump(anent,dumper,S,own);
216     }
217       break;
218     case 20 : {
219       DeclareAndCast(IGESGeom_SurfaceOfRevolution,anent,ent);
220       if (anent.IsNull()) return;
221       IGESGeom_ToolSurfaceOfRevolution tool;
222       tool.OwnDump(anent,dumper,S,own);
223     }
224       break;
225     case 21 : {
226       DeclareAndCast(IGESGeom_TabulatedCylinder,anent,ent);
227       if (anent.IsNull()) return;
228       IGESGeom_ToolTabulatedCylinder tool;
229       tool.OwnDump(anent,dumper,S,own);
230     }
231       break;
232     case 22 : {
233       DeclareAndCast(IGESGeom_TransformationMatrix,anent,ent);
234       if (anent.IsNull()) return;
235       IGESGeom_ToolTransformationMatrix tool;
236       tool.OwnDump(anent,dumper,S,own);
237     }
238       break;
239     case 23 : {
240       DeclareAndCast(IGESGeom_TrimmedSurface,anent,ent);
241       if (anent.IsNull()) return;
242       IGESGeom_ToolTrimmedSurface tool;
243       tool.OwnDump(anent,dumper,S,own);
244     }
245       break;
246     default : break;
247   }
248 }
249
250
251     Standard_Boolean  IGESGeom_SpecificModule::OwnCorrect
252   (const Standard_Integer CN, const Handle(IGESData_IGESEntity)& ent) const
253 {
254 //   Applies only on some types
255   switch (CN) {
256     case  3 : {
257       DeclareAndCast(IGESGeom_Boundary,anent,ent);
258       if (anent.IsNull()) break;
259       IGESGeom_ToolBoundary tool;
260       return tool.OwnCorrect(anent);
261     }
262     case  7 : {
263       DeclareAndCast(IGESGeom_ConicArc,anent,ent);
264       if (anent.IsNull()) break;
265       IGESGeom_ToolConicArc tool;
266       return tool.OwnCorrect(anent);
267     }
268     case  9 : {
269       DeclareAndCast(IGESGeom_Boundary,anent,ent);
270       if (anent.IsNull()) break;
271       IGESGeom_ToolBoundary tool;
272       return tool.OwnCorrect(anent);
273     }
274     case 11 : {
275       DeclareAndCast(IGESGeom_Flash,anent,ent);
276       if (anent.IsNull()) break;
277       IGESGeom_ToolFlash tool;
278       return tool.OwnCorrect(anent);
279     }
280     case 13 : {
281       DeclareAndCast(IGESGeom_OffsetCurve,anent,ent);
282       if (anent.IsNull()) break;
283       IGESGeom_ToolOffsetCurve tool;
284       return tool.OwnCorrect(anent);
285     }
286     case 22 : {
287       DeclareAndCast(IGESGeom_TransformationMatrix,anent,ent);
288       if (anent.IsNull()) break;
289       IGESGeom_ToolTransformationMatrix tool;
290       return tool.OwnCorrect(anent);
291     }
292     default : break;
293   }
294   return Standard_False;
295 }