1
0
mirror of https://git.dev.opencascade.org/repos/occt.git synced 2025-08-09 13:22:24 +03:00

Coding - Remove static global variables #238

Refactor IGES Protocols to eliminate redundant type registrations
This commit is contained in:
dpasukhi
2025-01-04 21:39:32 +00:00
parent 0665ef79f8
commit a4443d74ad
8 changed files with 357 additions and 445 deletions

View File

@@ -11,13 +11,13 @@
// Alternatively, this file may be used under the terms of Open CASCADE
// commercial license or contractual agreement.
#include <IGESDefs_Protocol.hxx>
#include <IGESDefs_AssociativityDef.hxx>
#include <IGESDefs_AttributeDef.hxx>
#include <IGESDefs_AttributeTable.hxx>
#include <IGESDefs_GenericData.hxx>
#include <IGESDefs_MacroDef.hxx>
#include <IGESDefs_Protocol.hxx>
#include <IGESDefs_TabularData.hxx>
#include <IGESDefs_UnitsData.hxx>
#include <IGESGraph.hxx>
@@ -25,48 +25,37 @@
#include <Interface_Protocol.hxx>
#include <Standard_Type.hxx>
IMPLEMENT_STANDARD_RTTIEXT(IGESDefs_Protocol,IGESData_Protocol)
static int THE_IGESDefs_Protocol_deja = 0;
static Handle(Standard_Type) atype1,atype2,atype3,atype4,atype5,atype6,atype7;
IMPLEMENT_STANDARD_RTTIEXT(IGESDefs_Protocol, IGESData_Protocol)
IGESDefs_Protocol::IGESDefs_Protocol()
{
if (THE_IGESDefs_Protocol_deja)
{
return;
}
{}
THE_IGESDefs_Protocol_deja = 1;
atype1 = STANDARD_TYPE(IGESDefs_AssociativityDef);
atype2 = STANDARD_TYPE(IGESDefs_AttributeDef);
atype3 = STANDARD_TYPE(IGESDefs_AttributeTable);
atype4 = STANDARD_TYPE(IGESDefs_GenericData);
atype5 = STANDARD_TYPE(IGESDefs_MacroDef);
atype6 = STANDARD_TYPE(IGESDefs_TabularData);
atype7 = STANDARD_TYPE(IGESDefs_UnitsData);
Standard_Integer IGESDefs_Protocol::NbResources() const
{
return 1;
}
Standard_Integer IGESDefs_Protocol::NbResources () const
{ return 1; }
Handle(Interface_Protocol) IGESDefs_Protocol::Resource
(const Standard_Integer /*num*/) const
Handle(Interface_Protocol) IGESDefs_Protocol::Resource(const Standard_Integer /*num*/) const
{
Handle(Interface_Protocol) res = IGESGraph::Protocol();
return res;
}
Standard_Integer IGESDefs_Protocol::TypeNumber
(const Handle(Standard_Type)& atype) const
Standard_Integer IGESDefs_Protocol::TypeNumber(const Handle(Standard_Type)& atype) const
{
if (atype == atype1) return 1;
else if (atype == atype2) return 2;
else if (atype == atype3) return 3;
else if (atype == atype4) return 4;
else if (atype == atype5) return 5;
else if (atype == atype6) return 6;
else if (atype == atype7) return 7;
if (atype == STANDARD_TYPE(IGESDefs_AssociativityDef))
return 1;
else if (atype == STANDARD_TYPE(IGESDefs_AttributeDef))
return 2;
else if (atype == STANDARD_TYPE(IGESDefs_AttributeTable))
return 3;
else if (atype == STANDARD_TYPE(IGESDefs_GenericData))
return 4;
else if (atype == STANDARD_TYPE(IGESDefs_MacroDef))
return 5;
else if (atype == STANDARD_TYPE(IGESDefs_TabularData))
return 6;
else if (atype == STANDARD_TYPE(IGESDefs_UnitsData))
return 7;
return 0;
}