#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include // Each Module is attached to a Protocol : it must interprete Case Numbers // (arguments of various methods) in accordance to values returned by // the method TypeNumber from this Protocol IGESDraw_GeneralModule::IGESDraw_GeneralModule () { } void IGESDraw_GeneralModule::OwnSharedCase (const Standard_Integer CN, const Handle(IGESData_IGESEntity)& ent, Interface_EntityIterator& iter) const { switch (CN) { case 1 : { DeclareAndCast(IGESDraw_CircArraySubfigure,anent,ent); if (anent.IsNull()) return; IGESDraw_ToolCircArraySubfigure tool; tool.OwnShared(anent,iter); } break; case 2 : { DeclareAndCast(IGESDraw_ConnectPoint,anent,ent); if (anent.IsNull()) return; IGESDraw_ToolConnectPoint tool; tool.OwnShared(anent,iter); } break; case 3 : { DeclareAndCast(IGESDraw_Drawing,anent,ent); if (anent.IsNull()) return; IGESDraw_ToolDrawing tool; tool.OwnShared(anent,iter); } break; case 4 : { DeclareAndCast(IGESDraw_DrawingWithRotation,anent,ent); if (anent.IsNull()) return; IGESDraw_ToolDrawingWithRotation tool; tool.OwnShared(anent,iter); } break; case 5 : { DeclareAndCast(IGESDraw_LabelDisplay,anent,ent); if (anent.IsNull()) return; IGESDraw_ToolLabelDisplay tool; tool.OwnShared(anent,iter); } break; case 6 : { DeclareAndCast(IGESDraw_NetworkSubfigure,anent,ent); if (anent.IsNull()) return; IGESDraw_ToolNetworkSubfigure tool; tool.OwnShared(anent,iter); } break; case 7 : { DeclareAndCast(IGESDraw_NetworkSubfigureDef,anent,ent); if (anent.IsNull()) return; IGESDraw_ToolNetworkSubfigureDef tool; tool.OwnShared(anent,iter); } break; case 8 : { DeclareAndCast(IGESDraw_PerspectiveView,anent,ent); if (anent.IsNull()) return; IGESDraw_ToolPerspectiveView tool; tool.OwnShared(anent,iter); } break; case 9 : { DeclareAndCast(IGESDraw_Planar,anent,ent); if (anent.IsNull()) return; IGESDraw_ToolPlanar tool; tool.OwnShared(anent,iter); } break; case 10 : { DeclareAndCast(IGESDraw_RectArraySubfigure,anent,ent); if (anent.IsNull()) return; IGESDraw_ToolRectArraySubfigure tool; tool.OwnShared(anent,iter); } break; case 11 : { DeclareAndCast(IGESDraw_SegmentedViewsVisible,anent,ent); if (anent.IsNull()) return; IGESDraw_ToolSegmentedViewsVisible tool; tool.OwnShared(anent,iter); } break; case 12 : { DeclareAndCast(IGESDraw_View,anent,ent); if (anent.IsNull()) return; IGESDraw_ToolView tool; tool.OwnShared(anent,iter); } break; case 13 : { DeclareAndCast(IGESDraw_ViewsVisible,anent,ent); if (anent.IsNull()) return; IGESDraw_ToolViewsVisible tool; tool.OwnShared(anent,iter); } break; case 14 : { DeclareAndCast(IGESDraw_ViewsVisibleWithAttr,anent,ent); if (anent.IsNull()) return; IGESDraw_ToolViewsVisibleWithAttr tool; tool.OwnShared(anent,iter); } break; default : break; } } void IGESDraw_GeneralModule::OwnImpliedCase (const Standard_Integer CN, const Handle(IGESData_IGESEntity)& ent, Interface_EntityIterator& iter) const { switch (CN ) { case 13 : { DeclareAndCast(IGESDraw_ViewsVisible,anent,ent); if (anent.IsNull()) break; IGESDraw_ToolViewsVisible tool; tool.OwnImplied(anent,iter); } case 14 : { DeclareAndCast(IGESDraw_ViewsVisibleWithAttr,anent,ent); if (anent.IsNull()) break; IGESDraw_ToolViewsVisibleWithAttr tool; tool.OwnImplied(anent,iter); } default : break; } } IGESData_DirChecker IGESDraw_GeneralModule::DirChecker (const Standard_Integer CN, const Handle(IGESData_IGESEntity)& ent) const { switch (CN) { case 1 : { DeclareAndCast(IGESDraw_CircArraySubfigure,anent,ent); if (anent.IsNull()) break; IGESDraw_ToolCircArraySubfigure tool; return tool.DirChecker(anent); } case 2 : { DeclareAndCast(IGESDraw_ConnectPoint,anent,ent); if (anent.IsNull()) break; IGESDraw_ToolConnectPoint tool; return tool.DirChecker(anent); } case 3 : { DeclareAndCast(IGESDraw_Drawing,anent,ent); if (anent.IsNull()) break; IGESDraw_ToolDrawing tool; return tool.DirChecker(anent); } case 4 : { DeclareAndCast(IGESDraw_DrawingWithRotation,anent,ent); if (anent.IsNull()) break; IGESDraw_ToolDrawingWithRotation tool; return tool.DirChecker(anent); } case 5 : { DeclareAndCast(IGESDraw_LabelDisplay,anent,ent); if (anent.IsNull()) break; IGESDraw_ToolLabelDisplay tool; return tool.DirChecker(anent); } case 6 : { DeclareAndCast(IGESDraw_NetworkSubfigure,anent,ent); if (anent.IsNull()) break; IGESDraw_ToolNetworkSubfigure tool; return tool.DirChecker(anent); } case 7 : { DeclareAndCast(IGESDraw_NetworkSubfigureDef,anent,ent); if (anent.IsNull()) break; IGESDraw_ToolNetworkSubfigureDef tool; return tool.DirChecker(anent); } case 8 : { DeclareAndCast(IGESDraw_PerspectiveView,anent,ent); if (anent.IsNull()) break; IGESDraw_ToolPerspectiveView tool; return tool.DirChecker(anent); } case 9 : { DeclareAndCast(IGESDraw_Planar,anent,ent); if (anent.IsNull()) break; IGESDraw_ToolPlanar tool; return tool.DirChecker(anent); } case 10 : { DeclareAndCast(IGESDraw_RectArraySubfigure,anent,ent); if (anent.IsNull()) break; IGESDraw_ToolRectArraySubfigure tool; return tool.DirChecker(anent); } case 11 : { DeclareAndCast(IGESDraw_SegmentedViewsVisible,anent,ent); if (anent.IsNull()) break; IGESDraw_ToolSegmentedViewsVisible tool; return tool.DirChecker(anent); } case 12 : { DeclareAndCast(IGESDraw_View,anent,ent); if (anent.IsNull()) break; IGESDraw_ToolView tool; return tool.DirChecker(anent); } case 13 : { DeclareAndCast(IGESDraw_ViewsVisible,anent,ent); if (anent.IsNull()) break; IGESDraw_ToolViewsVisible tool; return tool.DirChecker(anent); } case 14 : { DeclareAndCast(IGESDraw_ViewsVisibleWithAttr,anent,ent); if (anent.IsNull()) break; IGESDraw_ToolViewsVisibleWithAttr tool; return tool.DirChecker(anent); } default : break; } return IGESData_DirChecker(); // by default, no specific criterium } void IGESDraw_GeneralModule::OwnCheckCase (const Standard_Integer CN, const Handle(IGESData_IGESEntity)& ent, const Interface_ShareTool& shares, Handle(Interface_Check)& ach) const { switch (CN) { case 1 : { DeclareAndCast(IGESDraw_CircArraySubfigure,anent,ent); if (anent.IsNull()) return; IGESDraw_ToolCircArraySubfigure tool; tool.OwnCheck(anent,shares,ach); } break; case 2 : { DeclareAndCast(IGESDraw_ConnectPoint,anent,ent); if (anent.IsNull()) return; IGESDraw_ToolConnectPoint tool; tool.OwnCheck(anent,shares,ach); } break; case 3 : { DeclareAndCast(IGESDraw_Drawing,anent,ent); if (anent.IsNull()) return; IGESDraw_ToolDrawing tool; tool.OwnCheck(anent,shares,ach); } break; case 4 : { DeclareAndCast(IGESDraw_DrawingWithRotation,anent,ent); if (anent.IsNull()) return; IGESDraw_ToolDrawingWithRotation tool; tool.OwnCheck(anent,shares,ach); } break; case 5 : { DeclareAndCast(IGESDraw_LabelDisplay,anent,ent); if (anent.IsNull()) return; IGESDraw_ToolLabelDisplay tool; tool.OwnCheck(anent,shares,ach); } break; case 6 : { DeclareAndCast(IGESDraw_NetworkSubfigure,anent,ent); if (anent.IsNull()) return; IGESDraw_ToolNetworkSubfigure tool; tool.OwnCheck(anent,shares,ach); } break; case 7 : { DeclareAndCast(IGESDraw_NetworkSubfigureDef,anent,ent); if (anent.IsNull()) return; IGESDraw_ToolNetworkSubfigureDef tool; tool.OwnCheck(anent,shares,ach); } break; case 8 : { DeclareAndCast(IGESDraw_PerspectiveView,anent,ent); if (anent.IsNull()) return; IGESDraw_ToolPerspectiveView tool; tool.OwnCheck(anent,shares,ach); } break; case 9 : { DeclareAndCast(IGESDraw_Planar,anent,ent); if (anent.IsNull()) return; IGESDraw_ToolPlanar tool; tool.OwnCheck(anent,shares,ach); } break; case 10 : { DeclareAndCast(IGESDraw_RectArraySubfigure,anent,ent); if (anent.IsNull()) return; IGESDraw_ToolRectArraySubfigure tool; tool.OwnCheck(anent,shares,ach); } break; case 11 : { DeclareAndCast(IGESDraw_SegmentedViewsVisible,anent,ent); if (anent.IsNull()) return; IGESDraw_ToolSegmentedViewsVisible tool; tool.OwnCheck(anent,shares,ach); } break; case 12 : { DeclareAndCast(IGESDraw_View,anent,ent); if (anent.IsNull()) return; IGESDraw_ToolView tool; tool.OwnCheck(anent,shares,ach); } break; case 13 : { DeclareAndCast(IGESDraw_ViewsVisible,anent,ent); if (anent.IsNull()) return; IGESDraw_ToolViewsVisible tool; tool.OwnCheck(anent,shares,ach); } break; case 14 : { DeclareAndCast(IGESDraw_ViewsVisibleWithAttr,anent,ent); if (anent.IsNull()) return; IGESDraw_ToolViewsVisibleWithAttr tool; tool.OwnCheck(anent,shares,ach); } break; default : break; } } Standard_Boolean IGESDraw_GeneralModule::NewVoid (const Standard_Integer CN, Handle(Standard_Transient)& ent) const { switch (CN) { case 1 : ent = new IGESDraw_CircArraySubfigure; break; case 2 : ent = new IGESDraw_ConnectPoint; break; case 3 : ent = new IGESDraw_Drawing; break; case 4 : ent = new IGESDraw_DrawingWithRotation; break; case 5 : ent = new IGESDraw_LabelDisplay; break; case 6 : ent = new IGESDraw_NetworkSubfigure; break; case 7 : ent = new IGESDraw_NetworkSubfigureDef; break; case 8 : ent = new IGESDraw_PerspectiveView; break; case 9 : ent = new IGESDraw_Planar; break; case 10 : ent = new IGESDraw_RectArraySubfigure; break; case 11 : ent = new IGESDraw_SegmentedViewsVisible; break; case 12 : ent = new IGESDraw_View; break; case 13 : ent = new IGESDraw_ViewsVisible; break; case 14 : ent = new IGESDraw_ViewsVisibleWithAttr; break; default : return Standard_False; // by default, Failure on Recognize } return Standard_True; } void IGESDraw_GeneralModule::OwnCopyCase (const Standard_Integer CN, const Handle(IGESData_IGESEntity)& entfrom, const Handle(IGESData_IGESEntity)& entto, Interface_CopyTool& TC) const { switch (CN) { case 1 : { DeclareAndCast(IGESDraw_CircArraySubfigure,enfr,entfrom); DeclareAndCast(IGESDraw_CircArraySubfigure,ento,entto); IGESDraw_ToolCircArraySubfigure tool; tool.OwnCopy(enfr,ento,TC); } break; case 2 : { DeclareAndCast(IGESDraw_ConnectPoint,enfr,entfrom); DeclareAndCast(IGESDraw_ConnectPoint,ento,entto); IGESDraw_ToolConnectPoint tool; tool.OwnCopy(enfr,ento,TC); } break; case 3 : { DeclareAndCast(IGESDraw_Drawing,enfr,entfrom); DeclareAndCast(IGESDraw_Drawing,ento,entto); IGESDraw_ToolDrawing tool; tool.OwnCopy(enfr,ento,TC); } break; case 4 : { DeclareAndCast(IGESDraw_DrawingWithRotation,enfr,entfrom); DeclareAndCast(IGESDraw_DrawingWithRotation,ento,entto); IGESDraw_ToolDrawingWithRotation tool; tool.OwnCopy(enfr,ento,TC); } break; case 5 : { DeclareAndCast(IGESDraw_LabelDisplay,enfr,entfrom); DeclareAndCast(IGESDraw_LabelDisplay,ento,entto); IGESDraw_ToolLabelDisplay tool; tool.OwnCopy(enfr,ento,TC); } break; case 6 : { DeclareAndCast(IGESDraw_NetworkSubfigure,enfr,entfrom); DeclareAndCast(IGESDraw_NetworkSubfigure,ento,entto); IGESDraw_ToolNetworkSubfigure tool; tool.OwnCopy(enfr,ento,TC); } break; case 7 : { DeclareAndCast(IGESDraw_NetworkSubfigureDef,enfr,entfrom); DeclareAndCast(IGESDraw_NetworkSubfigureDef,ento,entto); IGESDraw_ToolNetworkSubfigureDef tool; tool.OwnCopy(enfr,ento,TC); } break; case 8 : { DeclareAndCast(IGESDraw_PerspectiveView,enfr,entfrom); DeclareAndCast(IGESDraw_PerspectiveView,ento,entto); IGESDraw_ToolPerspectiveView tool; tool.OwnCopy(enfr,ento,TC); } break; case 9 : { DeclareAndCast(IGESDraw_Planar,enfr,entfrom); DeclareAndCast(IGESDraw_Planar,ento,entto); IGESDraw_ToolPlanar tool; tool.OwnCopy(enfr,ento,TC); } break; case 10 : { DeclareAndCast(IGESDraw_RectArraySubfigure,enfr,entfrom); DeclareAndCast(IGESDraw_RectArraySubfigure,ento,entto); IGESDraw_ToolRectArraySubfigure tool; tool.OwnCopy(enfr,ento,TC); } break; case 11 : { DeclareAndCast(IGESDraw_SegmentedViewsVisible,enfr,entfrom); DeclareAndCast(IGESDraw_SegmentedViewsVisible,ento,entto); IGESDraw_ToolSegmentedViewsVisible tool; tool.OwnCopy(enfr,ento,TC); } break; case 12 : { DeclareAndCast(IGESDraw_View,enfr,entfrom); DeclareAndCast(IGESDraw_View,ento,entto); IGESDraw_ToolView tool; tool.OwnCopy(enfr,ento,TC); } break; case 13 : { DeclareAndCast(IGESDraw_ViewsVisible,enfr,entfrom); DeclareAndCast(IGESDraw_ViewsVisible,ento,entto); IGESDraw_ToolViewsVisible tool; tool.OwnCopy(enfr,ento,TC); } break; case 14 : { DeclareAndCast(IGESDraw_ViewsVisibleWithAttr,enfr,entfrom); DeclareAndCast(IGESDraw_ViewsVisibleWithAttr,ento,entto); IGESDraw_ToolViewsVisibleWithAttr tool; tool.OwnCopy(enfr,ento,TC); } break; default : break; } } void IGESDraw_GeneralModule::OwnRenewCase (const Standard_Integer CN, const Handle(IGESData_IGESEntity)& entfrom, const Handle(IGESData_IGESEntity)& entto, const Interface_CopyTool& TC) const { switch (CN) { case 13 : { DeclareAndCast(IGESDraw_ViewsVisible,enfr,entfrom); DeclareAndCast(IGESDraw_ViewsVisible,ento,entto); IGESDraw_ToolViewsVisible tool; tool.OwnRenew(enfr,ento,TC); } break; case 14 : { DeclareAndCast(IGESDraw_ViewsVisibleWithAttr,enfr,entfrom); DeclareAndCast(IGESDraw_ViewsVisibleWithAttr,ento,entto); IGESDraw_ToolViewsVisibleWithAttr tool; tool.OwnRenew(enfr,ento,TC); } break; default : break; } } void IGESDraw_GeneralModule::OwnDeleteCase (const Standard_Integer CN, const Handle(IGESData_IGESEntity)& ent) const { switch (CN) { case 13 : { DeclareAndCast(IGESDraw_ViewsVisible,anent,ent); IGESDraw_ToolViewsVisible tool; tool.OwnWhenDelete(anent); } break; case 14 : { DeclareAndCast(IGESDraw_ViewsVisibleWithAttr,anent,ent); IGESDraw_ToolViewsVisibleWithAttr tool; tool.OwnWhenDelete(anent); } break; default : break; } } Standard_Integer IGESDraw_GeneralModule::CategoryNumber (const Standard_Integer CN, const Handle(Standard_Transient)& , const Interface_ShareTool& ) const { if (CN == 9) return Interface_Category::Number("Auxiliary"); if (CN == 1 || CN == 2 || CN == 10) return Interface_Category::Number("Structure"); return Interface_Category::Number("Drawing"); }