973c2be1 |
1 | // Copyright (c) 1999-2014 OPEN CASCADE SAS |
b311480e |
2 | // |
973c2be1 |
3 | // This file is part of Open CASCADE Technology software library. |
b311480e |
4 | // |
d5f74e42 |
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 |
973c2be1 |
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. |
b311480e |
10 | // |
973c2be1 |
11 | // Alternatively, this file may be used under the terms of Open CASCADE |
12 | // commercial license or contractual agreement. |
b311480e |
13 | |
7fd59977 |
14 | |
42cf5bc1 |
15 | #include <IGESData_DirChecker.hxx> |
16 | #include <IGESData_IGESEntity.hxx> |
7fd59977 |
17 | #include <IGESDraw_CircArraySubfigure.hxx> |
18 | #include <IGESDraw_ConnectPoint.hxx> |
19 | #include <IGESDraw_Drawing.hxx> |
20 | #include <IGESDraw_DrawingWithRotation.hxx> |
42cf5bc1 |
21 | #include <IGESDraw_GeneralModule.hxx> |
7fd59977 |
22 | #include <IGESDraw_LabelDisplay.hxx> |
23 | #include <IGESDraw_NetworkSubfigure.hxx> |
24 | #include <IGESDraw_NetworkSubfigureDef.hxx> |
25 | #include <IGESDraw_PerspectiveView.hxx> |
26 | #include <IGESDraw_Planar.hxx> |
27 | #include <IGESDraw_RectArraySubfigure.hxx> |
28 | #include <IGESDraw_SegmentedViewsVisible.hxx> |
7fd59977 |
29 | #include <IGESDraw_ToolCircArraySubfigure.hxx> |
30 | #include <IGESDraw_ToolConnectPoint.hxx> |
31 | #include <IGESDraw_ToolDrawing.hxx> |
32 | #include <IGESDraw_ToolDrawingWithRotation.hxx> |
33 | #include <IGESDraw_ToolLabelDisplay.hxx> |
34 | #include <IGESDraw_ToolNetworkSubfigure.hxx> |
35 | #include <IGESDraw_ToolNetworkSubfigureDef.hxx> |
36 | #include <IGESDraw_ToolPerspectiveView.hxx> |
37 | #include <IGESDraw_ToolPlanar.hxx> |
38 | #include <IGESDraw_ToolRectArraySubfigure.hxx> |
39 | #include <IGESDraw_ToolSegmentedViewsVisible.hxx> |
40 | #include <IGESDraw_ToolView.hxx> |
41 | #include <IGESDraw_ToolViewsVisible.hxx> |
42 | #include <IGESDraw_ToolViewsVisibleWithAttr.hxx> |
42cf5bc1 |
43 | #include <IGESDraw_View.hxx> |
44 | #include <IGESDraw_ViewsVisible.hxx> |
45 | #include <IGESDraw_ViewsVisibleWithAttr.hxx> |
46 | #include <Interface_Category.hxx> |
47 | #include <Interface_Check.hxx> |
48 | #include <Interface_CopyTool.hxx> |
49 | #include <Interface_EntityIterator.hxx> |
50 | #include <Interface_Macros.hxx> |
51 | #include <Interface_ShareTool.hxx> |
52 | #include <Standard_Transient.hxx> |
53 | #include <Standard_Type.hxx> |
7fd59977 |
54 | |
92efcf78 |
55 | IMPLEMENT_STANDARD_RTTIEXT(IGESDraw_GeneralModule,IGESData_GeneralModule) |
56 | |
0177fe26 |
57 | // Each Module is attached to a Protocol : it must interpret Case Numbers |
7fd59977 |
58 | // (arguments <CN> of various methods) in accordance to values returned by |
59 | // the method TypeNumber from this Protocol |
b311480e |
60 | IGESDraw_GeneralModule::IGESDraw_GeneralModule () { } |
7fd59977 |
61 | |
62 | |
63 | void IGESDraw_GeneralModule::OwnSharedCase |
64 | (const Standard_Integer CN, const Handle(IGESData_IGESEntity)& ent, |
65 | Interface_EntityIterator& iter) const |
66 | { |
67 | switch (CN) { |
68 | case 1 : { |
69 | DeclareAndCast(IGESDraw_CircArraySubfigure,anent,ent); |
70 | if (anent.IsNull()) return; |
71 | IGESDraw_ToolCircArraySubfigure tool; |
72 | tool.OwnShared(anent,iter); |
73 | } |
74 | break; |
75 | case 2 : { |
76 | DeclareAndCast(IGESDraw_ConnectPoint,anent,ent); |
77 | if (anent.IsNull()) return; |
78 | IGESDraw_ToolConnectPoint tool; |
79 | tool.OwnShared(anent,iter); |
80 | } |
81 | break; |
82 | case 3 : { |
83 | DeclareAndCast(IGESDraw_Drawing,anent,ent); |
84 | if (anent.IsNull()) return; |
85 | IGESDraw_ToolDrawing tool; |
86 | tool.OwnShared(anent,iter); |
87 | } |
88 | break; |
89 | case 4 : { |
90 | DeclareAndCast(IGESDraw_DrawingWithRotation,anent,ent); |
91 | if (anent.IsNull()) return; |
92 | IGESDraw_ToolDrawingWithRotation tool; |
93 | tool.OwnShared(anent,iter); |
94 | } |
95 | break; |
96 | case 5 : { |
97 | DeclareAndCast(IGESDraw_LabelDisplay,anent,ent); |
98 | if (anent.IsNull()) return; |
99 | IGESDraw_ToolLabelDisplay tool; |
100 | tool.OwnShared(anent,iter); |
101 | } |
102 | break; |
103 | case 6 : { |
104 | DeclareAndCast(IGESDraw_NetworkSubfigure,anent,ent); |
105 | if (anent.IsNull()) return; |
106 | IGESDraw_ToolNetworkSubfigure tool; |
107 | tool.OwnShared(anent,iter); |
108 | } |
109 | break; |
110 | case 7 : { |
111 | DeclareAndCast(IGESDraw_NetworkSubfigureDef,anent,ent); |
112 | if (anent.IsNull()) return; |
113 | IGESDraw_ToolNetworkSubfigureDef tool; |
114 | tool.OwnShared(anent,iter); |
115 | } |
116 | break; |
117 | case 8 : { |
118 | DeclareAndCast(IGESDraw_PerspectiveView,anent,ent); |
119 | if (anent.IsNull()) return; |
120 | IGESDraw_ToolPerspectiveView tool; |
121 | tool.OwnShared(anent,iter); |
122 | } |
123 | break; |
124 | case 9 : { |
125 | DeclareAndCast(IGESDraw_Planar,anent,ent); |
126 | if (anent.IsNull()) return; |
127 | IGESDraw_ToolPlanar tool; |
128 | tool.OwnShared(anent,iter); |
129 | } |
130 | break; |
131 | case 10 : { |
132 | DeclareAndCast(IGESDraw_RectArraySubfigure,anent,ent); |
133 | if (anent.IsNull()) return; |
134 | IGESDraw_ToolRectArraySubfigure tool; |
135 | tool.OwnShared(anent,iter); |
136 | } |
137 | break; |
138 | case 11 : { |
139 | DeclareAndCast(IGESDraw_SegmentedViewsVisible,anent,ent); |
140 | if (anent.IsNull()) return; |
141 | IGESDraw_ToolSegmentedViewsVisible tool; |
142 | tool.OwnShared(anent,iter); |
143 | } |
144 | break; |
145 | case 12 : { |
146 | DeclareAndCast(IGESDraw_View,anent,ent); |
147 | if (anent.IsNull()) return; |
148 | IGESDraw_ToolView tool; |
149 | tool.OwnShared(anent,iter); |
150 | } |
151 | break; |
152 | case 13 : { |
153 | DeclareAndCast(IGESDraw_ViewsVisible,anent,ent); |
154 | if (anent.IsNull()) return; |
155 | IGESDraw_ToolViewsVisible tool; |
156 | tool.OwnShared(anent,iter); |
157 | } |
158 | break; |
159 | case 14 : { |
160 | DeclareAndCast(IGESDraw_ViewsVisibleWithAttr,anent,ent); |
161 | if (anent.IsNull()) return; |
162 | IGESDraw_ToolViewsVisibleWithAttr tool; |
163 | tool.OwnShared(anent,iter); |
164 | } |
165 | break; |
166 | default : break; |
167 | } |
168 | } |
169 | |
170 | void IGESDraw_GeneralModule::OwnImpliedCase |
171 | (const Standard_Integer CN, const Handle(IGESData_IGESEntity)& ent, |
172 | Interface_EntityIterator& iter) const |
173 | { |
174 | switch (CN ) { |
175 | case 13 : { |
176 | DeclareAndCast(IGESDraw_ViewsVisible,anent,ent); |
177 | if (anent.IsNull()) break; |
178 | IGESDraw_ToolViewsVisible tool; |
179 | tool.OwnImplied(anent,iter); |
180 | } |
b1811c1d |
181 | break; |
7fd59977 |
182 | case 14 : { |
183 | DeclareAndCast(IGESDraw_ViewsVisibleWithAttr,anent,ent); |
184 | if (anent.IsNull()) break; |
185 | IGESDraw_ToolViewsVisibleWithAttr tool; |
186 | tool.OwnImplied(anent,iter); |
187 | } |
b1811c1d |
188 | break; |
7fd59977 |
189 | default : break; |
190 | } |
191 | } |
192 | |
193 | |
194 | |
195 | IGESData_DirChecker IGESDraw_GeneralModule::DirChecker |
196 | (const Standard_Integer CN, const Handle(IGESData_IGESEntity)& ent) const |
197 | { |
198 | switch (CN) { |
199 | case 1 : { |
200 | DeclareAndCast(IGESDraw_CircArraySubfigure,anent,ent); |
201 | if (anent.IsNull()) break; |
202 | IGESDraw_ToolCircArraySubfigure tool; |
203 | return tool.DirChecker(anent); |
204 | } |
205 | case 2 : { |
206 | DeclareAndCast(IGESDraw_ConnectPoint,anent,ent); |
207 | if (anent.IsNull()) break; |
208 | IGESDraw_ToolConnectPoint tool; |
209 | return tool.DirChecker(anent); |
210 | } |
211 | case 3 : { |
212 | DeclareAndCast(IGESDraw_Drawing,anent,ent); |
213 | if (anent.IsNull()) break; |
214 | IGESDraw_ToolDrawing tool; |
215 | return tool.DirChecker(anent); |
216 | } |
217 | case 4 : { |
218 | DeclareAndCast(IGESDraw_DrawingWithRotation,anent,ent); |
219 | if (anent.IsNull()) break; |
220 | IGESDraw_ToolDrawingWithRotation tool; |
221 | return tool.DirChecker(anent); |
222 | } |
223 | case 5 : { |
224 | DeclareAndCast(IGESDraw_LabelDisplay,anent,ent); |
225 | if (anent.IsNull()) break; |
226 | IGESDraw_ToolLabelDisplay tool; |
227 | return tool.DirChecker(anent); |
228 | } |
229 | case 6 : { |
230 | DeclareAndCast(IGESDraw_NetworkSubfigure,anent,ent); |
231 | if (anent.IsNull()) break; |
232 | IGESDraw_ToolNetworkSubfigure tool; |
233 | return tool.DirChecker(anent); |
234 | } |
235 | case 7 : { |
236 | DeclareAndCast(IGESDraw_NetworkSubfigureDef,anent,ent); |
237 | if (anent.IsNull()) break; |
238 | IGESDraw_ToolNetworkSubfigureDef tool; |
239 | return tool.DirChecker(anent); |
240 | } |
241 | case 8 : { |
242 | DeclareAndCast(IGESDraw_PerspectiveView,anent,ent); |
243 | if (anent.IsNull()) break; |
244 | IGESDraw_ToolPerspectiveView tool; |
245 | return tool.DirChecker(anent); |
246 | } |
247 | case 9 : { |
248 | DeclareAndCast(IGESDraw_Planar,anent,ent); |
249 | if (anent.IsNull()) break; |
250 | IGESDraw_ToolPlanar tool; |
251 | return tool.DirChecker(anent); |
252 | } |
253 | case 10 : { |
254 | DeclareAndCast(IGESDraw_RectArraySubfigure,anent,ent); |
255 | if (anent.IsNull()) break; |
256 | IGESDraw_ToolRectArraySubfigure tool; |
257 | return tool.DirChecker(anent); |
258 | } |
259 | case 11 : { |
260 | DeclareAndCast(IGESDraw_SegmentedViewsVisible,anent,ent); |
261 | if (anent.IsNull()) break; |
262 | IGESDraw_ToolSegmentedViewsVisible tool; |
263 | return tool.DirChecker(anent); |
264 | } |
265 | case 12 : { |
266 | DeclareAndCast(IGESDraw_View,anent,ent); |
267 | if (anent.IsNull()) break; |
268 | IGESDraw_ToolView tool; |
269 | return tool.DirChecker(anent); |
270 | } |
271 | case 13 : { |
272 | DeclareAndCast(IGESDraw_ViewsVisible,anent,ent); |
273 | if (anent.IsNull()) break; |
274 | IGESDraw_ToolViewsVisible tool; |
275 | return tool.DirChecker(anent); |
276 | } |
277 | case 14 : { |
278 | DeclareAndCast(IGESDraw_ViewsVisibleWithAttr,anent,ent); |
279 | if (anent.IsNull()) break; |
280 | IGESDraw_ToolViewsVisibleWithAttr tool; |
281 | return tool.DirChecker(anent); |
282 | } |
283 | default : break; |
284 | } |
285 | return IGESData_DirChecker(); // by default, no specific criterium |
286 | } |
287 | |
288 | |
289 | void IGESDraw_GeneralModule::OwnCheckCase |
290 | (const Standard_Integer CN, const Handle(IGESData_IGESEntity)& ent, |
291 | const Interface_ShareTool& shares, Handle(Interface_Check)& ach) const |
292 | { |
293 | switch (CN) { |
294 | case 1 : { |
295 | DeclareAndCast(IGESDraw_CircArraySubfigure,anent,ent); |
296 | if (anent.IsNull()) return; |
297 | IGESDraw_ToolCircArraySubfigure tool; |
298 | tool.OwnCheck(anent,shares,ach); |
299 | } |
300 | break; |
301 | case 2 : { |
302 | DeclareAndCast(IGESDraw_ConnectPoint,anent,ent); |
303 | if (anent.IsNull()) return; |
304 | IGESDraw_ToolConnectPoint tool; |
305 | tool.OwnCheck(anent,shares,ach); |
306 | } |
307 | break; |
308 | case 3 : { |
309 | DeclareAndCast(IGESDraw_Drawing,anent,ent); |
310 | if (anent.IsNull()) return; |
311 | IGESDraw_ToolDrawing tool; |
312 | tool.OwnCheck(anent,shares,ach); |
313 | } |
314 | break; |
315 | case 4 : { |
316 | DeclareAndCast(IGESDraw_DrawingWithRotation,anent,ent); |
317 | if (anent.IsNull()) return; |
318 | IGESDraw_ToolDrawingWithRotation tool; |
319 | tool.OwnCheck(anent,shares,ach); |
320 | } |
321 | break; |
322 | case 5 : { |
323 | DeclareAndCast(IGESDraw_LabelDisplay,anent,ent); |
324 | if (anent.IsNull()) return; |
325 | IGESDraw_ToolLabelDisplay tool; |
326 | tool.OwnCheck(anent,shares,ach); |
327 | } |
328 | break; |
329 | case 6 : { |
330 | DeclareAndCast(IGESDraw_NetworkSubfigure,anent,ent); |
331 | if (anent.IsNull()) return; |
332 | IGESDraw_ToolNetworkSubfigure tool; |
333 | tool.OwnCheck(anent,shares,ach); |
334 | } |
335 | break; |
336 | case 7 : { |
337 | DeclareAndCast(IGESDraw_NetworkSubfigureDef,anent,ent); |
338 | if (anent.IsNull()) return; |
339 | IGESDraw_ToolNetworkSubfigureDef tool; |
340 | tool.OwnCheck(anent,shares,ach); |
341 | } |
342 | break; |
343 | case 8 : { |
344 | DeclareAndCast(IGESDraw_PerspectiveView,anent,ent); |
345 | if (anent.IsNull()) return; |
346 | IGESDraw_ToolPerspectiveView tool; |
347 | tool.OwnCheck(anent,shares,ach); |
348 | } |
349 | break; |
350 | case 9 : { |
351 | DeclareAndCast(IGESDraw_Planar,anent,ent); |
352 | if (anent.IsNull()) return; |
353 | IGESDraw_ToolPlanar tool; |
354 | tool.OwnCheck(anent,shares,ach); |
355 | } |
356 | break; |
357 | case 10 : { |
358 | DeclareAndCast(IGESDraw_RectArraySubfigure,anent,ent); |
359 | if (anent.IsNull()) return; |
360 | IGESDraw_ToolRectArraySubfigure tool; |
361 | tool.OwnCheck(anent,shares,ach); |
362 | } |
363 | break; |
364 | case 11 : { |
365 | DeclareAndCast(IGESDraw_SegmentedViewsVisible,anent,ent); |
366 | if (anent.IsNull()) return; |
367 | IGESDraw_ToolSegmentedViewsVisible tool; |
368 | tool.OwnCheck(anent,shares,ach); |
369 | } |
370 | break; |
371 | case 12 : { |
372 | DeclareAndCast(IGESDraw_View,anent,ent); |
373 | if (anent.IsNull()) return; |
374 | IGESDraw_ToolView tool; |
375 | tool.OwnCheck(anent,shares,ach); |
376 | } |
377 | break; |
378 | case 13 : { |
379 | DeclareAndCast(IGESDraw_ViewsVisible,anent,ent); |
380 | if (anent.IsNull()) return; |
381 | IGESDraw_ToolViewsVisible tool; |
382 | tool.OwnCheck(anent,shares,ach); |
383 | } |
384 | break; |
385 | case 14 : { |
386 | DeclareAndCast(IGESDraw_ViewsVisibleWithAttr,anent,ent); |
387 | if (anent.IsNull()) return; |
388 | IGESDraw_ToolViewsVisibleWithAttr tool; |
389 | tool.OwnCheck(anent,shares,ach); |
390 | } |
391 | break; |
392 | default : break; |
393 | } |
394 | } |
395 | |
396 | |
397 | Standard_Boolean IGESDraw_GeneralModule::NewVoid |
398 | (const Standard_Integer CN, Handle(Standard_Transient)& ent) const |
399 | { |
400 | switch (CN) { |
401 | case 1 : ent = new IGESDraw_CircArraySubfigure; break; |
402 | case 2 : ent = new IGESDraw_ConnectPoint; break; |
403 | case 3 : ent = new IGESDraw_Drawing; break; |
404 | case 4 : ent = new IGESDraw_DrawingWithRotation; break; |
405 | case 5 : ent = new IGESDraw_LabelDisplay; break; |
406 | case 6 : ent = new IGESDraw_NetworkSubfigure; break; |
407 | case 7 : ent = new IGESDraw_NetworkSubfigureDef; break; |
408 | case 8 : ent = new IGESDraw_PerspectiveView; break; |
409 | case 9 : ent = new IGESDraw_Planar; break; |
410 | case 10 : ent = new IGESDraw_RectArraySubfigure; break; |
411 | case 11 : ent = new IGESDraw_SegmentedViewsVisible; break; |
412 | case 12 : ent = new IGESDraw_View; break; |
413 | case 13 : ent = new IGESDraw_ViewsVisible; break; |
414 | case 14 : ent = new IGESDraw_ViewsVisibleWithAttr; break; |
415 | default : return Standard_False; // by default, Failure on Recognize |
416 | } |
417 | return Standard_True; |
418 | } |
419 | |
420 | |
421 | void IGESDraw_GeneralModule::OwnCopyCase |
422 | (const Standard_Integer CN, |
423 | const Handle(IGESData_IGESEntity)& entfrom, |
424 | const Handle(IGESData_IGESEntity)& entto, |
425 | Interface_CopyTool& TC) const |
426 | { |
427 | switch (CN) { |
428 | case 1 : { |
429 | DeclareAndCast(IGESDraw_CircArraySubfigure,enfr,entfrom); |
430 | DeclareAndCast(IGESDraw_CircArraySubfigure,ento,entto); |
431 | IGESDraw_ToolCircArraySubfigure tool; |
432 | tool.OwnCopy(enfr,ento,TC); |
433 | } |
434 | break; |
435 | case 2 : { |
436 | DeclareAndCast(IGESDraw_ConnectPoint,enfr,entfrom); |
437 | DeclareAndCast(IGESDraw_ConnectPoint,ento,entto); |
438 | IGESDraw_ToolConnectPoint tool; |
439 | tool.OwnCopy(enfr,ento,TC); |
440 | } |
441 | break; |
442 | case 3 : { |
443 | DeclareAndCast(IGESDraw_Drawing,enfr,entfrom); |
444 | DeclareAndCast(IGESDraw_Drawing,ento,entto); |
445 | IGESDraw_ToolDrawing tool; |
446 | tool.OwnCopy(enfr,ento,TC); |
447 | } |
448 | break; |
449 | case 4 : { |
450 | DeclareAndCast(IGESDraw_DrawingWithRotation,enfr,entfrom); |
451 | DeclareAndCast(IGESDraw_DrawingWithRotation,ento,entto); |
452 | IGESDraw_ToolDrawingWithRotation tool; |
453 | tool.OwnCopy(enfr,ento,TC); |
454 | } |
455 | break; |
456 | case 5 : { |
457 | DeclareAndCast(IGESDraw_LabelDisplay,enfr,entfrom); |
458 | DeclareAndCast(IGESDraw_LabelDisplay,ento,entto); |
459 | IGESDraw_ToolLabelDisplay tool; |
460 | tool.OwnCopy(enfr,ento,TC); |
461 | } |
462 | break; |
463 | case 6 : { |
464 | DeclareAndCast(IGESDraw_NetworkSubfigure,enfr,entfrom); |
465 | DeclareAndCast(IGESDraw_NetworkSubfigure,ento,entto); |
466 | IGESDraw_ToolNetworkSubfigure tool; |
467 | tool.OwnCopy(enfr,ento,TC); |
468 | } |
469 | break; |
470 | case 7 : { |
471 | DeclareAndCast(IGESDraw_NetworkSubfigureDef,enfr,entfrom); |
472 | DeclareAndCast(IGESDraw_NetworkSubfigureDef,ento,entto); |
473 | IGESDraw_ToolNetworkSubfigureDef tool; |
474 | tool.OwnCopy(enfr,ento,TC); |
475 | } |
476 | break; |
477 | case 8 : { |
478 | DeclareAndCast(IGESDraw_PerspectiveView,enfr,entfrom); |
479 | DeclareAndCast(IGESDraw_PerspectiveView,ento,entto); |
480 | IGESDraw_ToolPerspectiveView tool; |
481 | tool.OwnCopy(enfr,ento,TC); |
482 | } |
483 | break; |
484 | case 9 : { |
485 | DeclareAndCast(IGESDraw_Planar,enfr,entfrom); |
486 | DeclareAndCast(IGESDraw_Planar,ento,entto); |
487 | IGESDraw_ToolPlanar tool; |
488 | tool.OwnCopy(enfr,ento,TC); |
489 | } |
490 | break; |
491 | case 10 : { |
492 | DeclareAndCast(IGESDraw_RectArraySubfigure,enfr,entfrom); |
493 | DeclareAndCast(IGESDraw_RectArraySubfigure,ento,entto); |
494 | IGESDraw_ToolRectArraySubfigure tool; |
495 | tool.OwnCopy(enfr,ento,TC); |
496 | } |
497 | break; |
498 | case 11 : { |
499 | DeclareAndCast(IGESDraw_SegmentedViewsVisible,enfr,entfrom); |
500 | DeclareAndCast(IGESDraw_SegmentedViewsVisible,ento,entto); |
501 | IGESDraw_ToolSegmentedViewsVisible tool; |
502 | tool.OwnCopy(enfr,ento,TC); |
503 | } |
504 | break; |
505 | case 12 : { |
506 | DeclareAndCast(IGESDraw_View,enfr,entfrom); |
507 | DeclareAndCast(IGESDraw_View,ento,entto); |
508 | IGESDraw_ToolView tool; |
509 | tool.OwnCopy(enfr,ento,TC); |
510 | } |
511 | break; |
512 | case 13 : { |
513 | DeclareAndCast(IGESDraw_ViewsVisible,enfr,entfrom); |
514 | DeclareAndCast(IGESDraw_ViewsVisible,ento,entto); |
515 | IGESDraw_ToolViewsVisible tool; |
516 | tool.OwnCopy(enfr,ento,TC); |
517 | } |
518 | break; |
519 | case 14 : { |
520 | DeclareAndCast(IGESDraw_ViewsVisibleWithAttr,enfr,entfrom); |
521 | DeclareAndCast(IGESDraw_ViewsVisibleWithAttr,ento,entto); |
522 | IGESDraw_ToolViewsVisibleWithAttr tool; |
523 | tool.OwnCopy(enfr,ento,TC); |
524 | } |
525 | break; |
526 | default : break; |
527 | } |
528 | } |
529 | |
530 | |
531 | void IGESDraw_GeneralModule::OwnRenewCase |
532 | (const Standard_Integer CN, |
533 | const Handle(IGESData_IGESEntity)& entfrom, |
534 | const Handle(IGESData_IGESEntity)& entto, |
535 | const Interface_CopyTool& TC) const |
536 | { |
537 | switch (CN) { |
538 | case 13 : { |
539 | DeclareAndCast(IGESDraw_ViewsVisible,enfr,entfrom); |
540 | DeclareAndCast(IGESDraw_ViewsVisible,ento,entto); |
541 | IGESDraw_ToolViewsVisible tool; |
542 | tool.OwnRenew(enfr,ento,TC); |
543 | } |
544 | break; |
545 | case 14 : { |
546 | DeclareAndCast(IGESDraw_ViewsVisibleWithAttr,enfr,entfrom); |
547 | DeclareAndCast(IGESDraw_ViewsVisibleWithAttr,ento,entto); |
548 | IGESDraw_ToolViewsVisibleWithAttr tool; |
549 | tool.OwnRenew(enfr,ento,TC); |
550 | } |
551 | break; |
552 | default : break; |
553 | } |
554 | } |
555 | |
556 | |
557 | void IGESDraw_GeneralModule::OwnDeleteCase |
558 | (const Standard_Integer CN, const Handle(IGESData_IGESEntity)& ent) const |
559 | { |
560 | switch (CN) { |
561 | case 13 : { |
562 | DeclareAndCast(IGESDraw_ViewsVisible,anent,ent); |
563 | IGESDraw_ToolViewsVisible tool; |
564 | tool.OwnWhenDelete(anent); |
565 | } |
566 | break; |
567 | case 14 : { |
568 | DeclareAndCast(IGESDraw_ViewsVisibleWithAttr,anent,ent); |
569 | IGESDraw_ToolViewsVisibleWithAttr tool; |
570 | tool.OwnWhenDelete(anent); |
571 | } |
572 | break; |
573 | default : break; |
574 | } |
575 | } |
576 | |
577 | |
578 | Standard_Integer IGESDraw_GeneralModule::CategoryNumber |
579 | (const Standard_Integer CN, const Handle(Standard_Transient)& , |
580 | const Interface_ShareTool& ) const |
581 | { |
582 | if (CN == 9) return Interface_Category::Number("Auxiliary"); |
583 | if (CN == 1 || CN == 2 || CN == 10) return Interface_Category::Number("Structure"); |
584 | return Interface_Category::Number("Drawing"); |
585 | } |