Integration of OCCT 6.5.0 from SVN
[occt.git] / src / IGESSolid / IGESSolid_Protocol.cxx
1 #include <IGESSolid_Protocol.ixx>
2
3 #include <IGESSolid_PlaneSurface.hxx>
4 #include <IGESSolid_Block.hxx>
5 #include <IGESSolid_RightAngularWedge.hxx>
6 #include <IGESSolid_BooleanTree.hxx>
7 #include <IGESSolid_SelectedComponent.hxx>
8 #include <IGESSolid_ConeFrustum.hxx>
9 #include <IGESSolid_Shell.hxx>
10 #include <IGESSolid_ConicalSurface.hxx>
11 #include <IGESSolid_SolidAssembly.hxx>
12 #include <IGESSolid_Cylinder.hxx>
13 #include <IGESSolid_SolidInstance.hxx>
14 #include <IGESSolid_CylindricalSurface.hxx>
15 #include <IGESSolid_SolidOfLinearExtrusion.hxx>
16 #include <IGESSolid_EdgeList.hxx>
17 #include <IGESSolid_SolidOfRevolution.hxx>
18 #include <IGESSolid_Ellipsoid.hxx>
19 #include <IGESSolid_Sphere.hxx>
20 #include <IGESSolid_Face.hxx>
21 #include <IGESSolid_SphericalSurface.hxx>
22 #include <IGESSolid_ToroidalSurface.hxx>
23 #include <IGESSolid_Loop.hxx>
24 #include <IGESSolid_Torus.hxx>
25 #include <IGESSolid_ManifoldSolid.hxx>
26 #include <IGESSolid_VertexList.hxx>
27
28 #include <IGESGeom.hxx>
29 #include <IGESGeom_Protocol.hxx>
30
31
32 static int deja = 0;
33 static Handle(Standard_Type) atype01,atype02,atype03,atype04,atype05,atype06,
34   atype07,atype08,atype09,atype10,atype11,atype12,atype13,atype14,atype15,
35   atype16,atype17,atype18,atype19,atype20,atype21,atype22,atype23,atype24;
36
37     IGESSolid_Protocol::IGESSolid_Protocol ()
38 {
39   if (deja) return;  deja = 1;
40   atype01 = STANDARD_TYPE(IGESSolid_Block);
41   atype02 = STANDARD_TYPE(IGESSolid_BooleanTree);
42   atype03 = STANDARD_TYPE(IGESSolid_ConeFrustum);
43   atype04 = STANDARD_TYPE(IGESSolid_ConicalSurface);
44   atype05 = STANDARD_TYPE(IGESSolid_Cylinder);
45   atype06 = STANDARD_TYPE(IGESSolid_CylindricalSurface);
46   atype07 = STANDARD_TYPE(IGESSolid_EdgeList);
47   atype08 = STANDARD_TYPE(IGESSolid_Ellipsoid);
48   atype09 = STANDARD_TYPE(IGESSolid_Face);
49   atype10 = STANDARD_TYPE(IGESSolid_Loop);
50   atype11 = STANDARD_TYPE(IGESSolid_ManifoldSolid);
51   atype12 = STANDARD_TYPE(IGESSolid_PlaneSurface);
52   atype13 = STANDARD_TYPE(IGESSolid_RightAngularWedge);
53   atype14 = STANDARD_TYPE(IGESSolid_SelectedComponent);
54   atype15 = STANDARD_TYPE(IGESSolid_Shell);
55   atype16 = STANDARD_TYPE(IGESSolid_SolidAssembly);
56   atype17 = STANDARD_TYPE(IGESSolid_SolidInstance);
57   atype18 = STANDARD_TYPE(IGESSolid_SolidOfLinearExtrusion);
58   atype19 = STANDARD_TYPE(IGESSolid_SolidOfRevolution);
59   atype20 = STANDARD_TYPE(IGESSolid_Sphere);
60   atype21 = STANDARD_TYPE(IGESSolid_SphericalSurface);
61   atype22 = STANDARD_TYPE(IGESSolid_ToroidalSurface);
62   atype23 = STANDARD_TYPE(IGESSolid_Torus);
63   atype24 = STANDARD_TYPE(IGESSolid_VertexList);
64 }
65
66     Standard_Integer IGESSolid_Protocol::NbResources () const
67       {  return 1;  }
68
69     Handle(Interface_Protocol) IGESSolid_Protocol::Resource
70   (const Standard_Integer num) const
71 {
72   Handle(Interface_Protocol) res = IGESGeom::Protocol();;
73   return res;
74 }
75
76     Standard_Integer IGESSolid_Protocol::TypeNumber
77   (const Handle(Standard_Type)& atype) const
78 {
79   if      (atype == atype01) return  1;
80   else if (atype == atype02) return  2;
81   else if (atype == atype03) return  3;
82   else if (atype == atype04) return  4;
83   else if (atype == atype05) return  5;
84   else if (atype == atype06) return  6;
85   else if (atype == atype07) return  7;
86   else if (atype == atype08) return  8;
87   else if (atype == atype09) return  9;
88   else if (atype == atype10) return 10;
89   else if (atype == atype11) return 11;
90   else if (atype == atype12) return 12;
91   else if (atype == atype13) return 13;
92   else if (atype == atype14) return 14;
93   else if (atype == atype15) return 15;
94   else if (atype == atype16) return 16;
95   else if (atype == atype17) return 17;
96   else if (atype == atype18) return 18;
97   else if (atype == atype19) return 19;
98   else if (atype == atype20) return 20;
99   else if (atype == atype21) return 21;
100   else if (atype == atype22) return 22;
101   else if (atype == atype23) return 23;
102   else if (atype == atype24) return 24;
103   return 0;
104 }