class TDocStd_Document;
class TCollection_AsciiString;
-
//! Provides a tool to read IGES file and put it into <br>
//! DECAF document. Besides transfer of shapes (including <br>
//! assemblies) provided by IGESControl, supports also <br>
//! Names <br>
//! reader.SetNameMode(namemode); <br>
//! Standard_Boolean namemode = reader.GetNameMode(); <br>
-class IGESCAFControl_Reader : public IGESControl_Reader {
+class IGESCAFControl_Reader : public IGESControl_Reader
+{
public:
DEFINE_STANDARD_ALLOC
//! Creates a reader with an empty <br>
-//! IGES model and sets ColorMode, LayerMode and NameMode to Standard_True. <br>
+ //! IGES model and sets ColorMode, LayerMode and NameMode to Standard_True. <br>
Standard_EXPORT IGESCAFControl_Reader();
//! Creates a reader tool and attaches it to an already existing Session <br>
-//! Clears the session if it was not yet set for IGES <br>
+ //! Clears the session if it was not yet set for IGES <br>
Standard_EXPORT IGESCAFControl_Reader(const Handle(XSControl_WorkSession)& WS,const Standard_Boolean scratch = Standard_True);
//! Translates currently loaded IGES file into the document <br>
-//! Returns True if succeeded, and False in case of fail <br>
+ //! Returns True if succeeded, and False in case of fail <br>
Standard_EXPORT Standard_Boolean Transfer(Handle(TDocStd_Document)& doc) ;
Standard_EXPORT Standard_Boolean Perform(const TCollection_AsciiString& filename,Handle(TDocStd_Document)& doc) ;
//! Translate IGES file given by filename into the document <br>
-//! Return True if succeeded, and False in case of fail <br>
+ //! Return True if succeeded, and False in case of fail <br>
Standard_EXPORT Standard_Boolean Perform(const Standard_CString filename,Handle(TDocStd_Document)& doc) ;
//! Set ColorMode for indicate read Colors or not. <br>
Standard_EXPORT void SetColorMode(const Standard_Boolean colormode) ;
Standard_EXPORT Standard_Boolean GetLayerMode() const;
-
-
-
-
protected:
-
//! Reads colors of IGES entities and sets <br>
-//! corresponding color assignments in the DECAF document <br>
+ //! corresponding color assignments in the DECAF document <br>
Standard_EXPORT Standard_Boolean ReadColors(Handle(TDocStd_Document)& doc) const;
//! Reads Names of IGES entities and sets <br>
-//! corresponding name to label with shape in the DECAF document <br>
+ //! corresponding name to label with shape in the DECAF document <br>
Standard_EXPORT Standard_Boolean ReadNames(Handle(TDocStd_Document)& doc) const;
//! Reads layers of parts defined in the IGES model and <br>
-//! set reference between shape and layers in the DECAF document <br>
+ //! set reference between shape and layers in the DECAF document <br>
Standard_EXPORT Standard_Boolean ReadLayers(Handle(TDocStd_Document)& doc) const;
-
-
-
private:
-
-
-
-Standard_Boolean myColorMode;
-Standard_Boolean myNameMode;
-Standard_Boolean myLayerMode;
-
+ Standard_Boolean myColorMode;
+ Standard_Boolean myNameMode;
+ Standard_Boolean myLayerMode;
};
-
-
-
-
-
-// other Inline functions and methods (like "C++: function call" methods)
-
-
#endif
private:
//! Recursively iterates on subshapes and assigns colors <br>
- //! to faces and edges (if set) <br>
+ //! to faces and edges (if set) <br>
Standard_EXPORT void MakeColors(const TopoDS_Shape& S,const XCAFPrs_DataMapOfShapeStyle& settings,XCAFPrs_DataMapOfStyleTransient& colors,TopTools_MapOfShape& Map,const XCAFPrs_Style& inherit) ;
Standard_Boolean myColorMode;
DeclareAndCast(IGESData_IGESModel,modl,FP->Model());
if (modl.IsNull()) return NullResult();
- if (themodetrans < 0 || themodetrans > 1) return NullResult();
+ if (myModeTrans < 0 || myModeTrans > 1) return NullResult();
Handle(Standard_Transient) ent;
DeclareAndCast(TransferBRep_ShapeMapper,shmap,start);
BRepToIGES_BREntity BR0; BR0.SetModel(modl); BR0.SetTransferProcess(FP);
BRepToIGESBRep_Entity BR1; BR1.SetModel(modl); BR1.SetTransferProcess(FP);
- if (themodetrans == 0) ent = BR0.TransferShape(shape);
- if (themodetrans == 1) ent = BR1.TransferShape(shape);
+ if (myModeTrans == 0) ent = BR0.TransferShape(shape);
+ if (myModeTrans == 1) ent = BR1.TransferShape(shape);
// modified by NIZHNY-EAP Tue Aug 29 11:37:18 2000 ___BEGIN___
XSAlgo::AlgoContainer()->MergeTransferInfo(FP, info);
// modified by NIZHNY-EAP Tue Aug 29 11:37:25 2000 ___END___
//JR/Hp
: XSControl_Controller ((Standard_CString ) (mod ? "FNES" : "IGES") , (Standard_CString ) (mod ? "fnes" : "iges") ) ,
// : XSControl_Controller ( (mod ? "FNES" : "iges") , (mod ? "fnes" : "iges") ) ,
- themode (mod)
+ myMode (mod)
{
static Standard_Boolean init = Standard_False;
if (!init) {
TraceStatic ("write.iges.unit",6);
TraceStatic ("write.iges.brep.mode",6);
- theAdaptorLibrary = new IGESSelect_WorkLibrary(themode);
+ theAdaptorLibrary = new IGESSelect_WorkLibrary(myMode);
theAdaptorProtocol = IGESSelect_WorkLibrary::DefineProtocol();
Handle(IGESToBRep_Actor) anactiges = new IGESToBRep_Actor;
DEFINE_STANDARD_HANDLE(IGESControl_Controller,XSControl_Controller)
//! Controller for IGES-5.1 <br>
-class IGESControl_Controller : public XSControl_Controller {
+class IGESControl_Controller : public XSControl_Controller
+{
public:
//! Initializes the use of IGES Norm (the first time) and returns <br>
-//! a Controller for IGES-5.1 <br>
-//! If <modefnes> is True, sets it to internal FNES format <br>
+ //! a Controller for IGES-5.1 <br>
+ //! If <modefnes> is True, sets it to internal FNES format <br>
Standard_EXPORT IGESControl_Controller(const Standard_Boolean modefnes = Standard_False);
//! Creates a new empty Model ready to receive data of the Norm. <br>
-//! It is taken from IGES Template Model <br>
+ //! It is taken from IGES Template Model <br>
Standard_EXPORT Handle_Interface_InterfaceModel NewModel() const;
//! Returns the Actor for Read attached to the pair (norm,appli) <br>
-//! It is an Actor from IGESToBRep, adapted from an IGESModel : <br>
-//! Unit, tolerances <br>
+ //! It is an Actor from IGESToBRep, adapted from an IGESModel : <br>
+ //! Unit, tolerances <br>
Standard_EXPORT Handle_Transfer_ActorOfTransientProcess ActorRead(const Handle(Interface_InterfaceModel)& model) const;
//! Takes one Shape and transfers it to the InterfaceModel <br>
-//! (already created by NewModel for instance) <br>
-//! <modetrans> is to be interpreted by each kind of XstepAdaptor <br>
-//! Returns a status : 0 OK 1 No result 2 Fail -1 bad modeshape <br>
-//! -2 bad model (requires an IGESModel) <br>
-//! modeshape : 0 groupe of face (version < 5.1) <br>
-//! 1 BREP-version 5.1 of IGES <br>
+ //! (already created by NewModel for instance) <br>
+ //! <modetrans> is to be interpreted by each kind of XstepAdaptor <br>
+ //! Returns a status : 0 OK 1 No result 2 Fail -1 bad modeshape <br>
+ //! -2 bad model (requires an IGESModel) <br>
+ //! modeshape : 0 groupe of face (version < 5.1) <br>
+ //! 1 BREP-version 5.1 of IGES <br>
Standard_EXPORT virtual IFSelect_ReturnStatus TransferWriteShape(const TopoDS_Shape& shape,const Handle(Transfer_FinderProcess)& FP,const Handle(Interface_InterfaceModel)& model,const Standard_Integer modetrans = 0) const;
//! Standard Initialisation. It creates a Controller for IGES and <br>
-//! records it to various names, available to select it later <br>
-//! Returns True when done, False if could not be done <br>
-//! Also, it creates and records an Adaptor for FNES <br>
+ //! records it to various names, available to select it later <br>
+ //! Returns True when done, False if could not be done <br>
+ //! Also, it creates and records an Adaptor for FNES <br>
Standard_EXPORT static Standard_Boolean Init() ;
Standard_EXPORT virtual void Customise(Handle(XSControl_WorkSession)& WS) ;
-
-
-
DEFINE_STANDARD_RTTI(IGESControl_Controller)
-protected:
-
-
-
-
-private:
-
-
-Standard_Boolean themode;
+private:
+ Standard_Boolean myMode;
};
-
-
-
-
-
-// other Inline functions and methods (like "C++: function call" methods)
-
-
#endif
IGESControl_Controller::Init();
SetWS (new XSControl_WorkSession);
SetNorm("IGES");
- theReadOnlyVisible = Standard_False;
+ myReadOnlyVisible = Standard_False;
}
IGESControl_Controller::Init();
SetWS (WS,scratch);
SetNorm ("IGES");
- theReadOnlyVisible = Standard_False;
+ myReadOnlyVisible = Standard_False;
}
Interface_ShareFlags SH (model,protocol);
// sln 11.06.2002 OCC448
- Interface_Static::SetIVal("read.iges.onlyvisible",theReadOnlyVisible);
+ Interface_Static::SetIVal("read.iges.onlyvisible",myReadOnlyVisible);
Standard_Integer nb = model->NbEntities();
for (Standard_Integer i = 1; i <= nb; i ++) {
Handle(IGESData_IGESEntity) ent = model->Entity(i);
if ( SH.IsShared(ent) || ! actor->Recognize (ent) ) continue;
// on ajoute un traitement pour ne prendre que les entites visibles
- if ( ! theReadOnlyVisible || ent->BlankStatus() == 0 ) {
+ if ( ! myReadOnlyVisible || ent->BlankStatus() == 0 ) {
theroots.Append(ent);
}
}
//! reader.TransientProcess(); <br>
//! TopoDS_Shape shape = <br>
//! TransferBRep::ShapeResult(reader.TransientProcess(),ent); <br>
-class IGESControl_Reader : public XSControl_Reader {
+class IGESControl_Reader : public XSControl_Reader
+{
public:
DEFINE_STANDARD_ALLOC
//! Creates a Reader from scratch <br>
Standard_EXPORT IGESControl_Reader();
+
//! Creates a Reader from an already existing Session <br>
- Standard_EXPORT IGESControl_Reader(const Handle(XSControl_WorkSession)& WS,const Standard_Boolean scratch = Standard_True);
- //! Set the transion of ALL Roots (if theReadOnlyVisible is False) <br>
-//! or of Visible Roots (if theReadOnlyVisible is True) <br>
- void SetReadVisible(const Standard_Boolean ReadRoot) ;
+ Standard_EXPORT IGESControl_Reader(const Handle(XSControl_WorkSession)& WS,
+ const Standard_Boolean scratch = Standard_True);
+
+ //! Set the transion of ALL Roots (if myReadOnlyVisible is False) <br>
+ //! or of Visible Roots (if myReadOnlyVisible is True) <br>
+ void SetReadVisible(const Standard_Boolean ReadRoot) ;
+
+ Standard_Boolean GetReadVisible() const;
- Standard_Boolean GetReadVisible() const;
//! Returns the model as a IGESModel. <br>
-//! It can then be consulted (header, product) <br>
+ //! It can then be consulted (header, product) <br>
Standard_EXPORT Handle_IGESData_IGESModel IGESModel() const;
+
//! Determines the list of root entities from Model which are candidate for <br>
-//! a transfer to a Shape (type of entities is PRODUCT) <br>
-//! <theReadOnlyVisible> is taken into account to define roots <br>
- Standard_EXPORT virtual Standard_Integer NbRootsForTransfer() ;
+ //! a transfer to a Shape (type of entities is PRODUCT) <br>
+ //! <myReadOnlyVisible> is taken into account to define roots <br>
+ Standard_EXPORT virtual Standard_Integer NbRootsForTransfer();
+
//! Prints Statistics and check list for Transfer <br>
- Standard_EXPORT void PrintTransferInfo(const IFSelect_PrintFail failwarn,const IFSelect_PrintCount mode) const;
-
-
-
-
-
-protected:
-
-
-
+ Standard_EXPORT void PrintTransferInfo (const IFSelect_PrintFail failwarn,
+ const IFSelect_PrintCount mode) const;
private:
-
-
-
-Standard_Boolean theReadOnlyVisible;
-
-
+ Standard_Boolean myReadOnlyVisible;
};
-
#include <IGESControl_Reader.lxx>
-
-
-// other Inline functions and methods (like "C++: function call" methods)
-
-
#endif
inline void IGESControl_Reader::SetReadVisible (const Standard_Boolean ReadRoot)
{
- theReadOnlyVisible = ReadRoot;
+ myReadOnlyVisible = ReadRoot;
}
inline Standard_Boolean IGESControl_Reader::GetReadVisible ()const
{
- return theReadOnlyVisible;
+ return myReadOnlyVisible;
}
#include <IGESData_SpecificLib.hxx>
-
- static NCollection_Handle < LibCtl_GlobalNode<Handle(IGESData_SpecificModule),
- Handle(IGESData_Protocol)> >
- myGlobal;
-
- static NCollection_Handle < LibCtl_Node<Handle(IGESData_SpecificModule),
- Handle(IGESData_Protocol)> >
- myLast;
-
- static Handle(IGESData_Protocol)
- myProtocol;
-
-
- void IGESData_SpecificLib::SetGlobal (const Handle(IGESData_SpecificModule)& theModule,
- const Handle(IGESData_Protocol)& theProtocol)
- {
- if (myGlobal.IsNull())
- myGlobal = new LibCtl_IGESSpecificLib::LibCtl_GlobalNode;
- myGlobal->Add(theModule,theProtocol);
- }
-
- IGESData_SpecificLib::IGESData_SpecificLib(const Handle(IGESData_Protocol)& theProtocol)
- {
- Standard_Boolean last = Standard_False;
- if (theProtocol.IsNull())
- return;
- if (!myProtocol.IsNull())
- last = (myProtocol == theProtocol);
-
- if (last)
- thelist = myLast;
- // If no optimization available: list building
- else
- {
- AddProtocol(theProtocol);
- // This defines the optimization (for the next time)
- myLast = thelist;
- myProtocol = theProtocol;
- }
- }
-
- void IGESData_SpecificLib::SetComplete ()
- {
- thelist = new LibCtl_IGESSpecificLib::LibCtl_Node;
- // Take each of the protocols of the Global list
- NCollection_Handle <LibCtl_IGESSpecificLib::LibCtl_GlobalNode> curr;
- for (curr = myGlobal; !curr.IsNull(); )
- {
- const Handle(IGESData_Protocol)& protocol = curr->Protocol();
- // As we take all , it is not preoccupied resources
- if (!protocol.IsNull()) thelist->AddNode(curr);
- curr = curr->Next();
- }
- }
-
- void IGESData_SpecificLib::AddProtocol (const Handle(Standard_Transient)& theProtocol)
- {
- // Downcast as Protocol-> Resources, and even redefined to use in other
- // Library must always return the type highest
- Handle(IGESData_Protocol) aProtocol = Handle(IGESData_Protocol)::DownCast(theProtocol);
- if (aProtocol.IsNull()) return;
-
- NCollection_Handle <LibCtl_IGESSpecificLib::LibCtl_GlobalNode> curr;
- for (curr = myGlobal; !curr.IsNull(); )
- {
- const Handle(IGESData_Protocol)& protocol = curr->Protocol();
- if (!protocol.IsNull())
- {
- if (protocol->DynamicType() == theProtocol->DynamicType())
- {
- if (thelist.IsNull())
- thelist = new LibCtl_IGESSpecificLib::LibCtl_Node;
- thelist->AddNode(curr);
- break;
- }
- }
- curr = curr->Next();
- }
- // Treat resources
- Standard_Integer nb = aProtocol->NbResources();
- for (Standard_Integer i = 1; i <= nb; i++)
- {
- AddProtocol (aProtocol->Resource(i));
- }
-
- myProtocol.Nullify();
- myLast.Nullify();
- }
+typedef LibCtl_GlobalNode <Handle(IGESData_SpecificModule),
+ Handle(IGESData_Protocol)>
+ IGESData_GlobalNodeOfSpecificLib;
+
+template<>
+Standard_EXPORT static NCollection_Handle< IGESData_GlobalNodeOfSpecificLib >&
+IGESData_SpecificLib::GetGlobal()
+{
+ static NCollection_Handle< IGESData_GlobalNodeOfSpecificLib > aGlobal;
+ return aGlobal;
+}
typedef LibCtl_Library<Handle(IGESData_IGESEntity),
Handle(IGESData_SpecificModule),
Handle(IGESData_Protocol)>
- LibCtl_IGESSpecificLib;
+ IGESData_SpecificLib;
-template <>
-NCollection_Handle <LibCtl_GlobalNode<Handle(IGESData_SpecificModule),
- Handle(IGESData_Protocol)> >
-LibCtl_IGESSpecificLib::theglobal;
-
-template <>
-Handle(IGESData_Protocol)
-LibCtl_IGESSpecificLib::theprotocol;
-
-template <>
-NCollection_Handle <LibCtl_Node<Handle(IGESData_SpecificModule),
- Handle(IGESData_Protocol)> >
-LibCtl_IGESSpecificLib::thelast;
-
-
-class IGESData_SpecificLib : public LibCtl_IGESSpecificLib
-{
-public:
- DEFINE_STANDARD_ALLOC
- Standard_EXPORT IGESData_SpecificLib()
- : LibCtl_IGESSpecificLib ()
- { }
-
- Standard_EXPORT IGESData_SpecificLib(const Handle(IGESData_Protocol)& theProtocol);
-
- Standard_EXPORT void SetComplete ();
-
- Standard_EXPORT void AddProtocol (const Handle(Standard_Transient)& theProtocol);
-
- Standard_EXPORT static void SetGlobal (const Handle(IGESData_SpecificModule)& theModule,
- const Handle(IGESData_Protocol)& theProtocol);
-
-};
-
#endif
\ No newline at end of file
#include <IGESData_WriterLib.hxx>
-
- static NCollection_Handle < LibCtl_GlobalNode<Handle(IGESData_ReadWriteModule),
- Handle(IGESData_Protocol)> >
- myGlobal;
-
- static NCollection_Handle < LibCtl_Node<Handle(IGESData_ReadWriteModule),
- Handle(IGESData_Protocol)> >
- myLast;
-
- static Handle(IGESData_Protocol)
- myProtocol;
-
-
- void IGESData_WriterLib::SetGlobal (const Handle(IGESData_ReadWriteModule)& theModule,
- const Handle(IGESData_Protocol)& theProtocol)
- {
- if (myGlobal.IsNull())
- myGlobal = new LibCtl_IGESWriterLib::LibCtl_GlobalNode;
- myGlobal->Add(theModule,theProtocol);
- }
-
- IGESData_WriterLib::IGESData_WriterLib(const Handle(IGESData_Protocol)& theProtocol)
- {
- Standard_Boolean last = Standard_False;
- if (theProtocol.IsNull())
- return;
- if (!myProtocol.IsNull())
- last = (myProtocol == theProtocol);
-
- if (last)
- thelist = myLast;
- // If no optimization available: list building
- else
- {
- AddProtocol(theProtocol);
- // This defines the optimization (for the next time)
- myLast = thelist;
- myProtocol = theProtocol;
- }
- }
-
- void IGESData_WriterLib::SetComplete ()
- {
- thelist = new LibCtl_IGESWriterLib::LibCtl_Node;
- // Take each of the protocols of the Global list
- NCollection_Handle <LibCtl_IGESWriterLib::LibCtl_GlobalNode> curr;
- for (curr = myGlobal; !curr.IsNull(); )
- {
- const Handle(IGESData_Protocol)& protocol = curr->Protocol();
- // As we take all , it is not preoccupied resources
- if (!protocol.IsNull()) thelist->AddNode(curr);
- curr = curr->Next();
- }
- }
-
- void IGESData_WriterLib::AddProtocol (const Handle(Standard_Transient)& theProtocol)
- {
- // Downcast as Protocol-> Resources, and even redefined to use in other
- // Library must always return the type highest
- Handle(IGESData_Protocol) aProtocol = Handle(IGESData_Protocol)::DownCast(theProtocol);
- if (aProtocol.IsNull()) return;
-
- NCollection_Handle <LibCtl_IGESWriterLib::LibCtl_GlobalNode> curr;
- for (curr = myGlobal; !curr.IsNull(); )
- {
- const Handle(IGESData_Protocol)& protocol = curr->Protocol();
- if (!protocol.IsNull())
- {
- if (protocol->DynamicType() == theProtocol->DynamicType())
- {
- if (thelist.IsNull())
- thelist = new LibCtl_IGESWriterLib::LibCtl_Node;
- thelist->AddNode(curr);
- break;
- }
- }
- curr = curr->Next();
- }
- // Treat resources
- Standard_Integer nb = aProtocol->NbResources();
- for (Standard_Integer i = 1; i <= nb; i++)
- {
- AddProtocol (aProtocol->Resource(i));
- }
-
- myProtocol.Nullify();
- myLast.Nullify();
- }
+typedef LibCtl_GlobalNode <Handle(IGESData_ReadWriteModule),
+ Handle(IGESData_Protocol)>
+ IGESData_GlobalNodeOfWriterLib;
+
+template<>
+Standard_EXPORT static NCollection_Handle< IGESData_GlobalNodeOfWriterLib >&
+IGESData_WriterLib::GetGlobal()
+{
+ static NCollection_Handle< IGESData_GlobalNodeOfWriterLib > aGlobal;
+ return aGlobal;
+}
class IGESData_Protocol;
class Standard_Transient;
-typedef LibCtl_Library<Handle(IGESData_IGESEntity),
- Handle(IGESData_ReadWriteModule),
- Handle(IGESData_Protocol)>
- LibCtl_IGESWriterLib;
-
-//template <>
-//NCollection_Handle <LibCtl_GlobalNode<Handle(IGESData_ReadWriteModule),
-// Handle(IGESData_Protocol)> >
-//LibCtl_IGESWriterLib::theglobal;
-//
-//template <>
-//Handle(IGESData_Protocol)
-//LibCtl_IGESWriterLib::theprotocol;
-//
-//template <>
-//NCollection_Handle <LibCtl_Node<Handle(IGESData_ReadWriteModule),
-// Handle(IGESData_Protocol)> >
-//LibCtl_IGESWriterLib::thelast;
-class IGESData_WriterLib : public LibCtl_IGESWriterLib
-{
-public:
- DEFINE_STANDARD_ALLOC
-
- Standard_EXPORT IGESData_WriterLib()
- : LibCtl_IGESWriterLib ()
- { }
-
- Standard_EXPORT IGESData_WriterLib(const Handle(IGESData_Protocol)& theProtocol);
-
- Standard_EXPORT void SetComplete ();
-
- Standard_EXPORT void AddProtocol (const Handle(Standard_Transient)& theProtocol);
-
- Standard_EXPORT static void SetGlobal (const Handle(IGESData_ReadWriteModule)& theModule,
- const Handle(IGESData_Protocol)& theProtocol);
-};
+typedef LibCtl_Library<Handle(IGESData_IGESEntity),
+ Handle(IGESData_ReadWriteModule),
+ Handle(IGESData_Protocol)>
+ IGESData_WriterLib;
#endif
#include <Interface_GeneralLib.hxx>
-
- static NCollection_Handle < LibCtl_GlobalNode<Handle(Interface_GeneralModule),
- Handle(Interface_Protocol)> >
- myGlobal;
-
- static NCollection_Handle < LibCtl_Node<Handle(Interface_GeneralModule),
- Handle(Interface_Protocol)> >
- myLast;
-
- static Handle(Interface_Protocol)
- myProtocol;
-
-
- void Interface_GeneralLib::SetGlobal (const Handle(Interface_GeneralModule)& theModule,
- const Handle(Interface_Protocol)& theProtocol)
- {
- if (myGlobal.IsNull())
- myGlobal = new LibCtl_GeneralLib::LibCtl_GlobalNode;
- myGlobal->Add(theModule,theProtocol);
- }
-
- Interface_GeneralLib::Interface_GeneralLib(const Handle(Interface_Protocol)& theProtocol)
- {
- Standard_Boolean last = Standard_False;
- if (theProtocol.IsNull())
- return;
- if (!myProtocol.IsNull())
- last = (myProtocol == theProtocol);
-
- if (last)
- thelist = myLast;
- // If no optimization available: list building
- else
- {
- AddProtocol(theProtocol);
- // This defines the optimization (for the next time)
- myLast = thelist;
- myProtocol = theProtocol;
- }
- }
-
- void Interface_GeneralLib::SetComplete ()
- {
- thelist = new LibCtl_GeneralLib::LibCtl_Node;
- // Take each of the protocols of the Global list
- NCollection_Handle <LibCtl_GeneralLib::LibCtl_GlobalNode> curr;
- for (curr = myGlobal; !curr.IsNull(); )
- {
- const Handle(Interface_Protocol)& protocol = curr->Protocol();
- // As we take all , it is not preoccupied resources
- if (!protocol.IsNull()) thelist->AddNode(curr);
- curr = curr->Next();
- }
- }
-
- void Interface_GeneralLib::AddProtocol (const Handle(Standard_Transient)& theProtocol)
- {
- // Downcast as Protocol-> Resources, and even redefined to use in other
- // Library must always return the type highest
- Handle(Interface_Protocol) aProtocol = Handle(Interface_Protocol)::DownCast(theProtocol);
- if (aProtocol.IsNull()) return;
-
- NCollection_Handle <LibCtl_GeneralLib::LibCtl_GlobalNode> curr;
- for (curr = myGlobal; !curr.IsNull(); )
- {
- const Handle(Interface_Protocol)& protocol = curr->Protocol();
- if (!protocol.IsNull())
- {
- if (protocol->DynamicType() == theProtocol->DynamicType())
- {
- if (thelist.IsNull())
- thelist = new LibCtl_GeneralLib::LibCtl_Node;
- thelist->AddNode(curr);
- break;
- }
- }
- curr = curr->Next();
- }
- // Treat resources
- Standard_Integer nb = aProtocol->NbResources();
- for (Standard_Integer i = 1; i <= nb; i++)
- {
- AddProtocol (aProtocol->Resource(i));
- }
-
- myProtocol.Nullify();
- myLast.Nullify();
- }
+typedef LibCtl_GlobalNode <Handle(Interface_GeneralModule),
+ Handle(Interface_Protocol)>
+ Interface_GlobalNodeOfGeneralLib;
+
+template<>
+Standard_EXPORT static NCollection_Handle< Interface_GlobalNodeOfGeneralLib >&
+Interface_GeneralLib::GetGlobal()
+{
+ static NCollection_Handle< Interface_GlobalNodeOfGeneralLib > aGlobal;
+ return aGlobal;
+}
typedef LibCtl_Library <Handle(Standard_Transient),
Handle(Interface_GeneralModule),
Handle(Interface_Protocol)>
- LibCtl_GeneralLib;
-
-//template <>
-//NCollection_Handle <LibCtl_GlobalNode<Handle(Interface_GeneralModule),
-// Handle(Interface_Protocol)> >
-//LibCtl_GeneralLib::theglobal;
-//
-//template <>
-//Handle(Interface_Protocol)
-//LibCtl_GeneralLib::theprotocol;
-//
-//template <>
-//NCollection_Handle <LibCtl_Node<Handle(Interface_GeneralModule),
-// Handle(Interface_Protocol)> >
-//LibCtl_GeneralLib::thelast;
-
-class Interface_GeneralLib : public LibCtl_GeneralLib
-{
-public:
- DEFINE_STANDARD_ALLOC
- Standard_EXPORT Interface_GeneralLib()
- : LibCtl_GeneralLib ()
- { }
-
- Standard_EXPORT Interface_GeneralLib(const Handle(Interface_Protocol)& theProtocol);
-
- Standard_EXPORT const Handle(Interface_Protocol)& Protocol () const
- {return LibCtl_GeneralLib::Protocol();}
-
- Standard_EXPORT const Handle(Interface_GeneralModule)& Module () const
- {return LibCtl_GeneralLib::Module();}
-
- Standard_EXPORT void Next ()
- { LibCtl_GeneralLib::Next();}
-
- Standard_EXPORT Standard_Boolean More () const
- {return LibCtl_GeneralLib::More();}
-
- Standard_EXPORT void Start ()
- { LibCtl_GeneralLib::Start();}
-
- Standard_EXPORT Standard_Boolean Select (const Handle(Standard_Transient)& obj,
- Handle(Interface_GeneralModule)& module,
- Standard_Integer& CN) const
- {return LibCtl_GeneralLib::Select(obj,module,CN);}
-
- Standard_EXPORT void SetComplete ();
-
- Standard_EXPORT void AddProtocol (const Handle(Standard_Transient)& theProtocol);
-
- Standard_EXPORT static void SetGlobal (const Handle(Interface_GeneralModule)& theModule,
- const Handle(Interface_Protocol)& theProtocol);
-};
+ Interface_GeneralLib;
#endif
#include <Interface_ReaderLib.hxx>
-
- static NCollection_Handle < LibCtl_GlobalNode<Handle(Interface_ReaderModule),
- Handle(Interface_Protocol)> >
- myGlobal;
-
- static NCollection_Handle < LibCtl_Node<Handle(Interface_ReaderModule),
- Handle(Interface_Protocol)> >
- myLast;
-
- static Handle(Interface_Protocol)
- myProtocol;
-
-
- void Interface_ReaderLib::SetGlobal (const Handle(Interface_ReaderModule)& theModule,
- const Handle(Interface_Protocol)& theProtocol)
- {
- if (myGlobal.IsNull())
- myGlobal = new LibCtl_ReaderLib::LibCtl_GlobalNode;
- myGlobal->Add(theModule,theProtocol);
- }
-
- Interface_ReaderLib::Interface_ReaderLib(const Handle(Interface_Protocol)& theProtocol)
- {
- Standard_Boolean last = Standard_False;
- if (theProtocol.IsNull())
- return;
- if (!myProtocol.IsNull())
- last = (myProtocol == theProtocol);
-
- if (last)
- thelist = myLast;
- // If no optimization available: list building
- else
- {
- AddProtocol(theProtocol);
- // This defines the optimization (for the next time)
- myLast = thelist;
- myProtocol = theProtocol;
- }
- }
-
- void Interface_ReaderLib::SetComplete ()
- {
- thelist = new LibCtl_ReaderLib::LibCtl_Node;
- // Take each of the protocols of the Global list
- NCollection_Handle <LibCtl_ReaderLib::LibCtl_GlobalNode> curr;
- for (curr = myGlobal; !curr.IsNull(); )
- {
- const Handle(Interface_Protocol)& protocol = curr->Protocol();
- // As we take all , it is not preoccupied resources
- if (!protocol.IsNull()) thelist->AddNode(curr);
- curr = curr->Next();
- }
- }
-
- void Interface_ReaderLib::AddProtocol (const Handle(Standard_Transient)& theProtocol)
- {
- // Downcast as Protocol-> Resources, and even redefined to use in other
- // Library must always return the type highest
- Handle(Interface_Protocol) aProtocol = Handle(Interface_Protocol)::DownCast(theProtocol);
- if (aProtocol.IsNull()) return;
-
- NCollection_Handle <LibCtl_ReaderLib::LibCtl_GlobalNode> curr;
- for (curr = myGlobal; !curr.IsNull(); )
- {
- const Handle(Interface_Protocol)& protocol = curr->Protocol();
- if (!protocol.IsNull())
- {
- if (protocol->DynamicType() == theProtocol->DynamicType())
- {
- if (thelist.IsNull())
- thelist = new LibCtl_ReaderLib::LibCtl_Node;
- thelist->AddNode(curr);
- break;
- }
- }
- curr = curr->Next();
- }
- // Treat resources
- Standard_Integer nb = aProtocol->NbResources();
- for (Standard_Integer i = 1; i <= nb; i++)
- {
- AddProtocol (aProtocol->Resource(i));
- }
-
- myProtocol.Nullify();
- myLast.Nullify();
- }
+typedef LibCtl_GlobalNode <Handle(Interface_ReaderModule),
+ Handle(Interface_Protocol)>
+ Interface_GlobalNodeOfReaderLib;
+
+template<>
+Standard_EXPORT static NCollection_Handle< Interface_GlobalNodeOfReaderLib >&
+Interface_ReaderLib::GetGlobal()
+{
+ static NCollection_Handle< Interface_GlobalNodeOfReaderLib > aGlobal;
+ return aGlobal;
+}
typedef LibCtl_Library <Handle(Standard_Transient),
Handle(Interface_ReaderModule),
Handle(Interface_Protocol)>
- LibCtl_ReaderLib;
-
-//template <>
-//NCollection_Handle <LibCtl_GlobalNode<Handle(Interface_ReaderModule),
-// Handle(Interface_Protocol)> >
-//LibCtl_ReaderLib::theglobal;
-//
-//template <>
-//Handle(Interface_Protocol)
-//LibCtl_ReaderLib::theprotocol;
-//
-//template <>
-//NCollection_Handle <LibCtl_Node<Handle(Interface_ReaderModule),
-// Handle(Interface_Protocol)> >
-//LibCtl_ReaderLib::thelast;
-
-// Library
-class Interface_ReaderLib : public LibCtl_ReaderLib
-{
-public:
- DEFINE_STANDARD_ALLOC
- Standard_EXPORT Interface_ReaderLib()
- : LibCtl_ReaderLib ()
- { }
-
- Standard_EXPORT Interface_ReaderLib(const Handle(Interface_Protocol)& theProtocol);
-
- Standard_EXPORT void SetComplete ();
-
- Standard_EXPORT void AddProtocol (const Handle(Standard_Transient)& theProtocol);
-
- Standard_EXPORT static void SetGlobal (const Handle(Interface_ReaderModule)& theModule,
- const Handle(Interface_Protocol)& theProtocol);
-};
+ Interface_ReaderLib;
#endif
\ No newline at end of file
#ifndef _LibCtl_Library_HeaderFile
#define _LibCtl_Library_HeaderFile
+#include <Standard.hxx>
+#include <Standard_DefineAlloc.hxx>
#include <Standard_NoSuchObject.hxx>
#include <NCollection_Handle.hxx>
-template<class ModuleType, class ProtocolType> class LibCtl_GlobalNode;
+template <class ModuleType, class ProtocolType> class LibCtl_GlobalNode;
-
-// Node for LibCtl_Library
//! Manages a list of Modules for a Library (as an instance) :
-//! Designates a GlobalNode (couple Module-Protocol)
-template<class ModuleType, class ProtocolType>
+//! Designates a GlobalNode (couple Module-Protocol)
+template <class ModuleType, class ProtocolType>
class LibCtl_Node
{
private:
typedef LibCtl_GlobalNode<ModuleType, ProtocolType> LibCtl_GlobalNode;
- NCollection_Handle < LibCtl_GlobalNode > thenode;
- NCollection_Handle < LibCtl_Node > thenext;
+ NCollection_Handle < LibCtl_GlobalNode > myNode;
+ NCollection_Handle < LibCtl_Node > myNext;
public:
Standard_EXPORT LibCtl_Node ();
- Standard_EXPORT void AddNode (const NCollection_Handle< LibCtl_GlobalNode >& anode);
+ Standard_EXPORT void AddNode (const NCollection_Handle< LibCtl_GlobalNode >& theNode);
Standard_EXPORT const ModuleType& Module () const;
Standard_EXPORT const ProtocolType& Protocol () const;
Standard_EXPORT const NCollection_Handle< LibCtl_Node >& Next () const;
//! Adds a couple (Module,Protocol), that is, stores it into
//! itself if not yet done, else creates a Next Node to do it.
template<class ModuleType, class ProtocolType>
-void LibCtl_Node<ModuleType,ProtocolType>::AddNode (const NCollection_Handle< LibCtl_GlobalNode >& anode)
+void LibCtl_Node<ModuleType,ProtocolType>::AddNode (const NCollection_Handle< LibCtl_GlobalNode >& theNode)
{
- if (thenode == anode) return;
- if (thenext.IsNull()) {
- if (thenode.IsNull()) thenode = anode;
+ if (myNode == theNode) return;
+ if (myNext.IsNull()) {
+ if (myNode.IsNull()) myNode = theNode;
else {
- thenext = new LibCtl_Node;
- thenext->AddNode (anode);
+ myNext = new LibCtl_Node;
+ myNext->AddNode (theNode);
}
}
- else thenext->AddNode (anode);
+ else myNext->AddNode (theNode);
}
//! Returns the Module designated by a precise Node.
template<class ModuleType, class ProtocolType>
const ModuleType& LibCtl_Node<ModuleType,ProtocolType>::Module () const
{
- return thenode->Module();
+ return myNode->Module();
}
//! Returns the Protocol designated by a precise Node.
template<class ModuleType, class ProtocolType>
const ProtocolType& LibCtl_Node<ModuleType,ProtocolType>::Protocol () const
{
- return thenode->Protocol();
+ return myNode->Protocol();
}
//! Returns the next Node.
template<class ModuleType, class ProtocolType>
const NCollection_Handle< LibCtl_Node<ModuleType,ProtocolType> >& LibCtl_Node<ModuleType,ProtocolType>::Next () const
{
- return thenext;
+ return myNext;
}
-// GlobalNode for LibCtl_Library
//! Manages a (possibly static) Global List of Modules bound to protocols.
//! Remark that it requires independance from Memory Management
//! (because a Global List of Modules can be build through static
class LibCtl_GlobalNode
{
private:
- ModuleType themod;
- ProtocolType theprot;
- NCollection_Handle <LibCtl_GlobalNode> thenext;
+ ModuleType myMod;
+ ProtocolType myProt;
+ NCollection_Handle <LibCtl_GlobalNode> myNext;
public:
Standard_EXPORT LibCtl_GlobalNode ();
- Standard_EXPORT void Add (const ModuleType& amodule, const ProtocolType& aprotocol);
+ Standard_EXPORT void Add (const ModuleType& theModule, const ProtocolType& theProtocol);
Standard_EXPORT const ModuleType& Module () const;
Standard_EXPORT const ProtocolType& Protocol () const;
Standard_EXPORT const NCollection_Handle <LibCtl_GlobalNode >& Next () const;
//! Once added, stores its attached Protocol in correspondance.
template<class ModuleType, class ProtocolType>
void LibCtl_GlobalNode <ModuleType,ProtocolType>::Add
-(const ModuleType& amodule, const ProtocolType& aprotocol)
+(const ModuleType& theModule, const ProtocolType& theProtocol)
{
- if (themod == amodule) return;
- if (theprot == aprotocol) themod = amodule;
- else if (thenext.IsNull()) {
- if (themod.IsNull()) { themod = amodule; theprot = aprotocol; }
- else {
- thenext = new LibCtl_GlobalNode;
- thenext->Add (amodule,aprotocol);
+ if (myMod == theModule) return;
+ if (myProt == theProtocol) myMod = theModule;
+ else if (myNext.IsNull())
+ {
+ if (myMod.IsNull())
+ {
+ myMod = theModule;
+ myProt = theProtocol;
+ }
+ else
+ {
+ myNext = new LibCtl_GlobalNode;
+ myNext->Add (theModule,theProtocol);
}
}
- else thenext->Add (amodule,aprotocol);
+ else myNext->Add (theModule,theProtocol);
}
//! Returns the Module stored in a given GlobalNode.
template<class ModuleType, class ProtocolType>
const ModuleType& LibCtl_GlobalNode <ModuleType,ProtocolType>::Module () const
{
- return themod;
+ return myMod;
}
//! Returns the attached Protocol stored in a given GlobalNode.
template<class ModuleType, class ProtocolType>
const ProtocolType& LibCtl_GlobalNode <ModuleType,ProtocolType>::Protocol () const
{
- return theprot;
+ return myProt;
}
//! Returns the next GlobalNode.
const NCollection_Handle <LibCtl_GlobalNode<ModuleType,ProtocolType> >&
LibCtl_GlobalNode <ModuleType,ProtocolType>::Next () const
{
- return thenext;
+ return myNext;
}
// Library
+//! Manages a list of Execution Modules attached to Protocols
+//! to perform a specific set of functionnalities.
+//!
+//! Each instantiated class of Library has a global set a Modules.
+//! These Modules are put in this set before working, for instance
+//! by static construction (using method SetGlobal). One Module
+//! is bound which each Protocol (considered as a class).
+//!
+//! To work, a Library is created by taking the Modules which
+//! comply with a Protocol (bound with its class and the classes
+//! of its Resources), given as parameter of its creation.
//!
-template<class ObjectType,class ModuleType, class ProtocolType>
+//! Thus, any tool can use it to get the suitable Modules
+//! Warning : The order of the Modules in the Library has assumed to be
+//! useless, and is not managed.
+template <class ObjectType, class ModuleType, class ProtocolType>
class LibCtl_Library
{
public:
- typedef LibCtl_GlobalNode<ModuleType, ProtocolType > LibCtl_GlobalNode;
- typedef LibCtl_Node<ModuleType, ProtocolType > LibCtl_Node;
- static NCollection_Handle< LibCtl_GlobalNode > theglobal;
- static ProtocolType theprotocol;
- static NCollection_Handle< LibCtl_Node > thelast;
-
- // Public methods
- Standard_EXPORT static void SetGlobal(const ModuleType& amodule, const ProtocolType& aprotocol);
- Standard_EXPORT LibCtl_Library (const ProtocolType& aprotocol);
- Standard_EXPORT LibCtl_Library ();
- Standard_EXPORT void AddProtocol(const Handle(Standard_Transient)& aprotocol);
- Standard_EXPORT void Clear ();
- Standard_EXPORT void SetComplete ();
- Standard_EXPORT Standard_Boolean Select (const ObjectType& obj,
- ModuleType& module,
- Standard_Integer& CN) const;
- Standard_EXPORT void Start ();
- Standard_EXPORT Standard_Boolean More () const;
- Standard_EXPORT void Next ();
- Standard_EXPORT const ModuleType& Module () const;
- Standard_EXPORT const ProtocolType& Protocol () const;
+ // Type definitions for template classes
+ typedef LibCtl_GlobalNode<ModuleType, ProtocolType> LibCtl_GlobalNode;
+ typedef LibCtl_Node<ModuleType, ProtocolType> LibCtl_Node;
+public:
+ // Basic data for optimization (Protocol last request)
+ static ProtocolType myProtocol;
+ static NCollection_Handle< LibCtl_Node > myLast;
-protected:
- NCollection_Handle < LibCtl_Node > thelist;
- NCollection_Handle < LibCtl_Node > thecurr;
-};
+ DEFINE_STANDARD_ALLOC
-//! Adds a couple (Module-Protocol) into the global definition set
-//! for this class of Library.
-template<class ObjectType,class ModuleType, class ProtocolType>
-void LibCtl_Library <ObjectType, ModuleType, ProtocolType>
-::SetGlobal (const ModuleType& amodule, const ProtocolType& aprotocol)
-{
- if (theglobal.IsNull()) theglobal = new LibCtl_GlobalNode;
- theglobal->Add(amodule,aprotocol);
-}
+private:
+ NCollection_Handle< LibCtl_Node > myList;
+ NCollection_Handle< LibCtl_Node > myCurr;
+public:
-//! Creates a Library which complies with a Protocol, that is :
-//! - Same class (criterium IsInstance)
-//! - This creation gets the Modules from the global set, those
-//! which are bound to the given Protocol and its Resources.
-template<class ObjectType,class ModuleType, class ProtocolType>
-LibCtl_Library<ObjectType, ModuleType, ProtocolType>::LibCtl_Library (const ProtocolType& aprotocol)
-{
- Standard_Boolean last = Standard_False;
- if (aprotocol.IsNull()) return; // PAS de protocole = Lib VIDE
- if (!theprotocol.IsNull()) last =
- (theprotocol == aprotocol);
-
- if (last) thelist = thelast;
- // Si Pas d optimisation disponible : construire la liste
- else {
- AddProtocol(aprotocol);
- // Ceci definit l optimisation (pour la fois suivante)
- thelast = thelist;
- theprotocol = aprotocol;
+ //! Gets global list of modules
+ static NCollection_Handle< LibCtl_GlobalNode >& GetGlobal();
+
+ //! Supply the global list
+ Standard_EXPORT static void SetGlobal (const ModuleType& theModule, const ProtocolType& theProtocol)
+ {
+ if (GetGlobal().IsNull()) GetGlobal() = new LibCtl_GlobalNode;
+ GetGlobal()->Add(theModule,theProtocol);
+ }
+
+ Standard_EXPORT LibCtl_Library (const ProtocolType& theProtocol)
+ {
+ Standard_Boolean last = Standard_False;
+ // No protocol = empty library
+ if (theProtocol.IsNull()) return;
+ if (!myProtocol.IsNull()) last =
+ (myProtocol == theProtocol);
+
+ if (last)
+ myList = myLast;
+ // If no optimization available: list building
+ else
+ {
+ AddProtocol(theProtocol);
+ // This defines the optimization (for the next time)
+ myLast = myList;
+ myProtocol = theProtocol;
+ }
}
-}
-
-//! Creates an empty Library : it will later by filled by method AddProtocol.
-template<class ObjectType,class ModuleType, class ProtocolType>
-LibCtl_Library<ObjectType, ModuleType, ProtocolType>::LibCtl_Library () { }
-//! Adds a couple (Module-Protocol) to the Library, given the
-//! class of a Protocol. Takes Resources into account.
-//! (if <aprotocol> is not of type TheProtocol, it is not added).
-template<class ObjectType,class ModuleType, class ProtocolType>
-void LibCtl_Library<ObjectType, ModuleType, ProtocolType>::AddProtocol
- (const Handle(Standard_Transient)& aprotocol)
-{
- ProtocolType aproto = ProtocolType::DownCast(aprotocol);
- if (aproto.IsNull()) return;
+ Standard_EXPORT LibCtl_Library ()
+ { }
- // D first, add it to the list: search the Node
- NCollection_Handle<LibCtl_GlobalNode > curr;
- for (curr = theglobal; !curr.IsNull(); )
+ //! Add a Protocol: attention: it is desoptimise (if not confusion!)
+ Standard_EXPORT void AddProtocol (const Handle(Standard_Transient)& theProtocol)
{
- const ProtocolType& protocol = curr->Protocol();
- if (!protocol.IsNull()) {
- // Match Protocol ?
- if (protocol->DynamicType() == aprotocol->DynamicType()) {
- if (thelist.IsNull()) thelist = new LibCtl_Node;
- thelist->AddNode(curr);
- break;
+ // Downcast as Protocol-> Resources, and even redefined to use in other
+ // Library must always return the type highest
+ ProtocolType aProtocol = ProtocolType::DownCast(theProtocol);
+ if (aProtocol.IsNull()) return;
+
+ NCollection_Handle< LibCtl_GlobalNode > curr;
+ for (curr = GetGlobal(); !curr.IsNull(); )
+ {
+ const ProtocolType& aProtocol = curr->Protocol();
+ if (!aProtocol.IsNull())
+ {
+ // Match Protocol ?
+ if (aProtocol->DynamicType() == theProtocol->DynamicType())
+ {
+ if (myList.IsNull())
+ myList = new LibCtl_Node;
+
+ myList->AddNode(curr);
+ break; // UN SEUL MODULE PAR PROTOCOLE
+ }
}
+ curr = curr->Next();
}
- curr = curr->Next();
- }
- // Treat resources
- Standard_Integer nb = aproto->NbResources();
- for (Standard_Integer i = 1; i <= nb; i ++) {
- AddProtocol (aproto->Resource(i));
+ // Treat resources
+ Standard_Integer nb = aProtocol->NbResources();
+ for (Standard_Integer i = 1; i <= nb; i++)
+ {
+ AddProtocol (aProtocol->Resource(i));
+ }
+
+ myProtocol.Nullify();
+ myLast.Nullify();
}
- theprotocol.Nullify();
- thelast.Nullify();
-}
-
-//! Clears the list of Modules of a library (can be used to
-//! redefine the order of Modules before action : Clear then
-//! refill the Library by calls to AddProtocol).
-template<class ObjectType,class ModuleType, class ProtocolType>
-void LibCtl_Library<ObjectType, ModuleType, ProtocolType>::Clear ()
-{
- thelist = new LibCtl_Node;
-}
+ Standard_EXPORT void Clear ()
+ {
+ myList = new LibCtl_Node();
+ }
-//! Sets a library to be defined with the complete Global list
-//! (all the couples Protocol/Modules recorded in it).
-template<class ObjectType,class ModuleType, class ProtocolType>
-void LibCtl_Library<ObjectType, ModuleType, ProtocolType>::SetComplete ()
-{
- thelist = new LibCtl_Node;
- // Take each of the Protocols of the Global list and add it
- NCollection_Handle<LibCtl_GlobalNode > curr;
- for (curr = theglobal; !curr.IsNull(); )
+ Standard_EXPORT void SetComplete ()
{
- const ProtocolType& protocol = curr->Protocol();
- // As we take all, it is not preoccupied resources.
- if (!protocol.IsNull()) thelist->AddNode(curr);
- curr = curr->Next();
+ myList = new LibCtl_Node;
+ // Take each of the protocols of the Global list
+ NCollection_Handle< LibCtl_GlobalNode > curr;
+ for (curr = GetGlobal(); !curr.IsNull(); )
+ {
+ const ProtocolType& aProtocol = curr->Protocol();
+ // As we take all , it is not preoccupied resources
+ if (!aProtocol.IsNull()) myList->AddNode(curr);
+ curr = curr->Next();
+ }
}
-}
-//! Selects a Module from the Library, given an Object.
-//! Returns True if Select has succeeded, False else.
-//! Also Returns (as arguments) the selected Module and the Case
-//! Number determined by the associated Protocol.
-//! If Select has failed, <module> is Null Handle and CN is zero.
-//! (Select can work on any criterium, such as Object DynamicType).
-template<class ObjectType,class ModuleType, class ProtocolType>
-Standard_Boolean LibCtl_Library<ObjectType, ModuleType, ProtocolType>::Select
- (const ObjectType& obj,
- ModuleType& module,
- Standard_Integer& CN) const
-{
- module.Nullify(); CN = 0; // Answer "not found"
- if (thelist.IsNull()) return Standard_False;
- NCollection_Handle<LibCtl_Node > curr = thelist;
- for (curr = thelist; !curr.IsNull(); )
+ //! Selection: the corresponding theModule is returned to a Type
+ //! (as well as CaseNumber returns the corresponding protocol)
+ Standard_EXPORT Standard_Boolean Select (const ObjectType& theObj,
+ ModuleType& theModule,
+ Standard_Integer& theCN) const
{
- const ProtocolType& protocol = curr->Protocol();
- if (!protocol.IsNull()) {
- CN = protocol->CaseNumber(obj);
- if (CN > 0) {
- module = curr->Module();
- return Standard_True;
+ // Reponse: "not found"
+ theModule.Nullify(); theCN = 0;
+ if (myList.IsNull())
+ return Standard_False;
+ NCollection_Handle< LibCtl_Node > curr = myList;
+ for (curr = myList; !curr.IsNull(); )
+ {
+ const ProtocolType& aProtocol = curr->Protocol();
+ if (!aProtocol.IsNull())
+ {
+ theCN = aProtocol->CaseNumber(theObj);
+ if (theCN > 0)
+ {
+ theModule = curr->Module();
+ return Standard_True;
+ }
}
+ curr = curr->Next();
}
- curr = curr->Next();
+ return Standard_False;
}
- return Standard_False;
-}
-//! Starts Iteration on the Modules (sets it on the first one).
-template<class ObjectType,class ModuleType, class ProtocolType>
-void LibCtl_Library<ObjectType, ModuleType, ProtocolType>::Start ()
-{
- thecurr = thelist;
-}
+ //! Initialization for iteration through the library
+ Standard_EXPORT void Start ()
+ {
+ myCurr = myList;
+ }
-//! Returns True if there are more Modules to iterate on.
-template<class ObjectType,class ModuleType, class ProtocolType>
-Standard_Boolean LibCtl_Library<ObjectType, ModuleType, ProtocolType>::More () const
-{
- return (!thecurr.IsNull());
-}
+ Standard_EXPORT Standard_Boolean More () const
+ {
+ return (!myCurr.IsNull());
+ }
-//! Iterates by getting the next Module in the list.
-//! If there is none, the exception will be raised by Value.
-template<class ObjectType,class ModuleType, class ProtocolType>
-void LibCtl_Library<ObjectType, ModuleType, ProtocolType>::Next ()
-{
- if (!thecurr.IsNull()) thecurr = thecurr->Next();
-}
+ Standard_EXPORT void LibCtl_Library::Next ()
+ {
+ if (!myCurr.IsNull())
+ myCurr = myCurr->Next();
+ }
-//! Returns the current Module in the Iteration.
-//! Error if there is no current Module to iterate on.
-template<class ObjectType,class ModuleType, class ProtocolType>
-const ModuleType& LibCtl_Library<ObjectType, ModuleType, ProtocolType>::Module () const
-{
- if (thecurr.IsNull()) Standard_NoSuchObject::Raise("Library from LibCtl");
- return thecurr->Module();
-}
+ Standard_EXPORT const ModuleType& Module () const
+ {
+ if (myCurr.IsNull())
+ Standard_NoSuchObject::Raise("Library from LibCtl");
+ return myCurr->Module();
+ }
+
+ Standard_EXPORT const ProtocolType& Protocol () const
+ {
+ if (myCurr.IsNull())
+ Standard_NoSuchObject::Raise("Library from LibCtl");
+ return myCurr->Protocol();
+ }
+};
+
+//! Basic data for optimization (Protocol last request)
+template <class ObjectType, class ModuleType, class ProtocolType>
+ProtocolType LibCtl_Library<ObjectType, ModuleType, ProtocolType>::myProtocol;
+
+template <class ObjectType, class ModuleType, class ProtocolType>
+NCollection_Handle <LibCtl_Node <ModuleType, ProtocolType> >
+LibCtl_Library<ObjectType, ModuleType, ProtocolType>::myLast;
-//! Returns the current Protocol in the Iteration.
-//! Error if there is no current Protocol to iterate on.
-template<class ObjectType,class ModuleType, class ProtocolType>
-const ProtocolType& LibCtl_Library<ObjectType, ModuleType, ProtocolType>::Protocol () const
-{
- if (thecurr.IsNull()) Standard_NoSuchObject::Raise("Library from LibCtl");
- return thecurr->Protocol();
-}
#endif
STEPControl_StepModelType STEPControl_ActorWrite::Mode () const
{
- switch (themodetrans) {
+ switch (myModeTrans) {
case 0 : return STEPControl_AsIs;
case 1 : return STEPControl_FacetedBrep;
case 2 : return STEPControl_ShellBasedSurfaceModel;
// and conditions governing the rights and limitations under the License.
#include <StepData_WriterLib.hxx>
-
-
- static NCollection_Handle < LibCtl_GlobalNode<Handle(StepData_ReadWriteModule),
- Handle(StepData_Protocol)> >
- myGlobal;
-
- static NCollection_Handle < LibCtl_Node<Handle(StepData_ReadWriteModule),
- Handle(StepData_Protocol)> >
- myLast;
-
- static Handle(StepData_Protocol)
- myProtocol;
-
-
- void StepData_WriterLib::SetGlobal (const Handle(StepData_ReadWriteModule)& theModule,
- const Handle(StepData_Protocol)& theProtocol)
- {
- if (myGlobal.IsNull())
- myGlobal = new LibCtl_StepWriterLib::LibCtl_GlobalNode;
- myGlobal->Add(theModule,theProtocol);
- }
-
- StepData_WriterLib::StepData_WriterLib(const Handle(StepData_Protocol)& theProtocol)
- {
- Standard_Boolean last = Standard_False;
- if (theProtocol.IsNull())
- return;
- if (!myProtocol.IsNull())
- last = (myProtocol == theProtocol);
-
- if (last)
- thelist = myLast;
- // If no optimization available: list building
- else
- {
- AddProtocol(theProtocol);
- // This defines the optimization (for the next time)
- myLast = thelist;
- myProtocol = theProtocol;
- }
- }
-
- void StepData_WriterLib::SetComplete ()
- {
- thelist = new LibCtl_StepWriterLib::LibCtl_Node;
- // Take each of the protocols of the Global list
- NCollection_Handle <LibCtl_StepWriterLib::LibCtl_GlobalNode> curr;
- for (curr = myGlobal; !curr.IsNull(); )
- {
- const Handle(StepData_Protocol)& protocol = curr->Protocol();
- // As we take all , it is not preoccupied resources
- if (!protocol.IsNull()) thelist->AddNode(curr);
- curr = curr->Next();
- }
- }
-
- void StepData_WriterLib::AddProtocol (const Handle(Standard_Transient)& theProtocol)
- {
- // Downcast as Protocol-> Resources, and even redefined to use in other
- // Library must always return the type highest
- Handle(StepData_Protocol) aProtocol = Handle(StepData_Protocol)::DownCast(theProtocol);
- if (aProtocol.IsNull()) return;
-
- NCollection_Handle <LibCtl_StepWriterLib::LibCtl_GlobalNode> curr;
- for (curr = myGlobal; !curr.IsNull(); )
- {
- const Handle(StepData_Protocol)& protocol = curr->Protocol();
- if (!protocol.IsNull())
- {
- if (protocol->DynamicType() == theProtocol->DynamicType())
- {
- if (thelist.IsNull())
- thelist = new LibCtl_StepWriterLib::LibCtl_Node;
- thelist->AddNode(curr);
- break;
- }
- }
- curr = curr->Next();
- }
- // Treat resources
- Standard_Integer nb = aProtocol->NbResources();
- for (Standard_Integer i = 1; i <= nb; i++)
- {
- AddProtocol (aProtocol->Resource(i));
- }
-
- myProtocol.Nullify();
- myLast.Nullify();
- }
-
+#include <NCollection_Handle.hxx>
+
+typedef LibCtl_GlobalNode <Handle(StepData_ReadWriteModule),
+ Handle(StepData_Protocol)>
+ StepData_GlobalNode;
+
+template <>
+Standard_EXPORT static NCollection_Handle< StepData_GlobalNode > &
+StepData_WriterLib::GetGlobal()
+{
+ static NCollection_Handle < StepData_GlobalNode > aGlobal;
+ return aGlobal;
+}
typedef LibCtl_Library <Handle(Standard_Transient),
Handle(StepData_ReadWriteModule),
Handle(StepData_Protocol)>
- LibCtl_StepWriterLib;
-
-//template <>
-//NCollection_Handle <LibCtl_GlobalNode<Handle(StepData_ReadWriteModule),
-// Handle(StepData_Protocol)> >
-//LibCtl_StepWriterLib::theglobal;
-//
-//template <>
-//Handle(StepData_Protocol)
-//LibCtl_StepWriterLib::theprotocol;
-//
-//template <>
-//NCollection_Handle <LibCtl_Node<Handle(StepData_ReadWriteModule),
-// Handle(StepData_Protocol)> >
-//LibCtl_StepWriterLib::thelast;
-
-class StepData_WriterLib : public LibCtl_StepWriterLib
-{
-public:
- DEFINE_STANDARD_ALLOC
- Standard_EXPORT StepData_WriterLib()
- : LibCtl_StepWriterLib() { }
-
- Standard_EXPORT StepData_WriterLib(const Handle(StepData_Protocol)& theProtocol);
-
- Standard_EXPORT void SetComplete ();
-
- Standard_EXPORT void AddProtocol (const Handle(Standard_Transient)& theProtocol);
-
- Standard_EXPORT static void SetGlobal (const Handle(StepData_ReadWriteModule)& theModule,
- const Handle(StepData_Protocol)& theProtocol);
-
-};
+ StepData_WriterLib;
#endif
\ No newline at end of file
class Transfer_Actor : public MMgt_TShared
{
private:
- ActorHandle thenext;
- Standard_Boolean thelast;
+ ActorHandle myNext;
+ Standard_Boolean myLast;
public:
Standard_EXPORT Transfer_Actor () { }
//! TransferProcess calls Recognize on each one before
//! calling Transfer. But even if Recognize has returned
//! true, Transfer can reject by returning a Null Binder
- //! (afterwards rejection), the next actor is then invoked.
+ //! (afterwards rejection), the theNext actor is then invoked.
//! The provided default returns True, can be redefined.
Standard_EXPORT Standard_Boolean Recognize (const TheStart& /*start*/)
{
//! information, in addition to those of TransferProcess.
//! In case of Error during a Transfer, any kind of
//! exception can be raised.
- Standard_EXPORT Handle(Transfer_Binder) Transferring
- (const TheStart& /*start*/,
- const TransferProcessHandle& /*TP*/)
+ Standard_EXPORT Handle(Transfer_Binder) Transferring (const TheStart& /*start*/,
+ const TransferProcessHandle& /*TP*/)
{
return NullResult();
}
//! Prepares and returns a binder for a Transient result.
- //! Returns a Null Handle if <res> is itself null.
+ //! Returns a Null Handle if <theRes> is itself null.
Standard_EXPORT Handle(Transfer_SimpleBinderOfTransient) TransientResult
- (const Handle(Standard_Transient)& res) const
+ (const Handle(Standard_Transient)& theRes) const
{
Handle(Transfer_SimpleBinderOfTransient) binder;
- if (res.IsNull())
+ if (theRes.IsNull())
return binder;
binder = new Transfer_SimpleBinderOfTransient;
- binder->SetResult (res);
+ binder->SetResult (theRes);
return binder;
}
//! This allows to define default Actors (which are Last).
Standard_EXPORT void SetLast (const Standard_Boolean theMode)
{
- thelast = theMode;
+ myLast = theMode;
}
//! Defines a Next Actor : it can then be asked to work if
//! If Next is already set and is not "Last", calls
//! SetNext on it. If Next defined and "Last", the new
//! actor is added before it in the list.
- Standard_EXPORT void SetNext (const ActorHandle& next)
+ Standard_EXPORT void SetNext (const ActorHandle& theNext)
{
- if (thenext == next)
+ if (myNext == theNext)
return;
- if (thenext.IsNull())
- thenext = next;
- else if (thenext->IsLast())
+ if (myNext.IsNull())
+ myNext = theNext;
+ else if (myNext->IsLast())
{
- next->SetNext(thenext);
- thenext = next;
+ theNext->SetNext(myNext);
+ myNext = theNext;
}
else
- thenext->SetNext(next);
+ myNext->SetNext(theNext);
}
//! Returns the actor defined as Next, or a null handle.
Standard_EXPORT ActorHandle Next () const
{
- return thenext;
+ return myNext;
}
//! Returns the Last status (see SetLast).
Standard_EXPORT Standard_Boolean IsLast () const
{
- return thelast;
+ return myLast;
}
};
#endif
IMPLEMENT_STANDARD_HANDLE(Transfer_ActorOfFinderProcess, MMgt_TShared)
IMPLEMENT_STANDARD_RTTIEXT(Transfer_ActorOfFinderProcess, MMgt_TShared)
-Transfer_ActorOfFinderProcess::Transfer_ActorOfFinderProcess () { themodetrans = 0; }
+Transfer_ActorOfFinderProcess::Transfer_ActorOfFinderProcess () { myModeTrans = 0; }
Standard_Integer& Transfer_ActorOfFinderProcess::ModeTrans ()
-{ return themodetrans; }
+{ return myModeTrans; }
Handle(Transfer_Binder) Transfer_ActorOfFinderProcess::Transfer
- (const Handle(Transfer_Finder)& fnd,
- const Handle(Transfer_FinderProcess)& FP)
+ (const Handle(Transfer_Finder)& theFinder,
+ const Handle(Transfer_FinderProcess)& theFP)
{
- Handle(Transfer_TransientMapper) tm = Handle(Transfer_TransientMapper)::DownCast (fnd);
+ Handle(Transfer_TransientMapper) tm = Handle(Transfer_TransientMapper)::DownCast (theFinder);
if (tm.IsNull()) return NullResult();
- Handle(Standard_Transient) res = TransferTransient (tm->Value(),FP);
+ Handle(Standard_Transient) res = TransferTransient (tm->Value(),theFP);
if (res.IsNull()) return NullResult();
return TransientResult (res);
}
Handle(Transfer_Binder) Transfer_ActorOfFinderProcess::Transferring
- (const Handle(Transfer_Finder)& ent,
- const Handle(Transfer_FinderProcess)& TP)
+ (const Handle(Transfer_Finder)& theFinder,
+ const Handle(Transfer_FinderProcess)& theTP)
{
- return Transfer(ent,Handle(Transfer_FinderProcess)::DownCast(TP));
+ return Transfer(theFinder,Handle(Transfer_FinderProcess)::DownCast(theTP));
}
Handle(Standard_Transient) Transfer_ActorOfFinderProcess::TransferTransient
- (const Handle(Standard_Transient)& /*ent*/,
+ (const Handle(Standard_Transient)& /*theEnt*/,
const Handle(Transfer_FinderProcess)& )
{
- Handle(Standard_Transient) nulres;
- return nulres;
+ Handle(Standard_Transient) aNullRes;
+ return aNullRes;
}
//! Returns the Transfer Mode, modifiable <br>
Standard_EXPORT Standard_Integer& ModeTrans() ;
- Standard_EXPORT virtual Handle(Transfer_Binder) Transferring(const Handle(Transfer_Finder)& start,
- const Handle(Transfer_FinderProcess)& TP);
+ Standard_EXPORT virtual Handle(Transfer_Binder) Transferring(const Handle(Transfer_Finder)& theFinder,
+ const Handle(Transfer_FinderProcess)& theFP);
- Standard_EXPORT virtual Handle(Transfer_Binder) Transfer(const Handle(Transfer_Finder)& start,
- const Handle(Transfer_FinderProcess)& TP);
+ Standard_EXPORT virtual Handle(Transfer_Binder) Transfer(const Handle(Transfer_Finder)& theFinder,
+ const Handle(Transfer_FinderProcess)& theFP);
- Standard_EXPORT virtual Handle(Standard_Transient) TransferTransient(const Handle(Standard_Transient)& start,
- const Handle(Transfer_FinderProcess)& TP);
+ Standard_EXPORT virtual Handle(Standard_Transient) TransferTransient(const Handle(Standard_Transient)& theEnt,
+ const Handle(Transfer_FinderProcess)& theFP);
DEFINE_STANDARD_RTTI(Transfer_ActorOfFinderProcess)
protected:
- Standard_Integer themodetrans;
+ Standard_Integer myModeTrans;
};
#endif
\ No newline at end of file
Transfer_ActorOfTransientProcess::Transfer_ActorOfTransientProcess () { }
Handle(Transfer_Binder) Transfer_ActorOfTransientProcess::Transfer
- (const Handle(Standard_Transient)& start,
- const Handle(Transfer_TransientProcess)& TP)
+ (const Handle(Standard_Transient)& theEnt,
+ const Handle(Transfer_TransientProcess)& theTP)
{
- Handle(Standard_Transient) res = TransferTransient (start,TP);
+ Handle(Standard_Transient) res = TransferTransient (theEnt,theTP);
if (res.IsNull()) return NullResult();
return TransientResult (res);
}
Handle(Transfer_Binder) Transfer_ActorOfTransientProcess::Transferring
- (const Handle(Standard_Transient)& ent,
- const Handle(Transfer_TransientProcess)& TP)
+ (const Handle(Standard_Transient)& theEnt,
+ const Handle(Transfer_TransientProcess)& theTP)
{
- return Transfer(ent,Handle(Transfer_TransientProcess)::DownCast(TP));
+ return Transfer (theEnt, Handle(Transfer_TransientProcess)::DownCast(theTP));
}
Handle(Standard_Transient) Transfer_ActorOfTransientProcess::TransferTransient
- (const Handle(Standard_Transient)& /*ent*/,
- const Handle(Transfer_TransientProcess)& /*TP*/)
+ (const Handle(Standard_Transient)& /*theEnt*/,
+ const Handle(Transfer_TransientProcess)& /*theTP*/)
{
- Handle(Standard_Transient) nulres;
- return nulres;
+ Handle(Standard_Transient) aNullRes;
+ return aNullRes;
}
Standard_EXPORT Transfer_ActorOfTransientProcess();
- Standard_EXPORT virtual Handle_Transfer_Binder Transferring(const Handle(Standard_Transient)& start,const Handle(Transfer_TransientProcess)& TP) ;
+ Standard_EXPORT virtual Handle_Transfer_Binder Transferring (const Handle(Standard_Transient)& theEnt,
+ const Handle(Transfer_TransientProcess)& theTP) ;
- Standard_EXPORT virtual Handle_Transfer_Binder Transfer(const Handle(Standard_Transient)& start,const Handle(Transfer_TransientProcess)& TP) ;
+ Standard_EXPORT virtual Handle_Transfer_Binder Transfer (const Handle(Standard_Transient)& theEnt,
+ const Handle(Transfer_TransientProcess)& theTP) ;
- Standard_EXPORT virtual Handle_Standard_Transient TransferTransient(const Handle(Standard_Transient)& start,const Handle(Transfer_TransientProcess)& TP) ;
+ Standard_EXPORT virtual Handle_Standard_Transient TransferTransient (const Handle(Standard_Transient)& theStart,
+ const Handle(Transfer_TransientProcess)& theTP) ;
DEFINE_STANDARD_RTTI(Transfer_ActorOfTransientProcess)
IMPLEMENT_DOWNCAST(Transfer_FinderProcess,Standard_Transient)
IMPLEMENT_STANDARD_RTTI(Transfer_FinderProcess)
-Transfer_FinderProcess::Transfer_FinderProcess (const Standard_Integer nb)
- : Transfer_TransferProcess (nb) { }
+ Transfer_FinderProcess::Transfer_FinderProcess (const Standard_Integer theNb)
+ : Transfer_TransferProcess (theNb) { }
- void Transfer_FinderProcess::SetModel
- (const Handle(Interface_InterfaceModel)& model)
- { themodel = model; }
+ void Transfer_FinderProcess::SetModel (const Handle(Interface_InterfaceModel)& theModel)
+ {
+ myModel = theModel;
+ }
- Handle(Interface_InterfaceModel) Transfer_FinderProcess::Model () const
- { return themodel; }
+ Handle(Interface_InterfaceModel) Transfer_FinderProcess::Model () const
+ {
+ return myModel;
+ }
-
- Standard_Integer Transfer_FinderProcess::NextMappedWithAttribute
- (const Standard_CString name, const Standard_Integer num0) const
-{
- Standard_Integer num, nb = NbMapped();
- for (num = num0+1; num <= nb; num ++) {
- Handle(Transfer_Finder) fnd = Mapped (num);
- if (fnd.IsNull()) continue;
- if (!fnd->Attribute(name).IsNull()) return num;
+ Standard_Integer Transfer_FinderProcess::NextMappedWithAttribute
+ (const Standard_CString theName,
+ const Standard_Integer theNum0) const
+ {
+ Standard_Integer aNum, aNb = NbMapped();
+ for (aNum = theNum0 + 1; aNum <= aNb; aNum ++)
+ {
+ Handle(Transfer_Finder) aFnd = Mapped (aNum);
+ if (aFnd.IsNull()) continue;
+ if (!aFnd->Attribute(theName).IsNull())
+ return aNum;
+ }
+ return 0;
}
- return 0;
-}
- Handle(Transfer_TransientMapper) Transfer_FinderProcess::TransientMapper
- (const Handle(Standard_Transient)& obj) const
-{
- Handle(Transfer_TransientMapper) mapper = new Transfer_TransientMapper(obj);
- Standard_Integer index = MapIndex (mapper);
- if (index == 0) return mapper;
- return Handle(Transfer_TransientMapper)::DownCast(Mapped(index));
-}
+ Handle(Transfer_TransientMapper) Transfer_FinderProcess::TransientMapper
+ (const Handle(Standard_Transient)& theObj) const
+ {
+ Handle(Transfer_TransientMapper) aMapper = new Transfer_TransientMapper(theObj);
+ Standard_Integer anIndex = MapIndex (aMapper);
+ if (anIndex == 0)
+ return aMapper;
+ return Handle(Transfer_TransientMapper)::DownCast(Mapped(anIndex));
+ }
- void Transfer_FinderProcess::PrintTrace (const Handle(Transfer_Finder)& start,
- const Handle(Message_Messenger)& S) const
+ void Transfer_FinderProcess::PrintTrace (const Handle(Transfer_Finder)& theStart,
+ const Handle(Message_Messenger)& theMessenger) const
{
- if (!start.IsNull()) S<<" Type:"<<start->ValueTypeName();
+ if (!theStart.IsNull())
+ theMessenger<<" Type:"<<theStart->ValueTypeName();
}
- void Transfer_FinderProcess::PrintStats (const Standard_Integer mode,
- const Handle(Message_Messenger)& S) const
+ void Transfer_FinderProcess::PrintStats (const Standard_Integer theMode,
+ const Handle(Message_Messenger)& theMessenger) const
{
- S<<"\n*******************************************************************\n";
- if (mode == 1) { // Statistiques de base
- S << "******** Basic Statistics ********"<<endl;
+ theMessenger<<"\n*******************************************************************\n";
+ if (theMode == 1) { // Statistiques de base
+ theMessenger << "******** Basic Statistics ********"<<endl;
- Standard_Integer nbr = 0, nbe = 0, nbw = 0;
- Standard_Integer i, max = NbMapped(), nbroots = NbRoots();
- S << "**** Nb Final Results : "<<nbroots<<endl;
+ Standard_Integer aNbr = 0, aNbe = 0, aNbw = 0;
+ Standard_Integer anI, aMax = NbMapped(), aNbRoots = NbRoots();
+ theMessenger << "**** Nb Final Results : "<<aNbRoots<<endl;
- for (i = 1; i <= max; i ++) {
- const Handle(Transfer_Binder)& binder = MapItem(i);
- if (binder.IsNull()) continue;
- const Handle(Interface_Check) ach = binder->Check();
- Transfer_StatusExec stat = binder->StatusExec();
- if (stat != Transfer_StatusInitial && stat != Transfer_StatusDone)
- nbe ++;
+ for (anI = 1; anI <= aMax; anI ++) {
+ const Handle(Transfer_Binder)& aBinder = MapItem(anI);
+ if (aBinder.IsNull()) continue;
+ const Handle(Interface_Check) aCheck = aBinder->Check();
+ Transfer_StatusExec aStatus = aBinder->StatusExec();
+ if (aStatus != Transfer_StatusInitial && aStatus != Transfer_StatusDone)
+ aNbe ++;
else {
- if (ach->NbWarnings() > 0) nbw ++;
- if (binder->HasResult()) nbr ++;
+ if (aCheck->NbWarnings() > 0) aNbw ++;
+ if (aBinder->HasResult()) aNbr ++;
}
}
- if (nbr > nbroots)
- S<<"**** ( Itermediate Results : "<<nbr-nbroots<<" )\n";
- if (nbe > 0)
- S<<"**** Errors on :"<<Interface_MSG::Blanks(nbe,4)<<nbe<<" Entities\n";
- if (nbw > 0)
- S<<"**** Warnings on : "<<Interface_MSG::Blanks(nbw,4)<<nbw<<" Entities\n";
- S<<"*******************************************************************";
+ if (aNbr > aNbRoots)
+ theMessenger<<"**** ( Itermediate Results : "<<aNbr-aNbRoots<<" )\n";
+ if (aNbe > 0)
+ theMessenger<<"**** Errors on :"<<Interface_MSG::Blanks(aNbe,4)<<aNbe<<" Entities\n";
+ if (aNbw > 0)
+ theMessenger<<"**** Warnings on : "<<Interface_MSG::Blanks(aNbw,4)<<aNbw<<" Entities\n";
+ theMessenger<<"*******************************************************************";
}
- S<<endl;
+ theMessenger<<endl;
}
//=======================================================================
//purpose :
//=======================================================================
- Handle(Transfer_Binder) Transfer_FinderProcess::TransferProduct (const Handle(Transfer_Finder)& start)
+ Handle(Transfer_Binder) Transfer_FinderProcess::TransferProduct (const Handle(Transfer_Finder)& theStart)
{
- thelevel ++; // decrement and if == 0, root transfer
- Handle(Transfer_Binder) binder;
- Handle(Transfer_ActorOfFinderProcess) actor = theactor;
- while (!actor.IsNull())
+ myLevel ++; // decrement and if == 0, root transfer
+ Handle(Transfer_Binder) aBinder;
+ Handle(Transfer_ActorOfFinderProcess) anActor = myActor;
+ while (!anActor.IsNull())
{
- if (actor->Recognize (start)) binder = actor->Transferring(start,this);
- else binder.Nullify();
- if (!binder.IsNull()) break;
- actor = actor->Next();
+ if (anActor->Recognize (theStart)) aBinder = anActor->Transferring(theStart,this);
+ else aBinder.Nullify();
+ if (!aBinder.IsNull()) break;
+ anActor = anActor->Next();
}
- if (binder.IsNull()) {
- if (thelevel > 0) thelevel --;
- return binder;
+ if (aBinder.IsNull()) {
+ if (myLevel > 0) myLevel --;
+ return aBinder;
}
// Managing the root level (.. a close look ..)
- if (therootl == 0 && binder->StatusExec() == Transfer_StatusDone)
- therootl = thelevel - 1;
+ if (myRootLevel == 0 && aBinder->StatusExec() == Transfer_StatusDone)
+ myRootLevel = myLevel - 1;
- if (thelevel > 0) thelevel --;
- return binder;
+ if (myLevel > 0) myLevel --;
+ return aBinder;
}
//=======================================================================
//purpose :
//=======================================================================
- Handle(Transfer_Binder) Transfer_FinderProcess::Transferring (const Handle(Transfer_Finder)& start)
+ Handle(Transfer_Binder) Transfer_FinderProcess::Transferring (const Handle(Transfer_Finder)& theStart)
{
- Handle(Transfer_Binder) former = FindAndMask(start);
+ Handle(Transfer_Binder) aFormer = FindAndMask(theStart);
// Use more: note "AlreadyUsed" so result can not be changed
- if (!former.IsNull()) {
- if (former->HasResult()) {
- former->SetAlreadyUsed();
- return former;
+ if (!aFormer.IsNull()) {
+ if (aFormer->HasResult()) {
+ aFormer->SetAlreadyUsed();
+ return aFormer;
}
// Initial state: perhaps already done ... or infeasible
- Transfer_StatusExec statex = former->StatusExec();
+ Transfer_StatusExec statex = aFormer->StatusExec();
switch (statex) {
case Transfer_StatusInitial : // Transfer is prepared to do
break;
case Transfer_StatusDone : // Transfer was already done
- themessenger << " .. and Transfer done" << endl;
- return former;
+ myMessenger << " .. and Transfer done" << endl;
+ return aFormer;
case Transfer_StatusRun :
- former->SetStatusExec(Transfer_StatusLoop);
- return former;
+ aFormer->SetStatusExec(Transfer_StatusLoop);
+ return aFormer;
case Transfer_StatusError :
- if (thetrace) {
- themessenger << " *** Transfer in Error Status :" << endl;
- StartTrace (former, start, thelevel,0);
+ if (myTrace) {
+ myMessenger << " *** Transfer in Error Status :" << endl;
+ StartTrace (aFormer, theStart, myLevel,0);
}
- else StartTrace (former, start,thelevel,4);
+ else StartTrace (aFormer, theStart,myLevel,4);
Transfer_TransferFailure::Raise
("TransferProcess : Transfer in Error Status");
case Transfer_StatusLoop : // The loop is closed ...
- if (thetrace) {
- themessenger << " *** Transfer Head of Dead Loop :" << endl;
- StartTrace (former, start, thelevel,0);
+ if (myTrace) {
+ myMessenger << " *** Transfer Head of Dead Loop :" << endl;
+ StartTrace (aFormer, theStart, myLevel,0);
}
- else StartTrace (former, start,thelevel,4);
+ else StartTrace (aFormer, theStart,myLevel,4);
Transfer_TransferDeadLoop::Raise
("TransferProcess : Transfer at Head of a Dead Loop");
}
#ifdef TRANSLOG
- cout << "Transfer,level "<<thelevel<<Message_Flush;
+ cout << "Transfer,level "<<myLevel<<Message_Flush;
#endif
- former->SetStatusExec(Transfer_StatusRun);
+ aFormer->SetStatusExec(Transfer_StatusRun);
}
#ifdef TRANSLOG
cout << " GO .." << endl;
#endif
- Handle(Transfer_Binder) binder;
+ Handle(Transfer_Binder) aBinder;
Standard_Boolean newbind = Standard_False;
- if (theerrh) {
+ if (myToHandleErr) {
// Transfer under protection exceptions (for notification actually)
- Standard_Integer oldlev = thelevel;
+ Standard_Integer anOldLevel = myLevel;
try {
OCC_CATCH_SIGNALS
- binder = TransferProduct(start);
+ aBinder = TransferProduct(theStart);
}
catch (Transfer_TransferDeadLoop) {
- if (binder.IsNull()) {
- themessenger << " *** Dead Loop with no Result" << endl;
- if (thetrace) StartTrace (binder, start, thelevel-1,0);
- binder = new Transfer_VoidBinder;
- Bind (start,binder); newbind = Standard_True;
- } else if (binder->StatusExec() == Transfer_StatusLoop) {
- if (thetrace) {
- themessenger << " *** Dead Loop : Finding head of Loop :" << endl;
- StartTrace (binder, start, thelevel-1,0);
+ if (aBinder.IsNull()) {
+ myMessenger << " *** Dead Loop with no Result" << endl;
+ if (myTrace) StartTrace (aBinder, theStart, myLevel-1,0);
+ aBinder = new Transfer_VoidBinder;
+ Bind (theStart,aBinder); newbind = Standard_True;
+ } else if (aBinder->StatusExec() == Transfer_StatusLoop) {
+ if (myTrace) {
+ myMessenger << " *** Dead Loop : Finding head of Loop :" << endl;
+ StartTrace (aBinder, theStart, myLevel-1,0);
}
- else StartTrace (binder, start,thelevel-1,4);
+ else StartTrace (aBinder, theStart,myLevel-1,4);
Transfer_TransferFailure::Raise("TransferProcess : Head of Dead Loop");
} else {
- if (thetrace) {
- themessenger << " *** Dead Loop : Actor in Loop :" << endl;
- StartTrace (binder, start, thelevel-1,0);
+ if (myTrace) {
+ myMessenger << " *** Dead Loop : Actor in Loop :" << endl;
+ StartTrace (aBinder, theStart, myLevel-1,0);
}
}
- binder->AddFail("Transfer in dead Loop");
- thelevel = oldlev;
+ aBinder->AddFail("Transfer in dead Loop");
+ myLevel = anOldLevel;
}
catch (Standard_Failure) {
- if (binder.IsNull()) {
- themessenger << " *** Exception Raised with no Result" << endl;
- binder = new Transfer_VoidBinder;
- Bind (start,binder); newbind = Standard_True;
+ if (aBinder.IsNull()) {
+ myMessenger << " *** Exception Raised with no Result" << endl;
+ aBinder = new Transfer_VoidBinder;
+ Bind (theStart,aBinder); newbind = Standard_True;
}
- binder->AddFail("Transfer stopped by exception raising");
- if (thetrace) {
- themessenger << " *** Raised : " << Standard_Failure::Caught()->GetMessageString() << endl;
- StartTrace (binder, start, thelevel-1,4);
+ aBinder->AddFail("Transfer stopped by exception raising");
+ if (myTrace) {
+ myMessenger << " *** Raised : " << Standard_Failure::Caught()->GetMessageString() << endl;
+ StartTrace (aBinder, theStart, myLevel-1,4);
}
- thelevel = oldlev;
+ myLevel = anOldLevel;
}
}
- else binder = TransferProduct(start);
+ else aBinder = TransferProduct(theStart);
// Conclusion : Noter dans la Map
- if (!newbind && !binder.IsNull()) {
- if (former.IsNull()) {
- if (!IsBound(start)) Bind(start,binder); // result = 0 category
+ if (!newbind && !aBinder.IsNull()) {
+ if (aFormer.IsNull()) {
+ if (!IsBound(theStart)) Bind(theStart,aBinder); // result = 0 category
else { // gka TRJ9 for writing SDR for solid
- Rebind(start,binder); // test_pattern.sat
+ Rebind(theStart,aBinder); // test_pattern.sat
}
}
- else Rebind(start,binder);
+ else Rebind(theStart,aBinder);
#ifdef TRANSLOG
cout << " ... OK" << endl;
#endif
}
else
{
- //= by ABV: 5 Oct 97: nothing generated, but former can be in run state - drop it
+ //= by ABV: 5 Oct 97: nothing generated, but aFormer can be in run state - drop it
//= ASK: may be set it to StatusInitial ?
- if ( ! former.IsNull() ) former->SetStatusExec ( Transfer_StatusDone );
+ if ( ! aFormer.IsNull() ) aFormer->SetStatusExec ( Transfer_StatusDone );
Handle(Transfer_Binder) nulbinder;
return nulbinder;
}
// Manage Roots (if planned)
- if (therootl >= thelevel) {
- therootl = 0;
- if (therootm && binder->Status() != Transfer_StatusVoid) {
- SetRoot (start);
+ if (myRootLevel >= myLevel) {
+ myRootLevel = 0;
+ if (myToManageRoot && aBinder->Status() != Transfer_StatusVoid) {
+ SetRoot (theStart);
}
}
- return thelastbnd;
+ return myLastBinder;
}
- Standard_Boolean Transfer_FinderProcess::Transfer(const Handle(Transfer_Finder)& start)
+ Standard_Boolean Transfer_FinderProcess::Transfer(const Handle(Transfer_Finder)& theStart)
{
- Handle(Transfer_Binder) binder = Transferring(start);
- return (!binder.IsNull());
+ Handle(Transfer_Binder) aBinder = Transferring(theStart);
+ return (!aBinder.IsNull());
}
public:
//! Sets FinderProcess at initial state, with an initial size <br>
- Standard_EXPORT Transfer_FinderProcess(const Standard_Integer nb = 10000);
+ Standard_EXPORT Transfer_FinderProcess(const Standard_Integer theNb = 10000);
//! Sets an InterfaceModel, which can be used during transfer <br>
//! for instance if a context must be managed, it is in the Model <br>
- Standard_EXPORT void SetModel(const Handle(Interface_InterfaceModel)& model) ;
+ Standard_EXPORT void SetModel(const Handle(Interface_InterfaceModel)& theModel) ;
//! Returns the Model which can be used for context <br>
Standard_EXPORT Handle_Interface_InterfaceModel Model() const;
//! In the list of mapped items (between 1 and NbMapped), <br>
//! num = FP->NextMappedWithAttribute(name,num) { <br>
//! .. process mapped item <num> <br>
//! } <br>
- Standard_EXPORT Standard_Integer NextMappedWithAttribute(const Standard_CString name,const Standard_Integer num0) const;
+ Standard_EXPORT Standard_Integer NextMappedWithAttribute (const Standard_CString theName,
+ const Standard_Integer theNum0) const;
//! Returns a TransientMapper for a given Transient Object <br>
//! Either <obj> is already mapped, then its Mapper is returned <br>
//! Or it is not, then a new one is created then returned, BUT <br>
//! it is not mapped here (use Bind or FindElseBind to do this) <br>
- Standard_EXPORT Handle_Transfer_TransientMapper TransientMapper(const Handle(Standard_Transient)& obj) const;
+ Standard_EXPORT Handle_Transfer_TransientMapper TransientMapper (const Handle(Standard_Transient)& theObj) const;
//! Specific printing to trace a Finder (by its method ValueType) <br>
- Standard_EXPORT virtual void PrintTrace(const Handle(Transfer_Finder)& start,const Handle(Message_Messenger)& S) const;
+ Standard_EXPORT virtual void PrintTrace (const Handle(Transfer_Finder)& theStart,
+ const Handle(Message_Messenger)& theMessenger) const;
//! Prints statistics on a given output, according mode <br>
- Standard_EXPORT void PrintStats(const Standard_Integer mode,const Handle(Message_Messenger)& S) const;
+ Standard_EXPORT void PrintStats(const Standard_Integer mode,const Handle(Message_Messenger)& theMessenger) const;
- Standard_EXPORT Handle(Transfer_Binder) TransferProduct (const Handle(Transfer_Finder)& start);
+ Standard_EXPORT Handle(Transfer_Binder) TransferProduct (const Handle(Transfer_Finder)& theStart);
- Standard_EXPORT Handle(Transfer_Binder) Transferring (const Handle(Transfer_Finder)& start);
+ Standard_EXPORT Handle(Transfer_Binder) Transferring (const Handle(Transfer_Finder)& theStart);
- Standard_EXPORT Standard_Boolean Transfer(const Handle(Transfer_Finder)& start);
+ Standard_EXPORT Standard_Boolean Transfer(const Handle(Transfer_Finder)& theStart);
DEFINE_STANDARD_RTTI(Transfer_FinderProcess)
private:
- Handle_Interface_InterfaceModel themodel;
+ Handle_Interface_InterfaceModel myModel;
};
#endif
class Transfer_Iterator : public Transfer_TransferIterator
{
private:
- ListHandle thestarts;
+ ListHandle myStarts;
public:
DEFINE_STANDARD_ALLOC
- Standard_EXPORT Transfer_Iterator (const Standard_Boolean withstarts)
+ Standard_EXPORT Transfer_Iterator (const Standard_Boolean theWithStarts)
: Transfer_TransferIterator ()
- { if (withstarts) thestarts = new List(); }
+ { if (theWithStarts)
+ myStarts = new List(); }
- Standard_EXPORT void Add (const Handle(Transfer_Binder)& binder)
+ Standard_EXPORT void Add (const Handle(Transfer_Binder)& theBinder)
{
- if (!thestarts.IsNull()) Standard_NoSuchObject::Raise
+ if (!myStarts.IsNull()) Standard_NoSuchObject::Raise
("Transfer_Iterator : Add, Starting Object required not provided");
- AddItem(binder);
+ AddItem(theBinder);
}
- Standard_EXPORT void Add (const Handle(Transfer_Binder)& binder,
- const TheStart& start)
+ Standard_EXPORT void Add (const Handle(Transfer_Binder)& theBinder,
+ const TheStart& theStart)
{
- AddItem(binder);
- if (!thestarts.IsNull()) thestarts->Append(start);
+ AddItem (theBinder);
+ if (!myStarts.IsNull())
+ myStarts->Append(theStart);
}
- Standard_EXPORT void Filter (const ListHandle& list,
- const Standard_Boolean keep = Standard_True)
+ Standard_EXPORT void Filter (const ListHandle& theList,
+ const Standard_Boolean toKeep = Standard_True)
{
- if (list.IsNull() || thestarts.IsNull()) return;
- Standard_Integer i, j, nb = thestarts->Length();
- if (nb == 0) return;
+ if (theList.IsNull() || myStarts.IsNull())
+ return;
+ Standard_Integer anI, aJ, aNb = myStarts->Length();
+ if (aNb == 0) return;
Handle(Transfer_Binder) factice;
- TransferMap amap (nb);
- for (i = 1; i <= nb; i ++) {
- j = amap.Add (thestarts->Value(i),factice);
- SelectItem (j,!keep);
+ TransferMap amap (aNb);
+ for (anI = 1; anI <= aNb; anI ++) {
+ aJ = amap.Add (myStarts->Value(anI),factice);
+ SelectItem (aJ,!toKeep);
}
// Comparaison
- nb = list->Length();
- for (i = 1; i <= nb; i ++) {
- j = amap.FindIndex (list->Value(i));
- if (j > 0) SelectItem (j,keep);
+ aNb = theList->Length();
+ for (anI = 1; anI <= aNb; anI ++) {
+ aJ = amap.FindIndex (theList->Value(anI));
+ if (aJ > 0) SelectItem (aJ,toKeep);
}
}
Standard_EXPORT Standard_Boolean HasStarting () const
- { return (!thestarts.IsNull()); }
+ {
+ return (!myStarts.IsNull());
+ }
Standard_EXPORT const TheStart& Starting () const
{
-
- if (thestarts.IsNull()) Standard_NoSuchObject::Raise
+ if (myStarts.IsNull()) Standard_NoSuchObject::Raise
("TransferIterator : No Starting defined at all");
- return thestarts->Value(thecurr);
+ return myStarts->Value(thecurr);
}
};
#endif
\ No newline at end of file
Transfer_TransferMapOfProcessForFinder>
{
public:
- Standard_EXPORT Transfer_IteratorOfProcessForFinder(const Standard_Boolean withstarts)
+ Standard_EXPORT Transfer_IteratorOfProcessForFinder(const Standard_Boolean theWithStarts)
: Transfer_Iterator <Handle(Transfer_Finder),
Transfer_HSequenceOfFinder,
Handle(Transfer_HSequenceOfFinder),
- Transfer_TransferMapOfProcessForFinder>(withstarts)
+ Transfer_TransferMapOfProcessForFinder> (theWithStarts)
{ }
};
Transfer_TransferMapOfProcessForTransient>
{
public:
- Standard_EXPORT Transfer_IteratorOfProcessForTransient(const Standard_Boolean withstarts)
+ Standard_EXPORT Transfer_IteratorOfProcessForTransient(const Standard_Boolean theWithStarts)
: Transfer_Iterator <Handle(Standard_Transient),
TColStd_HSequenceOfTransient,
Handle(TColStd_HSequenceOfTransient),
- Transfer_TransferMapOfProcessForTransient> (withstarts)
+ Transfer_TransferMapOfProcessForTransient> (theWithStarts)
{ }
};
class Transfer_Mapper : public Transfer_Finder
{
private:
- TheKey theval;
+ TheKey myVal;
public:
- Standard_EXPORT Transfer_Mapper (const TheKey& akey)
- : theval (akey)
+ Standard_EXPORT Transfer_Mapper (const TheKey& theKey)
+ : myVal (theKey)
{
- SetHashCode ( TheHasher::HashCode (akey, IntegerLast() ) );
+ SetHashCode (TheHasher::HashCode (theKey, IntegerLast()));
}
Standard_EXPORT const TheKey& Value () const
- { return theval; }
+ {
+ return myVal;
+ }
- Standard_EXPORT Standard_Boolean Equates (const Handle(Transfer_Finder)& other) const
+ Standard_EXPORT Standard_Boolean Equates (const Handle(Transfer_Finder)& theOther) const
{
- if (other.IsNull()) return Standard_False;
- if (GetHashCode() != other->GetHashCode()) return Standard_False;
- if (other->DynamicType() != DynamicType()) return Standard_False;
- MapperHandle another = MapperHandle::DownCast(other);
- return TheHasher::IsEqual (theval,another->Value());
+ if (theOther.IsNull()) return Standard_False;
+ if (GetHashCode() != theOther->GetHashCode()) return Standard_False;
+ if (theOther->DynamicType() != DynamicType()) return Standard_False;
+ MapperHandle another = MapperHandle::DownCast(theOther);
+ return TheHasher::IsEqual (myVal,another->Value());
}
Standard_EXPORT Handle(Standard_Type) ValueType () const
- { return TheInfo::Type(theval); }
+ {
+ return TheInfo::Type(myVal);
+ }
Standard_EXPORT Standard_CString ValueTypeName () const
- { return TheInfo::TypeName(theval); }
+ {
+ return TheInfo::TypeName(myVal);
+ }
};
#endif
\ No newline at end of file
//! - it produces a Binder, which is then recorded in the Map
//! - of course, if the Transfer has been already done, it is not
//! run once more : the first Result is available
- //! - it is possible to re-evaluate the Result if required (i.e.
+ //! - it is possible to re-evaluate the Result if required (anI.e.
//! if the definitive Result is known only once other Transfers
//! have been engaged)
//! - in the case of a second (or more) ask for Transfer, the
class Transfer_TransferProcess : public MMgt_TShared
{
private:
- Handle(Standard_Transient) nultrans;
+ Handle(Standard_Transient) myNullTrans;
protected:
//! to handle or not exception raisings
- Standard_Boolean theerrh;
- //! trace level (exceptions,errors, etc...)
- Standard_Integer thetrace;
- //! messenger for sending messages
- Handle(Message_Messenger) themessenger;
-
- Standard_Integer thelevel;
- //! level of root at each time (not allways 1)
- Standard_Integer therootl;
+ Standard_Boolean myToHandleErr;
+ //! trace theLevel (exceptions,errors, etc...)
+ Standard_Integer myTrace;
+ //! theMessenger for sending messages
+ Handle(Message_Messenger) myMessenger;
+
+ Standard_Integer myLevel;
+ //! theLevel of root at each time (not allways 1)
+ Standard_Integer myRootLevel;
//! Flag for Root Management set or not
- Standard_Boolean therootm;
+ Standard_Boolean myToManageRoot;
//! indices of roots in the map
- TColStd_IndexedMapOfInteger theroots;
+ TColStd_IndexedMapOfInteger myRoots;
//! Last Starting Object Bound
- TheStart thelastobj;
+ TheStart myLastObj;
//! Its attached Binder (noted to optimize)
- Handle(Transfer_Binder) thelastbnd;
+ Handle(Transfer_Binder) myLastBinder;
//! And Index
- Standard_Integer theindex;
- ActorHandle theactor;
- TransferMap themap;
+ Standard_Integer myIndex;
+ ActorHandle myActor;
+ TransferMap myMap;
//! Progress indicator
Handle(Message_ProgressIndicator) myProgress;
//purpose :
//=======================================================================
- Standard_EXPORT Transfer_TransferProcess (const Standard_Integer nb)
- : themap (nb)
+ Standard_EXPORT Transfer_TransferProcess (const Standard_Integer theNb)
+ : myMap (theNb)
{
- theerrh = Standard_True;
- therootm = Standard_False;
- thelevel = 0; therootl = 0;
- themessenger = Message::DefaultMessenger();
- thetrace = 0;
- // theroots = new TColStd_HSequenceOfInteger ();
- theindex = 0;
+ myToHandleErr = Standard_True;
+ myToManageRoot = Standard_False;
+ myLevel = 0; myRootLevel = 0;
+ myMessenger = Message::DefaultMessenger();
+ myTrace = 0;
+ // myRoots = new TColStd_HSequenceOfInteger ();
+ myIndex = 0;
}
//purpose :
//=======================================================================
- Standard_EXPORT Transfer_TransferProcess (const Handle(Message_Messenger)& messenger,
- const Standard_Integer nb)
- : themap (nb)
+ Standard_EXPORT Transfer_TransferProcess (const Handle(Message_Messenger)& theMessenger,
+ const Standard_Integer theNb)
+ : myMap (theNb)
{
- theerrh = Standard_True;
- therootm = Standard_False;
- thelevel = 0; therootl = 0;
- SetMessenger (messenger);
- thetrace = 1;
- theindex = 0;
+ myToHandleErr = Standard_True;
+ myToManageRoot = Standard_False;
+ myLevel = 0; myRootLevel = 0;
+ SetMessenger (theMessenger);
+ myTrace = 1;
+ myIndex = 0;
}
Standard_EXPORT void Clear ()
{
- thelevel = 0; therootl = 0;
- theroots.Clear();
- themap.Clear();
- theindex = 0; thelastobj.Nullify(); thelastbnd.Nullify();
+ myLevel = 0; myRootLevel = 0;
+ myRoots.Clear();
+ myMap.Clear();
+ myIndex = 0; myLastObj.Nullify(); myLastBinder.Nullify();
}
Standard_EXPORT void Clean ()
{
- Standard_Integer i, nb = NbMapped();
- Standard_Integer j,unb = 0;
- for (i = 1; i <= nb; i ++)
+ Standard_Integer anI, aNb = NbMapped();
+ Standard_Integer aJ,unb = 0;
+ for (anI = 1; anI <= aNb; anI ++)
{
- if (themap(i).IsNull()) unb ++;
+ if (myMap(anI).IsNull()) unb ++;
}
if (unb == 0) return;
- TColStd_Array1OfInteger unbs (1,nb); unbs.Init(0);
- Transfer_TransferMap newmap (nb*2);
- for (i = 1; i <= nb; i ++)
+ TColStd_Array1OfInteger unbs (1,aNb); unbs.Init(0);
+ Transfer_TransferMap newmap (aNb*2);
+ for (anI = 1; anI <= aNb; anI ++)
{
- TheStart ent = Mapped(i);
- Handle(Transfer_Binder) bnd = MapItem(i);
+ TheStart ent = Mapped(anI);
+ Handle(Transfer_Binder) bnd = MapItem(anI);
if (bnd.IsNull()) continue;
- j = newmap.Add (ent,bnd);
- unbs.SetValue (i,j);
+ aJ = newmap.Add (ent,bnd);
+ unbs.SetValue (anI,aJ);
}
- themap.Assign (newmap);
+ myMap.Assign (newmap);
// Update the list of root
TColStd_IndexedMapOfInteger aNewRoots;
- for (i=1; i<= theroots.Extent(); i++)
+ for (anI=1; anI<= myRoots.Extent(); anI++)
{
- j = theroots.FindKey(i);
- Standard_Integer k = unbs.Value(j);
+ aJ = myRoots.FindKey(anI);
+ Standard_Integer k = unbs.Value(aJ);
if (k) aNewRoots.Add (k);
}
- theroots.Clear();
- theroots = aNewRoots;
+ myRoots.Clear();
+ myRoots = aNewRoots;
- thelastobj.Nullify();
- thelastbnd.Nullify();
- theindex = 0;
+ myLastObj.Nullify();
+ myLastBinder.Nullify();
+ myIndex = 0;
}
//=======================================================================
//purpose :
//=======================================================================
- Standard_EXPORT void Resize (const Standard_Integer nb)
+ Standard_EXPORT void Resize (const Standard_Integer theNb)
{
- if (nb > themap.NbBuckets()) themap.ReSize(nb);
+ if (theNb > myMap.NbBuckets())
+ myMap.ReSize(theNb);
}
//=======================================================================
//purpose :
//=======================================================================
- Standard_EXPORT void SetActor(const ActorHandle& actor)
+ Standard_EXPORT void SetActor(const ActorHandle& theActor)
{
- if (theactor == actor) return;
- if (theactor.IsNull()) theactor = actor;
- else if (actor.IsNull()) theactor = actor; // declenche RAZ
- else if (theactor->IsLast()) { actor->SetNext(theactor); theactor = actor; }
- else theactor->SetNext(actor);
+ if (myActor == theActor) return;
+ if (myActor.IsNull()) myActor = theActor;
+ else if (theActor.IsNull()) myActor = theActor; // declenche RAZ
+ else if (myActor->IsLast()) { theActor->SetNext(myActor); myActor = theActor; }
+ else myActor->SetNext(theActor);
}
Standard_EXPORT ActorHandle Actor () const
{
- return theactor;
+ return myActor;
}
//purpose :
//=======================================================================
- Standard_EXPORT Handle(Transfer_Binder) Find (const TheStart& start) const
+ Standard_EXPORT Handle(Transfer_Binder) Find (const TheStart& theStart) const
{
- if (thelastobj == start) {
- //if (theindex > 0) return thelastbnd->Search(categ); //skl
- if (theindex > 0) return thelastbnd; //skl
+ if (myLastObj == theStart) {
+ //if (myIndex > 0) return myLastBinder->Search(categ); //skl
+ if (myIndex > 0) return myLastBinder; //skl
}
- Standard_Integer index = themap.FindIndex (start);
+ Standard_Integer index = myMap.FindIndex (theStart);
if (index > 0)
{
- const Handle(Transfer_Binder)& binder = themap.FindFromIndex(index);
- //if (binder.IsNull()) //skl
- return binder;
- //return binder->Search(categ); //skl
+ const Handle(Transfer_Binder)& theBinder = myMap.FindFromIndex(index);
+ //if (theBinder.IsNull()) //skl
+ return theBinder;
+ //return theBinder->Search(categ); //skl
}
Handle(Transfer_Binder) nulbinder;
return nulbinder;
//purpose :
//=======================================================================
- Standard_EXPORT Standard_Boolean IsBound(const TheStart& start) const
+ Standard_EXPORT Standard_Boolean IsBound(const TheStart& theStart) const
{
- Handle(Transfer_Binder) binder = Find(start); //,categ); skl
- if (binder.IsNull()) return Standard_False;
- return binder->HasResult();
+ Handle(Transfer_Binder) theBinder = Find(theStart); //,categ); skl
+ if (theBinder.IsNull()) return Standard_False;
+ return theBinder->HasResult();
}
//=======================================================================
//purpose :
//=======================================================================
- Standard_EXPORT Standard_Boolean IsAlreadyUsed(const TheStart& start) const
+ Standard_EXPORT Standard_Boolean IsAlreadyUsed(const TheStart& theStart) const
// const Standard_Integer categ) const
{
- Handle(Transfer_Binder) binder = Find(start);
- if (binder.IsNull()) {
- StartTrace (binder,start,thelevel,4);
+ Handle(Transfer_Binder) theBinder = Find(theStart);
+ if (theBinder.IsNull()) {
+ StartTrace (theBinder,theStart,myLevel,4);
Transfer_TransferFailure::Raise
("TransferProcess : IsAlreadyUsed, transfer not done cannot be used...");
}
- return (binder->Status() == Transfer_StatusUsed);
+ return (theBinder->Status() == Transfer_StatusUsed);
}
//=======================================================================
//purpose :
//=======================================================================
- Standard_EXPORT Handle(Transfer_Binder) FindAndMask(const TheStart& start)
+ Standard_EXPORT Handle(Transfer_Binder) FindAndMask(const TheStart& theStart)
{
- if (thelastobj == start)
+ if (myLastObj == theStart)
{
- if (theindex > 0) return thelastbnd;
+ if (myIndex > 0) return myLastBinder;
}
- thelastobj = start;
- theindex = themap.FindIndex (start);
- if (theindex > 0) thelastbnd = themap.FindFromIndex(theindex);
- else thelastbnd.Nullify();
- return thelastbnd;
+ myLastObj = theStart;
+ myIndex = myMap.FindIndex (theStart);
+ if (myIndex > 0) myLastBinder = myMap.FindFromIndex(myIndex);
+ else myLastBinder.Nullify();
+ return myLastBinder;
}
//=======================================================================
//purpose :
//=======================================================================
- Standard_EXPORT void Bind (const TheStart& start,
- const Handle(Transfer_Binder)& binder)
+ Standard_EXPORT void Bind (const TheStart& theStart,
+ const Handle(Transfer_Binder)& theBinder)
{
- if (binder.IsNull()) return;
- Handle(Transfer_Binder) former = FindAndMask(start);
- if (!former.IsNull())
+ if (theBinder.IsNull()) return;
+ Handle(Transfer_Binder) aFormer = FindAndMask(theStart);
+ if (!aFormer.IsNull())
{
- if (former->DynamicType() == STANDARD_TYPE(Transfer_VoidBinder))
+ if (aFormer->DynamicType() == STANDARD_TYPE(Transfer_VoidBinder))
{
- binder->Merge(former);
- themap(theindex) = binder; // Substitution
+ theBinder->Merge(aFormer);
+ myMap(myIndex) = theBinder; // Substitution
}
- else if (former->Status() == Transfer_StatusUsed)
+ else if (aFormer->Status() == Transfer_StatusUsed)
{
- StartTrace (former,start,thelevel,4);
+ StartTrace (aFormer,theStart,myLevel,4);
Transfer_TransferFailure::Raise
("TransferProcess : Bind, already Bound");
}
else
{
- if (thetrace > 2) StartTrace (former,start,thelevel,5);
- binder->CCheck()->GetMessages (former->Check());
+ if (myTrace > 2) StartTrace (aFormer,theStart,myLevel,5);
+ theBinder->CCheck()->GetMessages (aFormer->Check());
}
}
- if (theindex == 0 || thelastbnd.IsNull())
+ if (myIndex == 0 || myLastBinder.IsNull())
{
- if (theindex == 0) theindex = themap.Add(start,binder);
- else themap(theindex) = binder;
- thelastbnd = binder;
+ if (myIndex == 0) myIndex = myMap.Add(theStart,theBinder);
+ else myMap(myIndex) = theBinder;
+ myLastBinder = theBinder;
}
else
{
- thelastbnd = binder;
- themap(theindex) = binder;
+ myLastBinder = theBinder;
+ myMap(myIndex) = theBinder;
}
}
//purpose :
//=======================================================================
- Standard_EXPORT void Rebind (const TheStart& start,
- const Handle(Transfer_Binder)& binder)
+ Standard_EXPORT void Rebind (const TheStart& theStart,
+ const Handle(Transfer_Binder)& theBinder)
{
- Bind(start,binder);
+ Bind(theStart,theBinder);
}
//=======================================================================
//purpose :
//=======================================================================
- Standard_EXPORT Standard_Boolean Unbind (const TheStart& start)
+ Standard_EXPORT Standard_Boolean Unbind (const TheStart& theStart)
{
- Handle(Transfer_Binder) former = FindAndMask(start);
- if (theindex == 0) return Standard_False;
- if (former.IsNull()) return Standard_False;
- if (former->DynamicType() == STANDARD_TYPE(Transfer_VoidBinder))
+ Handle(Transfer_Binder) aFormer = FindAndMask(theStart);
+ if (myIndex == 0) return Standard_False;
+ if (aFormer.IsNull()) return Standard_False;
+ if (aFormer->DynamicType() == STANDARD_TYPE(Transfer_VoidBinder))
return Standard_True;
- themap(theindex) = thelastbnd;
- if (theroots.Contains(theindex))
+ myMap(myIndex) = myLastBinder;
+ if (myRoots.Contains(myIndex))
{
TColStd_IndexedMapOfInteger aNewRoots;
- for (Standard_Integer i = 1; i <= theroots.Extent(); i++)
- if (theindex!= theroots.FindKey(i))
- aNewRoots.Add(theroots.FindKey(i));
+ for (Standard_Integer anI = 1; anI <= myRoots.Extent(); anI++)
+ if (myIndex!= myRoots.FindKey(anI))
+ aNewRoots.Add(myRoots.FindKey(anI));
- theroots.Clear();
- theroots = aNewRoots;
+ myRoots.Clear();
+ myRoots = aNewRoots;
}
- thelastobj.Nullify();
- thelastbnd.Nullify();
- theindex = 0;
+ myLastObj.Nullify();
+ myLastBinder.Nullify();
+ myIndex = 0;
return Standard_True;
}
//purpose :
//=======================================================================
- Standard_EXPORT Handle(Transfer_Binder) FindElseBind(const TheStart& start)
+ Standard_EXPORT Handle(Transfer_Binder) FindElseBind(const TheStart& theStart)
{
- Handle(Transfer_Binder) binder = FindAndMask (start);
- if (!binder.IsNull()) return binder;
- binder = new Transfer_VoidBinder;
- Bind(start,binder);
- return binder;
+ Handle(Transfer_Binder) aBinder = FindAndMask (theStart);
+ if (!aBinder.IsNull()) return aBinder;
+ aBinder = new Transfer_VoidBinder;
+ Bind(theStart,aBinder);
+ return aBinder;
}
//=======================================================================
//purpose :
//=======================================================================
- Standard_EXPORT void SetMessenger (const Handle(Message_Messenger)& messenger)
+ Standard_EXPORT void SetMessenger (const Handle(Message_Messenger)& theMessenger)
{
- if ( messenger.IsNull() )
- themessenger = Message::DefaultMessenger();
+ if ( theMessenger.IsNull() )
+ myMessenger = Message::DefaultMessenger();
else
- themessenger = messenger;
+ myMessenger = theMessenger;
}
//=======================================================================
Standard_EXPORT Handle(Message_Messenger) Messenger () const
{
- return themessenger;
+ return myMessenger;
}
//=======================================================================
Standard_EXPORT void SetTraceLevel (const Standard_Integer tracelev)
{
- thetrace = tracelev;
+ myTrace = tracelev;
}
//=======================================================================
Standard_EXPORT Standard_Integer TraceLevel () const
{
- return thetrace;
+ return myTrace;
}
//=======================================================================
//purpose :
//=======================================================================
- Standard_EXPORT void SendFail (const TheStart& start,
- const Message_Msg& amsg)
+ Standard_EXPORT void SendFail (const TheStart& theStart,
+ const Message_Msg& theMsg)
{
- AddFail(start,amsg);
+ AddFail(theStart,theMsg);
}
//purpose :
//=======================================================================
- Standard_EXPORT void SendWarning(const TheStart& start,
- const Message_Msg& amsg)
+ Standard_EXPORT void SendWarning (const TheStart& theStart,
+ const Message_Msg& theMsg)
{
- AddWarning(start,amsg);
+ AddWarning(theStart,theMsg);
}
//purpose :
//=======================================================================
- Standard_EXPORT void SendMsg (const TheStart& start,
- const Message_Msg& amsg)
+ Standard_EXPORT void SendMsg (const TheStart& theStart,
+ const Message_Msg& theMsg)
{
- Handle(Transfer_Binder) binder = FindAndMask(start);
- if (binder.IsNull()) {
- binder = new Transfer_VoidBinder;
- Bind (start,binder);
+ Handle(Transfer_Binder) theBinder = FindAndMask(theStart);
+ if (theBinder.IsNull()) {
+ theBinder = new Transfer_VoidBinder;
+ Bind (theStart,theBinder);
}
// Feeds the trace: Rule causing (user messages)
- if (thetrace > 0) {
- StartTrace (binder,start,thelevel,6);
- themessenger << amsg.Value();
- if (amsg.IsEdited()&&thetrace>2)
- themessenger << " [from: " << amsg.Original() << "]";
- themessenger << endl;
+ if (myTrace > 0) {
+ StartTrace (theBinder,theStart,myLevel,6);
+ myMessenger << theMsg.Value();
+ if (theMsg.IsEdited()&&myTrace>2)
+ myMessenger << " [from: " << theMsg.Original() << "]";
+ myMessenger << endl;
}
}
//purpose :
//=======================================================================
- Standard_EXPORT void AddFail (const TheStart& start,
+ Standard_EXPORT void AddFail (const TheStart& theStart,
const Standard_CString mess,
const Standard_CString orig)
{
- Handle(Transfer_Binder) binder = FindAndMask(start);
- if (binder.IsNull()) {
- binder = new Transfer_VoidBinder;
- Bind (start,binder);
+ Handle(Transfer_Binder) theBinder = FindAndMask(theStart);
+ if (theBinder.IsNull()) {
+ theBinder = new Transfer_VoidBinder;
+ Bind (theStart,theBinder);
}
- binder->AddFail (mess,orig);
- if (thetrace > 0) {
- StartTrace (binder,start,thelevel,1);
- themessenger << " --> Fail : " << mess;
- if (orig[0] != '\0'&&thetrace>2) themessenger << " [from: " << orig << "]";
- themessenger << endl;
+ theBinder->AddFail (mess,orig);
+ if (myTrace > 0) {
+ StartTrace (theBinder,theStart,myLevel,1);
+ myMessenger << " --> Fail : " << mess;
+ if (orig[0] != '\0'&&myTrace>2) myMessenger << " [from: " << orig << "]";
+ myMessenger << endl;
}
}
//purpose :
//=======================================================================
- Standard_EXPORT void AddError(const TheStart& start,
+ Standard_EXPORT void AddError(const TheStart& theStart,
const Standard_CString mess,
const Standard_CString orig)
{
- AddFail (start,mess,orig);
+ AddFail (theStart,mess,orig);
}
//=======================================================================
//purpose :
//=======================================================================
- Standard_EXPORT void AddFail (const TheStart& start,
- const Message_Msg& amsg)
+ Standard_EXPORT void AddFail (const TheStart& theStart,
+ const Message_Msg& theMsg)
{
- if (amsg.IsEdited()) AddFail (start,TCollection_AsciiString(amsg.Value()).ToCString(),
- TCollection_AsciiString(amsg.Original()).ToCString());
- else AddFail (start,TCollection_AsciiString(amsg.Value()).ToCString());
+ if (theMsg.IsEdited()) AddFail (theStart,TCollection_AsciiString(theMsg.Value()).ToCString(),
+ TCollection_AsciiString(theMsg.Original()).ToCString());
+ else AddFail (theStart,TCollection_AsciiString(theMsg.Value()).ToCString());
}
//=======================================================================
//purpose :
//=======================================================================
- Standard_EXPORT void AddWarning (const TheStart& start,
+ Standard_EXPORT void AddWarning (const TheStart& theStart,
const Standard_CString mess,
const Standard_CString orig)
{
- Handle(Transfer_Binder) binder = FindAndMask(start);
- if (binder.IsNull()) {
- binder = new Transfer_VoidBinder;
- Bind (start,binder);
+ Handle(Transfer_Binder) aBinder = FindAndMask(theStart);
+ if (aBinder.IsNull()) {
+ aBinder = new Transfer_VoidBinder;
+ Bind (theStart,aBinder);
}
- binder->AddWarning(mess,orig);
- if (thetrace > 1) {
- StartTrace (binder,start,thelevel,2);
- themessenger << " --> Warning : " << mess;
- if (orig[0] != '\0'&&thetrace>2) themessenger << " [from: " << orig << "]";
- themessenger << endl;
+ aBinder->AddWarning(mess,orig);
+ if (myTrace > 1) {
+ StartTrace (aBinder,theStart,myLevel,2);
+ myMessenger << " --> Warning : " << mess;
+ if (orig[0] != '\0'&&myTrace>2) myMessenger << " [from: " << orig << "]";
+ myMessenger << endl;
}
}
//purpose :
//=======================================================================
- Standard_EXPORT void AddWarning (const TheStart& start,
- const Message_Msg& amsg)
+ Standard_EXPORT void AddWarning (const TheStart& theStart,
+ const Message_Msg& theMsg)
{
- if (amsg.IsEdited()) AddWarning (start,TCollection_AsciiString(amsg.Value()).ToCString(),
- TCollection_AsciiString(amsg.Original()).ToCString());
- else AddWarning (start,TCollection_AsciiString(amsg.Value()).ToCString());
+ if (theMsg.IsEdited()) AddWarning (theStart,TCollection_AsciiString(theMsg.Value()).ToCString(),
+ TCollection_AsciiString(theMsg.Original()).ToCString());
+ else AddWarning (theStart,TCollection_AsciiString(theMsg.Value()).ToCString());
}
//=======================================================================
//purpose :
//=======================================================================
- Standard_EXPORT void Mend (const TheStart& start,
+ Standard_EXPORT void Mend (const TheStart& theStart,
const Standard_CString pref)
{
- Handle(Transfer_Binder) binder = FindAndMask(start);
- if (binder.IsNull()) return;
- Handle(Interface_Check) ach = binder->CCheck();
+ Handle(Transfer_Binder) aBinder = FindAndMask(theStart);
+ if (aBinder.IsNull()) return;
+ Handle(Interface_Check) ach = aBinder->CCheck();
ach->Mend (pref);
}
//purpose :
//=======================================================================
- Standard_EXPORT Handle(Interface_Check) Check(const TheStart& start) const
+ Standard_EXPORT Handle(Interface_Check) Check(const TheStart& theStart) const
{
- const Handle(Transfer_Binder)& binder = Find(start);
- if (binder.IsNull()) {
- Handle(Interface_Check) check;
- return check;
+ const Handle(Transfer_Binder)& aBinder = Find(theStart);
+ if (aBinder.IsNull()) {
+ Handle(Interface_Check) aCheck;
+ return aCheck;
}
- return binder->Check();
+ return aBinder->Check();
}
// ## ## ## Actions sur Types Privilegies ## ## ##
//purpose :
//=======================================================================
- Standard_EXPORT void BindTransient (const TheStart& start,
+ Standard_EXPORT void BindTransient (const TheStart& theStart,
const Handle(Standard_Transient)& res)
{
if (res.IsNull()) return;
- Handle(Transfer_Binder) former = Find(start);//,categ);skl
- Handle(Transfer_SimpleBinderOfTransient) binder =
- Handle(Transfer_SimpleBinderOfTransient)::DownCast(former);
- if (!binder.IsNull()) {
- if (binder->Status() == Transfer_StatusVoid) { binder->SetResult(res); return; }
+ Handle(Transfer_Binder) aFormer = Find(theStart);//,categ);skl
+ Handle(Transfer_SimpleBinderOfTransient) aBinder =
+ Handle(Transfer_SimpleBinderOfTransient)::DownCast(aFormer);
+ if (!aBinder.IsNull()) {
+ if (aBinder->Status() == Transfer_StatusVoid) { aBinder->SetResult(res); return; }
}
- binder = new Transfer_SimpleBinderOfTransient;
- binder->SetResult (res);
- if (former.IsNull()) Bind(start,binder);
- else Rebind(start,binder);
+ aBinder = new Transfer_SimpleBinderOfTransient;
+ aBinder->SetResult (res);
+ if (aFormer.IsNull()) Bind(theStart,aBinder);
+ else Rebind(theStart,aBinder);
}
//=======================================================================
//=======================================================================
Standard_EXPORT const Handle(Standard_Transient)& FindTransient
- (const TheStart& start) const
+ (const TheStart& theStart) const
{
- Handle(Transfer_SimpleBinderOfTransient) binder =
- Handle(Transfer_SimpleBinderOfTransient)::DownCast(Find(start));
- if (binder.IsNull()) return nultrans;
- if (!binder->HasResult()) return nultrans;
- return binder->Result();
+ Handle(Transfer_SimpleBinderOfTransient) aBinder =
+ Handle(Transfer_SimpleBinderOfTransient)::DownCast(Find(theStart));
+ if (aBinder.IsNull()) return myNullTrans;
+ if (!aBinder->HasResult()) return myNullTrans;
+ return aBinder->Result();
}
// Binding Multiple: D by BindMultiple declare the first (if not already done)
//purpose :
//=======================================================================
- Standard_EXPORT void BindMultiple(const TheStart& start)
+ Standard_EXPORT void BindMultiple(const TheStart& theStart)
{
- Handle(Transfer_Binder) binder = FindAndMask (start);
- if (!binder.IsNull()) {
- if (!binder->IsKind(STANDARD_TYPE(Transfer_MultipleBinder))) {
- StartTrace (thelastbnd,start,thelevel,4);
+ Handle(Transfer_Binder) aBinder = FindAndMask (theStart);
+ if (!aBinder.IsNull()) {
+ if (!aBinder->IsKind(STANDARD_TYPE(Transfer_MultipleBinder))) {
+ StartTrace (myLastBinder,theStart,myLevel,4);
Transfer_TransferFailure::Raise ("TransferProcess : BindMultiple");
}
}
- else Bind(start,new Transfer_MultipleBinder);
+ else Bind(theStart,new Transfer_MultipleBinder);
}
//=======================================================================
//purpose :
//=======================================================================
- Standard_EXPORT void AddMultiple(const TheStart& start,
+ Standard_EXPORT void AddMultiple(const TheStart& theStart,
const Handle(Standard_Transient)& res)
{
- Handle(Transfer_Binder) binder = FindAndMask(start);
+ Handle(Transfer_Binder) aBinder = FindAndMask(theStart);
Handle(Transfer_MultipleBinder) multr =
- Handle(Transfer_MultipleBinder)::DownCast(binder);
+ Handle(Transfer_MultipleBinder)::DownCast(aBinder);
if (multr.IsNull()) {
- StartTrace (binder,start,thelevel,4);
- if (binder.IsNull()) Transfer_TransferFailure::Raise
+ StartTrace (aBinder,theStart,myLevel,4);
+ if (aBinder.IsNull()) Transfer_TransferFailure::Raise
("TransferProcess : AddMultiple, nothing bound");
else Transfer_TransferFailure::Raise
("TransferProcess : AddMultiple, Binder not a MultipleBinder");
//=======================================================================
Standard_EXPORT Standard_Boolean FindTypedTransient
- (const TheStart& start,
+ (const TheStart& theStart,
const Handle(Standard_Type)& atype,
Handle(Standard_Transient)& val) const
{
- return GetTypedTransient (Find(start),atype,val);
+ return GetTypedTransient (Find(theStart),atype,val);
}
//=======================================================================
Standard_EXPORT Standard_Boolean GetTypedTransient
- (const Handle(Transfer_Binder)& binder,
+ (const Handle(Transfer_Binder)& aBinder,
const Handle(Standard_Type)& atype,
Handle(Standard_Transient)& val) const
{
- return Transfer_SimpleBinderOfTransient::GetTypedResult(binder,atype,val);
+ return Transfer_SimpleBinderOfTransient::GetTypedResult(aBinder,atype,val);
}
Standard_EXPORT Standard_Integer NbMapped () const
{
- return themap.Extent();
+ return myMap.Extent();
}
//=======================================================================
Standard_EXPORT const TheStart& Mapped(const Standard_Integer num) const
{
- return themap.FindKey(num);
+ return myMap.FindKey(num);
}
//=======================================================================
//purpose :
//=======================================================================
- Standard_EXPORT Standard_Integer MapIndex(const TheStart& start) const
+ Standard_EXPORT Standard_Integer MapIndex(const TheStart& theStart) const
{
- return themap.FindIndex(start);
+ return myMap.FindIndex(theStart);
}
//=======================================================================
Standard_EXPORT Handle(Transfer_Binder) MapItem(const Standard_Integer num) const
{
- Handle(Transfer_Binder) binder = themap.FindFromIndex(num);
- return binder;
+ Handle(Transfer_Binder) aBinder = myMap.FindFromIndex(num);
+ return aBinder;
}
//purpose :
//=======================================================================
- Standard_EXPORT void SetRoot (const TheStart& start)
+ Standard_EXPORT void SetRoot (const TheStart& theStart)
{
- Standard_Integer index = MapIndex(start);
+ Standard_Integer index = MapIndex(theStart);
if (index == 0) {
return;
}
- theroots.Add(index);
- if (thetrace > 2) StartTrace (MapItem(index),start,thelevel,3);
+ myRoots.Add(index);
+ if (myTrace > 2) StartTrace (MapItem(index),theStart,myLevel,3);
}
//=======================================================================
Standard_EXPORT void SetRootManagement(const Standard_Boolean stat)
{
- therootm = stat;
+ myToManageRoot = stat;
}
//=======================================================================
Standard_EXPORT Standard_Integer NbRoots () const
{
- return theroots.Extent();
+ return myRoots.Extent();
}
//=======================================================================
Standard_EXPORT const TheStart& Root(const Standard_Integer num) const
{
- Standard_Integer ind = 0;
- if (num > 0 && num <= theroots.Extent()) ind = theroots.FindKey(num);
- return themap.FindKey (ind);
+ Standard_Integer anInd = 0;
+ if (num > 0 && num <= myRoots.Extent()) anInd = myRoots.FindKey(num);
+ return myMap.FindKey (anInd);
}
//=======================================================================
Standard_EXPORT Handle(Transfer_Binder) RootItem(const Standard_Integer num) const
{
- Standard_Integer ind = 0;
- if (num > 0 && num <= theroots.Extent()) ind = theroots.FindKey(num);
- return themap.FindFromIndex(ind);//->Search(categ);skl
+ Standard_Integer anInd = 0;
+ if (num > 0 && num <= myRoots.Extent()) anInd = myRoots.FindKey(num);
+ return myMap.FindFromIndex(anInd);//->Search(categ);skl
}
//=======================================================================
//purpose :
//=======================================================================
- Standard_EXPORT Standard_Integer RootIndex(const TheStart& start) const
+ Standard_EXPORT Standard_Integer RootIndex(const TheStart& theStart) const
{
- Standard_Integer index = MapIndex(start);
+ Standard_Integer index = MapIndex(theStart);
if (index == 0) return 0;
- return theroots.FindIndex(index);
+ return myRoots.FindIndex(index);
}
//=======================================================================
Standard_EXPORT Standard_Integer NestingLevel () const
{
- return thelevel;
+ return myLevel;
}
//=======================================================================
Standard_EXPORT void ResetNestingLevel ()
{
- thelevel = 0;
+ myLevel = 0;
}
// ########################################################################
//======================================================================
//Purpose : gka TRJ9 for writing SDR for solid
- // Check if binder has already been bound to the result binder.
+ // Check if aBinder has already been bound to the result aBinder.
//======================================================================
// static Standard_Boolean Contains(const Handle(Transfer_Binder)& resbinder,
//purpose :
//=======================================================================
- Standard_EXPORT Standard_Boolean Recognize(const TheStart& start) const
+ Standard_EXPORT Standard_Boolean Recognize(const TheStart& theStart) const
{
- ActorHandle actor = theactor;
+ ActorHandle aActor = myActor;
// It scans up to have a next result
- while (!actor.IsNull()) {
- if (actor->Recognize (start)) return Standard_True;
- actor = actor->Next();
+ while (!aActor.IsNull())
+ {
+ if (aActor->Recognize (theStart))
+ return Standard_True;
+ aActor = aActor->Next();
}
return Standard_False;
}
-// //=======================================================================
-// //function : Transferring
-// //purpose :
-// //=======================================================================
-//
-// Standard_EXPORT Handle(Transfer_Binder) Transferring (const TheStart& start)
-// {
-// Handle(Transfer_Binder) former = FindAndMask(start);
-//
-// // Use more: note "AlreadyUsed" so result can not be changed
-// if (!former.IsNull()) {
-// if (former->HasResult()) {
-// former->SetAlreadyUsed();
-// return former;
-// }
-//
-// // Initial state: perhaps already done ... or infeasible
-// Transfer_StatusExec statex = former->StatusExec();
-// switch (statex) {
-// case Transfer_StatusInitial : // Transfer is prepared to do
-// break;
-// case Transfer_StatusDone : // Transfer was already done
-// themessenger << " .. and Transfer done" << endl;
-// return former;
-// case Transfer_StatusRun :
-// former->SetStatusExec(Transfer_StatusLoop);
-// return former;
-// case Transfer_StatusError :
-// if (thetrace) {
-// themessenger << " *** Transfer in Error Status :" << endl;
-// StartTrace (former, start, thelevel,0);
-// }
-// else StartTrace (former, start,thelevel,4);
-// Transfer_TransferFailure::Raise
-// ("TransferProcess : Transfer in Error Status");
-// case Transfer_StatusLoop : // The loop is closed ...
-// if (thetrace) {
-// themessenger << " *** Transfer Head of Dead Loop :" << endl;
-// StartTrace (former, start, thelevel,0);
-// }
-// else StartTrace (former, start,thelevel,4);
-// Transfer_TransferDeadLoop::Raise
-// ("TransferProcess : Transfer at Head of a Dead Loop");
-// }
-//#ifdef TRANSLOG
-// cout << "Transfer,level "<<thelevel<<Message_Flush;
-//#endif
-// former->SetStatusExec(Transfer_StatusRun);
-// }
-//#ifdef TRANSLOG
-// cout << " GO .." << endl;
-//#endif
-//
-// Handle(Transfer_Binder) binder;
-// Standard_Boolean newbind = Standard_False;
-// if (theerrh) {
-// // Transfer under protection exceptions (for notification actually)
-// Standard_Integer oldlev = thelevel;
-// try {
-// OCC_CATCH_SIGNALS
-// binder = TransferProduct(start);
-// }
-// catch (Transfer_TransferDeadLoop) {
-// if (binder.IsNull()) {
-// themessenger << " *** Dead Loop with no Result" << endl;
-// if (thetrace) StartTrace (binder, start, thelevel-1,0);
-// binder = new Transfer_VoidBinder;
-// Bind (start,binder); newbind = Standard_True;
-// } else if (binder->StatusExec() == Transfer_StatusLoop) {
-// if (thetrace) {
-// themessenger << " *** Dead Loop : Finding head of Loop :" << endl;
-// StartTrace (binder, start, thelevel-1,0);
-// }
-// else StartTrace (binder, start,thelevel-1,4);
-// Transfer_TransferFailure::Raise("TransferProcess : Head of Dead Loop");
-// } else {
-// if (thetrace) {
-// themessenger << " *** Dead Loop : Actor in Loop :" << endl;
-// StartTrace (binder, start, thelevel-1,0);
-// }
-// }
-// binder->AddFail("Transfer in dead Loop");
-// thelevel = oldlev;
-// }
-// catch (Standard_Failure) {
-// if (binder.IsNull()) {
-// themessenger << " *** Exception Raised with no Result" << endl;
-// binder = new Transfer_VoidBinder;
-// Bind (start,binder); newbind = Standard_True;
-// }
-// binder->AddFail("Transfer stopped by exception raising");
-// if (thetrace) {
-// themessenger << " *** Raised : " << Standard_Failure::Caught()->GetMessageString() << endl;
-// StartTrace (binder, start, thelevel-1,4);
-// }
-// thelevel = oldlev;
-// }
-// }
-//
-// else binder = TransferProduct(start);
-//
-// // Conclusion : Noter dans la Map
-//
-// if (!newbind && !binder.IsNull()) {
-// if (former.IsNull()) {
-// if (!IsBound(start)) Bind(start,binder); // result = 0 category
-// else { // gka TRJ9 for writing SDR for solid
-// Rebind(start,binder); // test_pattern.sat
-// }
-// }
-// else Rebind(start,binder);
-//#ifdef TRANSLOG
-// cout << " ... OK" << endl;
-//#endif
-// }
-// else
-// {
-// //= by ABV: 5 Oct 97: nothing generated, but former can be in run state - drop it
-// //= ASK: may be set it to StatusInitial ?
-// if ( ! former.IsNull() ) former->SetStatusExec ( Transfer_StatusDone );
-// Handle(Transfer_Binder) nulbinder;
-// return nulbinder;
-// }
-//
-// // Manage Roots (if planned)
-// if (therootl >= thelevel) {
-// therootl = 0;
-// if (therootm && binder->Status() != Transfer_StatusVoid) {
-// SetRoot (start);
-// }
-// }
-// return thelastbnd;
-// }
-
- //Standard_EXPORT Handle(Transfer_Binder) TransferProduct (const TheStart& start)
- //{
- // thelevel ++; // decrement and if == 0, root transfer
- // Handle(Transfer_Binder) binder;
- // ActorHandle actor = theactor;
- // while (!actor.IsNull())
- // {
- // if (actor->Recognize (start)) binder = actor->Transferring(start,this);
- // else binder.Nullify();
- // if (!binder.IsNull()) break;
- // actor = actor->Next();
- // }
- // if (binder.IsNull()) {
- // if (thelevel > 0) thelevel --;
- // return binder;
- // }
- // // Managing the root level (.. a close look ..)
- // if (therootl == 0 && binder->StatusExec() == Transfer_StatusDone)
- // therootl = thelevel - 1;
-
- // if (thelevel > 0) thelevel --;
- // return binder;
- //}
-
- //=======================================================================
- //function : Transfer
- //purpose :
- //=======================================================================
-
- //Standard_EXPORT Standard_Boolean Transfer(const TheStart& start)
- //{
- // Handle(Transfer_Binder) binder = Transferring(start);
- // return (!binder.IsNull());
- //}
-
// #########################################################################
// .... Error Handling + Trace ....
//purpose :
//=======================================================================
- Standard_EXPORT void SetErrorHandle(const Standard_Boolean err)
+ Standard_EXPORT void SetErrorHandle(const Standard_Boolean isError)
{
- theerrh = err;
+ myToHandleErr = isError;
}
//=======================================================================
Standard_EXPORT Standard_Boolean ErrorHandle() const
{
- return theerrh;
+ return myToHandleErr;
}
//=======================================================================
//purpose :
//=======================================================================
- Standard_EXPORT void StartTrace(const Handle(Transfer_Binder)& binder,
- const TheStart& start,
- const Standard_Integer level,
- const Standard_Integer mode) const
- {
- // ### Fail (Roots:50) -- Start start->DynamicType()
- // ### Fail (Roots:50) -- Start id:#label.. Type:start->DynamicType()
- if (thetrace > 3) { // Internal to be switch when searching bug (trace >= 4)
- if (mode == 1) themessenger << " ### Fail";
- if (mode == 2) themessenger << " ### Warning";
- if (mode == 3) themessenger << " ### New Root n0 " << theroots.Extent();
- if (mode == 4) themessenger << " ### Exception";
- if (mode == 5) themessenger << " ### Substitution";
- if (mode == 6) themessenger << " ### Information";
- if (level > 1)
- themessenger << " (nested)"; // " at nesting Level:"<<level;
- if (mode >= 0 && mode != 3)
- themessenger << " at " << theroots.Extent() << " Roots";
+ Standard_EXPORT void StartTrace(const Handle(Transfer_Binder)& theBinder,
+ const TheStart& theStart,
+ const Standard_Integer theLevel,
+ const Standard_Integer theMode) const
+ {
+ // ### Fail (Roots:50) -- Start theStart->DynamicType()
+ // ### Fail (Roots:50) -- Start id:#label.. Type:theStart->DynamicType()
+ if (myTrace > 3) { // Internal to be switch when searching bug (trace >= 4)
+ if (theMode == 1) myMessenger << " ### Fail";
+ if (theMode == 2) myMessenger << " ### Warning";
+ if (theMode == 3) myMessenger << " ### New Root n0 " << myRoots.Extent();
+ if (theMode == 4) myMessenger << " ### Exception";
+ if (theMode == 5) myMessenger << " ### Substitution";
+ if (theMode == 6) myMessenger << " ### Information";
+ if (theLevel > 1)
+ myMessenger << " (nested)"; // " at nesting Level:"<<theLevel;
+ if (theMode >= 0 && theMode != 3)
+ myMessenger << " at " << myRoots.Extent() << " Roots";
}
- if (!start.IsNull()) PrintTrace (start,themessenger);
+ if (!theStart.IsNull()) PrintTrace (theStart,myMessenger);
- if (!binder.IsNull()) { // old: if IsNull sout <<endl<< " --- Not Bound";
- Handle(Transfer_Binder) bnd = binder;
+ if (!theBinder.IsNull()) { // old: if IsNull sout <<endl<< " --- Not Bound";
+ Handle(Transfer_Binder) bnd = theBinder;
Standard_Boolean hasres = Standard_False, isused = Standard_False;
while (!bnd.IsNull()) {
if (bnd->Status() != Transfer_StatusVoid) {
- // --- Result Type: binder->ResultType() --- Binder : binder->DynamicType();
+ // --- Result Type: theBinder->ResultType() --- Binder : theBinder->DynamicType();
if (!hasres)
- themessenger << "\n --- Result Type : ";
+ myMessenger << "\n --- Result Type : ";
else
- themessenger << " , ";
- themessenger << bnd->ResultTypeName();
+ myMessenger << " , ";
+ myMessenger << bnd->ResultTypeName();
// CKY 9-JAN-1999: waiting for XSTEP Kernel message (not IGES_2075)
/* Message_Msg Msg2075("IGES_2075");
Msg2075.AddString(bnd->ResultTypeName());
}
bnd = bnd->NextResult();
}
- if (!hasres && mode > 2) {
- themessenger << "\n --- No Result recorded";
+ if (!hasres && theMode > 2) {
+ myMessenger << "\n --- No Result recorded";
// CKY 9-JAN-1999 : waiting for XSTEP Kernel message
// (not IGES_2075, no reference to specifically TopoDS_Shape)
/* Message_Msg Msg2075("IGES_2075");
}
//old if (isused) sout << " -- (Already Used in another Transfer)";
}
- themessenger << endl;
+ myMessenger << endl;
}
//purpose :
//=======================================================================
- Standard_EXPORT void PrintTrace(const TheStart& start,
- const Handle(Message_Messenger)& S) const
+ Standard_EXPORT void PrintTrace(const TheStart& theStart,
+ const Handle(Message_Messenger)& theMessenger) const
{
- if (!start.IsNull()) S <<" Type:" << start->DynamicType()->Name();
+ if (!theStart.IsNull())
+ theMessenger <<" Type:" << theStart->DynamicType()->Name();
}
//=======================================================================
//purpose :
//=======================================================================
- Standard_EXPORT Standard_Boolean IsLooping (const Standard_Integer alevel) const
- { return alevel > NbMapped(); }
+ Standard_EXPORT Standard_Boolean IsLooping (const Standard_Integer theLevel) const
+ {
+ return theLevel > NbMapped();
+ }
// #########################################################################
// .... RESULTS ....
//purpose :
//=======================================================================
- Standard_EXPORT Iterator RootResult(const Standard_Boolean withstart = Standard_False) const
+ Standard_EXPORT Iterator RootResult (const Standard_Boolean isWithStart = Standard_False) const
{
- Iterator iter(withstart);
- Standard_Integer max = theroots.Extent();
- for (Standard_Integer j = 1; j <= max; j ++) {
- Standard_Integer i = theroots.FindKey(j);
- Handle(Transfer_Binder) binder = MapItem(i);
- if (binder.IsNull()) continue;
- if (withstart) iter.Add (binder,Mapped(i));
- else iter.Add (binder);
+ Iterator iter(isWithStart);
+ Standard_Integer aMax = myRoots.Extent();
+ for (Standard_Integer aJ = 1; aJ <= aMax; aJ ++) {
+ Standard_Integer anI = myRoots.FindKey(aJ);
+ Handle(Transfer_Binder) aBinder = MapItem(anI);
+ if (aBinder.IsNull()) continue;
+ if (isWithStart) iter.Add (aBinder,Mapped(anI));
+ else iter.Add (aBinder);
}
return iter;
}
//purpose : All Results
//=======================================================================
- Standard_EXPORT Iterator CompleteResult (const Standard_Boolean withstart = Standard_False) const
+ Standard_EXPORT Iterator CompleteResult (const Standard_Boolean isWithStart = Standard_False) const
{
- Iterator iter(withstart);
- Standard_Integer max = NbMapped();
- for (Standard_Integer i = 1; i <= max; i ++) {
- Handle(Transfer_Binder) binder = MapItem(i);
- if (binder.IsNull()) continue;
- if (withstart) iter.Add (binder,Mapped(i));
- else iter.Add (binder);
+ Iterator iter(isWithStart);
+ Standard_Integer aMax = NbMapped();
+ for (Standard_Integer anI = 1; anI <= aMax; anI ++) {
+ Handle(Transfer_Binder) aBinder = MapItem(anI);
+ if (aBinder.IsNull()) continue;
+ if (isWithStart) iter.Add (aBinder,Mapped(anI));
+ else iter.Add (aBinder);
}
return iter;
}
Standard_EXPORT Iterator AbnormalResult() const
{
Iterator iter(Standard_True);
- Standard_Integer max = NbMapped();
- for (Standard_Integer i = 1; i <= max; i ++) {
- Handle(Transfer_Binder) binder = MapItem(i);
- if (binder.IsNull()) continue;
- Transfer_StatusExec statex = binder->StatusExec();
- if (statex != Transfer_StatusInitial && statex != Transfer_StatusDone)
- iter.Add (binder,Mapped(i)); // on note les cas "pas normaux"
+ Standard_Integer aMax = NbMapped();
+ for (Standard_Integer anI = 1; anI <= aMax; anI ++) {
+ Handle(Transfer_Binder) aBinder = MapItem(anI);
+ if (aBinder.IsNull()) continue;
+ Transfer_StatusExec aStatExec = aBinder->StatusExec();
+ if (aStatExec != Transfer_StatusInitial && aStatExec != Transfer_StatusDone)
+ iter.Add (aBinder,Mapped(anI)); // on note les cas "pas normaux"
}
return iter;
}
//purpose :
//=======================================================================
- Standard_EXPORT Interface_CheckIterator CheckList (const Standard_Boolean erronly) const
+ Standard_EXPORT Interface_CheckIterator CheckList (const Standard_Boolean isErrOnly) const
{
Interface_CheckIterator list;
- Standard_Integer num, max = NbMapped();
- for (Standard_Integer i = 1; i <= max; i ++) {
- Handle(Transfer_Binder) binder = MapItem(i);
- if (binder.IsNull()) continue;
- Transfer_StatusExec statex = binder->StatusExec();
- Handle(Interface_Check) check = binder->Check();
- if (statex != Transfer_StatusInitial && statex != Transfer_StatusDone &&
- !check->HasFailed())
- check->AddFail("Transfer in Abnormal Status (!= Initial or Done)");
- if (!check->HasFailed() && (erronly || check->NbWarnings() == 0)) continue;
- const TheStart& ent = Mapped(i);
+ Standard_Integer num, aMax = NbMapped();
+ for (Standard_Integer anI = 1; anI <= aMax; anI ++) {
+ Handle(Transfer_Binder) aBinder = MapItem(anI);
+ if (aBinder.IsNull()) continue;
+ Transfer_StatusExec aStatExec = aBinder->StatusExec();
+ Handle(Interface_Check) aCheck = aBinder->Check();
+ if (aStatExec != Transfer_StatusInitial && aStatExec != Transfer_StatusDone &&
+ !aCheck->HasFailed())
+ aCheck->AddFail("Transfer in Abnormal Status (!= Initial or Done)");
+ if (!aCheck->HasFailed() && (isErrOnly || aCheck->NbWarnings() == 0)) continue;
+ const TheStart& ent = Mapped(anI);
num = CheckNum(ent);
- if (num == 0) num = i;
- check->SetEntity(ent);
- list.Add(check,num);
+ if (num == 0) num = anI;
+ aCheck->SetEntity(ent);
+ list.Add(aCheck,num);
}
return list;
}
//purpose :
//=======================================================================
- Standard_EXPORT Iterator ResultOne (const TheStart& start,
- const Standard_Integer level,
- const Standard_Boolean withstart = Standard_False) const
+ Standard_EXPORT Iterator ResultOne (const TheStart& theStart,
+ const Standard_Integer theLevel,
+ const Standard_Boolean isWithStart = Standard_False) const
{
- Iterator iter(withstart);
- Standard_Integer max = NbMapped();
- Standard_Integer ind = MapIndex (start);
- if (ind == 0) return iter;
- Standard_Integer i1 = (level == 0 ? ind : 1);
- Standard_Integer i2 = (level == 0 ? ind : max);
+ Iterator iter(isWithStart);
+ Standard_Integer aMax = NbMapped();
+ Standard_Integer anInd = MapIndex (theStart);
+ if (anInd == 0) return iter;
+ Standard_Integer i1 = (theLevel == 0 ? anInd : 1);
+ Standard_Integer i2 = (theLevel == 0 ? anInd : aMax);
Handle(TColStd_HArray1OfInteger) map = new TColStd_HArray1OfInteger (i1,i2,0);
- for (Standard_Integer i = i1; i <= i2; i ++) {
- ind = map->Value(i);
- if (ind == 0) continue;
- Handle(Transfer_Binder) binder = MapItem(i);
- if (binder.IsNull()) continue;
- if (withstart) iter.Add (binder,Mapped(ind));
- else iter.Add (binder);
+ for (Standard_Integer anI = i1; anI <= i2; anI ++) {
+ anInd = map->Value(anI);
+ if (anInd == 0) continue;
+ Handle(Transfer_Binder) aBinder = MapItem(anI);
+ if (aBinder.IsNull()) continue;
+ if (isWithStart) iter.Add (aBinder,Mapped(anInd));
+ else iter.Add (aBinder);
}
return iter;
}
//=======================================================================
Standard_EXPORT Interface_CheckIterator CheckListOne
- (const TheStart& start,const Standard_Integer level,
- const Standard_Boolean erronly) const
+ (const TheStart& theStart,const Standard_Integer theLevel,
+ const Standard_Boolean isErrOnly) const
{
- Interface_CheckIterator list;
- Standard_Integer max = NbMapped();
- Standard_Integer num, ind = MapIndex (start);
- if (ind == 0) return list;
- Standard_Integer i1 = (level == 0 ? ind : 1);
- Standard_Integer i2 = (level == 0 ? ind : max);
+ Interface_CheckIterator aList;
+ Standard_Integer aMax = NbMapped();
+ Standard_Integer aNum, anInd = MapIndex (theStart);
+ if (anInd == 0) return aList;
+ Standard_Integer i1 = (theLevel == 0 ? anInd : 1);
+ Standard_Integer i2 = (theLevel == 0 ? anInd : aMax);
Handle(TColStd_HArray1OfInteger) map = new TColStd_HArray1OfInteger (i1,i2,0);
- for (Standard_Integer i = i1; i <= i2; i ++) {
- ind = map->Value(i);
- if (ind == 0) continue;
- Handle(Transfer_Binder) binder = MapItem(ind);
- if (binder.IsNull()) continue;
- Transfer_StatusExec statex = binder->StatusExec();
- Handle(Interface_Check) check = binder->Check();
- if (statex != Transfer_StatusInitial && statex != Transfer_StatusDone &&
- !check->HasFailed())
- check->AddFail("Transfer in Abnormal Status (!= Initial or Done)");
- if (!check->HasFailed() && (erronly || check->NbWarnings() == 0)) continue;
- const TheStart& ent = Mapped(ind);
- num = CheckNum(ent); if (num == 0) num = ind;
- check->SetEntity(ent);
- list.Add(check,num);
+ for (Standard_Integer anI = i1; anI <= i2; anI ++) {
+ anInd = map->Value(anI);
+ if (anInd == 0) continue;
+ Handle(Transfer_Binder) aBinder = MapItem(anInd);
+ if (aBinder.IsNull()) continue;
+ Transfer_StatusExec aStatExec = aBinder->StatusExec();
+ Handle(Interface_Check) aCheck = aBinder->Check();
+ if (aStatExec != Transfer_StatusInitial && aStatExec != Transfer_StatusDone &&
+ !aCheck->HasFailed())
+ aCheck->AddFail("Transfer in Abnormal Status (!= Initial or Done)");
+ if (!aCheck->HasFailed() && (isErrOnly || aCheck->NbWarnings() == 0)) continue;
+ const TheStart& anEnt = Mapped(anInd);
+ aNum = CheckNum(anEnt); if (aNum == 0) aNum = anInd;
+ aCheck->SetEntity(anEnt);
+ aList.Add(aCheck,aNum);
}
- return list;
+ return aList;
}
//=======================================================================
//=======================================================================
Standard_EXPORT Standard_Boolean IsCheckListEmpty
- (const TheStart& start, const Standard_Integer level,
- const Standard_Boolean erronly) const
- {
- Standard_Integer max = NbMapped();
- Standard_Integer ind = MapIndex (start);
- if (ind == 0) return Standard_False;
- Standard_Integer i1 = (level == 0 ? ind : 1);
- Standard_Integer i2 = (level == 0 ? ind : max);
+ (const TheStart& theStart, const Standard_Integer theLevel,
+ const Standard_Boolean isErrOnly) const
+ {
+ Standard_Integer aMax = NbMapped();
+ Standard_Integer anInd = MapIndex (theStart);
+ if (anInd == 0) return Standard_False;
+ Standard_Integer i1 = (theLevel == 0 ? anInd : 1);
+ Standard_Integer i2 = (theLevel == 0 ? anInd : aMax);
Handle(TColStd_HArray1OfInteger) map = new TColStd_HArray1OfInteger (i1,i2,0);
- for (Standard_Integer i = i1; i <= i2; i ++) {
- ind = map->Value(i);
- if (ind == 0) continue;
- Handle(Transfer_Binder) binder = MapItem(ind);
- if (binder.IsNull()) continue;
+ for (Standard_Integer anI = i1; anI <= i2; anI ++) {
+ anInd = map->Value(anI);
+ if (anInd == 0) continue;
+ Handle(Transfer_Binder) aBinder = MapItem(anInd);
+ if (aBinder.IsNull()) continue;
- Transfer_StatusExec statex = binder->StatusExec();
- Handle(Interface_Check) check = binder->Check();
- if (statex != Transfer_StatusInitial && statex != Transfer_StatusDone)
+ Transfer_StatusExec aStatExec = aBinder->StatusExec();
+ Handle(Interface_Check) aCheck = aBinder->Check();
+ if (aStatExec != Transfer_StatusInitial && aStatExec != Transfer_StatusDone)
return Standard_False;
- if (check->HasFailed() || (!erronly && check->NbWarnings() > 0)) return Standard_False;
+ if (aCheck->HasFailed() || (!isErrOnly && aCheck->NbWarnings() > 0)) return Standard_False;
}
return Standard_True;
}
//purpose :
//=======================================================================
- Standard_EXPORT void RemoveResult(const TheStart& start,
- const Standard_Integer level,
- const Standard_Boolean compute = Standard_True)
+ Standard_EXPORT void RemoveResult (const TheStart& theStart,
+ const Standard_Integer theLevel,
+ const Standard_Boolean toCompute = Standard_True)
{
- Standard_Integer max = NbMapped();
- Standard_Integer ind = MapIndex (start);
- if (ind == 0) return;
- Standard_Integer i1 = (level == 0 ? ind : 1);
- Standard_Integer i2 = (level == 0 ? ind : max);
+ Standard_Integer aMax = NbMapped();
+ Standard_Integer anInd = MapIndex (theStart);
+ if (anInd == 0) return;
+ Standard_Integer i1 = (theLevel == 0 ? anInd : 1);
+ Standard_Integer i2 = (theLevel == 0 ? anInd : aMax);
Handle(TColStd_HArray1OfInteger) map = new TColStd_HArray1OfInteger (i1,i2,0);
- Standard_Integer i; // svv Jan11 2000 : porting on DEC
- for (i = i1; i <= i2; i ++) {
- ind = map->Value(i);
- if (ind == 0) continue;
- Handle(Transfer_Binder) binder = MapItem(ind);
- if (binder.IsNull()) continue;
+ Standard_Integer anI; // svv Jan11 2000 : porting on DEC
+ for (anI = i1; anI <= i2; anI ++) {
+ anInd = map->Value(anI);
+ if (anInd == 0) continue;
+ Handle(Transfer_Binder) aBinder = MapItem(anInd);
+ if (aBinder.IsNull()) continue;
}
}
//=======================================================================
Transfer_TransientProcess::Transfer_TransientProcess
- (const Standard_Integer nb) : Transfer_TransferProcess (nb)
+ (const Standard_Integer theNb) : Transfer_TransferProcess (theNb)
{
- thetrroots = new TColStd_HSequenceOfTransient;
+ theTrRoots = new TColStd_HSequenceOfTransient;
}
-
//=======================================================================
//function : SetModel
//purpose :
//=======================================================================
void Transfer_TransientProcess::SetModel
- (const Handle(Interface_InterfaceModel)& model)
+ (const Handle(Interface_InterfaceModel)& theModel)
{
- themodel = model;
+ myModel = theModel;
}
Handle(Interface_InterfaceModel) Transfer_TransientProcess::Model () const
{
- return themodel;
+ return myModel;
}
-void Transfer_TransientProcess::SetGraph(const Handle(Interface_HGraph)& HG)
+void Transfer_TransientProcess::SetGraph(const Handle(Interface_HGraph)& theHGraph)
{
- thegraph = HG;
- if (!thegraph.IsNull())
- SetModel(thegraph->Graph().Model());
+ myGraph = theHGraph;
+ if (!myGraph.IsNull())
+ SetModel(myGraph->Graph().Model());
else
- themodel.Nullify();
+ myModel.Nullify();
}
Standard_Boolean Transfer_TransientProcess::HasGraph () const
{
- return !thegraph.IsNull();
+ return !myGraph.IsNull();
}
Handle(Interface_HGraph) Transfer_TransientProcess::HGraph () const
{
- return thegraph;
+ return myGraph;
}
const Interface_Graph& Transfer_TransientProcess::Graph () const
{
- return thegraph->Graph();
+ return myGraph->Graph();
}
//purpose :
//=======================================================================
-void Transfer_TransientProcess::SetContext(const Standard_CString name,
- const Handle(Standard_Transient)& ctx)
+void Transfer_TransientProcess::SetContext(const Standard_CString theName,
+ const Handle(Standard_Transient)& theCtx)
{
- if (thectx.IsNull()) thectx = new Dico_DictionaryOfTransient;
- thectx->SetItem (name,ctx);
+ if (myCtx.IsNull()) myCtx = new Dico_DictionaryOfTransient;
+ myCtx->SetItem (theName,theCtx);
}
//=======================================================================
Standard_Boolean Transfer_TransientProcess::GetContext
- (const Standard_CString name, const Handle(Standard_Type)& type,
- Handle(Standard_Transient)& ctx) const
+ (const Standard_CString theName, const Handle(Standard_Type)& theType,
+ Handle(Standard_Transient)& theCtx) const
{
- if (thectx.IsNull()) return Standard_False;
- if (!thectx->GetItem (name,ctx)) ctx.Nullify();
- if (ctx.IsNull()) return Standard_False;
- if (type.IsNull()) return Standard_True;
- if (!ctx->IsKind(type)) ctx.Nullify();
- return !ctx.IsNull();
+ if (myCtx.IsNull()) return Standard_False;
+ if (!myCtx->GetItem (theName,theCtx)) theCtx.Nullify();
+ if (theCtx.IsNull()) return Standard_False;
+ if (theType.IsNull()) return Standard_True;
+ if (!theCtx->IsKind(theType)) theCtx.Nullify();
+ return !theCtx.IsNull();
}
Handle(Dico_DictionaryOfTransient)& Transfer_TransientProcess::Context ()
{
- return thectx;
+ return myCtx;
}
//=======================================================================
void Transfer_TransientProcess::PrintTrace
- (const Handle(Standard_Transient)& start, const Handle(Message_Messenger)& S) const
+ (const Handle(Standard_Transient)& theStart, const Handle(Message_Messenger)& theMessenger) const
{
- if (!start.IsNull()) {
- S << "Entity ";
- if (!themodel.IsNull()) {
- themodel->Print (start,S,1);
-// S<<"id "; themodel->Print (start,S);
-// S<<" Type:"<<themodel->TypeName (start);
+ if (!theStart.IsNull()) {
+ theMessenger << "Entity ";
+ if (!myModel.IsNull()) {
+ myModel->Print (theStart,theMessenger,1);
+// theMessenger<<"id "; myModel->Print (theStart,theMessenger);
+// theMessenger<<" Type:"<<myModel->TypeName (theStart);
}
- else S<<" Type:"<< Interface_InterfaceModel::ClassName(start->DynamicType()->Name());
- // << start (handle) ??
+ else theMessenger<<" Type:"<< Interface_InterfaceModel::ClassName(theStart->DynamicType()->Name());
+ // << theStart (handle) ??
}
}
//=======================================================================
Standard_Integer Transfer_TransientProcess::CheckNum
- (const Handle(Standard_Transient)& start) const
+ (const Handle(Standard_Transient)& theStart) const
{
- return (themodel.IsNull() ? 0 : themodel->Number(start));
+ return (myModel.IsNull() ? 0 : myModel->Number(theStart));
}
//=======================================================================
Interface_EntityIterator Transfer_TransientProcess::TypedSharings
- (const Handle(Standard_Transient)& start,
- const Handle(Standard_Type)& type) const
+ (const Handle(Standard_Transient)& theStart,
+ const Handle(Standard_Type)& theType) const
{
Interface_EntityIterator iter;
- if (thegraph.IsNull()) return iter;
- return thegraph->Graph().TypedSharings (start,type);
+ if (myGraph.IsNull()) return iter;
+ return myGraph->Graph().TypedSharings (theStart,theType);
}
//=======================================================================
Standard_Boolean Transfer_TransientProcess::IsDataLoaded
- (const Handle(Standard_Transient)& start) const
+ (const Handle(Standard_Transient)& theStart) const
{
- if (themodel.IsNull()) return Standard_True;
- Standard_Integer num = themodel->Number(start);
- if (num == 0) return Standard_True;
- if (themodel->IsUnknownEntity(num)) return Standard_False;
- return !themodel->IsRedefinedContent(num);
+ if (myModel.IsNull()) return Standard_True;
+ Standard_Integer aNum = myModel->Number(theStart);
+ if (aNum == 0) return Standard_True;
+ if (myModel->IsUnknownEntity(aNum)) return Standard_False;
+ return !myModel->IsRedefinedContent(aNum);
}
//=======================================================================
Standard_Boolean Transfer_TransientProcess::IsDataFail
- (const Handle(Standard_Transient)& start) const
+ (const Handle(Standard_Transient)& theStart) const
{
- if (themodel.IsNull()) return Standard_False;
- Standard_Integer num = themodel->Number(start);
- if (num == 0) return Standard_False;
- if (themodel->IsErrorEntity(num)) return Standard_True;
- const Handle(Interface_Check) ach = themodel->Check(num,Standard_False); // semantic
- return ach->HasFailed();
+ if (myModel.IsNull()) return Standard_False;
+ Standard_Integer aNum = myModel->Number(theStart);
+ if (aNum == 0) return Standard_False;
+ if (myModel->IsErrorEntity(aNum)) return Standard_True;
+ const Handle(Interface_Check) aCheck = myModel->Check(aNum,Standard_False); // semantic
+ return aCheck->HasFailed();
}
//=======================================================================
void Transfer_TransientProcess::PrintStats(const Standard_Integer /*mode*/,
- const Handle(Message_Messenger)& S) const
+ const Handle(Message_Messenger)& theMessenger) const
{
- S<<"\n*******************************************************************\n";
+ theMessenger<<"\n*******************************************************************\n";
// if (mode == 1) { // Statistiques de base
- S << "******** Basic Statistics ********"<<endl;
+ theMessenger << "******** Basic Statistics ********"<<endl;
- Handle(Interface_InterfaceModel) model = Model();
- if (model.IsNull()) S<<"**** Model unknown"<<endl;
+ Handle(Interface_InterfaceModel) aModel = Model();
+ if (aModel.IsNull()) theMessenger<<"**** Model unknown"<<endl;
else
- S<<"**** Nb Entities : "<<model->NbEntities()<<endl;
-
- Standard_Integer nbr = 0, nbe = 0, nbw = 0;
- Standard_Integer i, max = NbMapped(), nbroots = NbRoots();
- S << "**** Nb Final Results : "<<nbroots<<endl;
-
- for (i = 1; i <= max; i ++) {
- const Handle(Transfer_Binder)& binder = MapItem(i);
- if (binder.IsNull()) continue;
- const Handle(Interface_Check) ach = binder->Check();
- Transfer_StatusExec stat = binder->StatusExec();
- if (stat != Transfer_StatusInitial && stat != Transfer_StatusDone)
- nbe ++;
+ theMessenger<<"**** Nb Entities : "<< aModel->NbEntities()<<endl;
+
+ Standard_Integer aNbr = 0, aNbe = 0, aNbw = 0;
+ Standard_Integer anI, aMax = NbMapped(), aNbRoots = NbRoots();
+ theMessenger << "**** Nb Final Results : "<<aNbRoots<<endl;
+
+ for (anI = 1; anI <= aMax; anI ++) {
+ const Handle(Transfer_Binder)& aBinder = MapItem(anI);
+ if (aBinder.IsNull()) continue;
+ const Handle(Interface_Check) aCheck = aBinder->Check();
+ Transfer_StatusExec aStatus = aBinder->StatusExec();
+ if (aStatus != Transfer_StatusInitial && aStatus != Transfer_StatusDone)
+ aNbe ++;
else {
- if (ach->NbWarnings() > 0) nbw ++;
- if (binder->HasResult()) nbr ++;
+ if (aCheck->NbWarnings() > 0) aNbw ++;
+ if (aBinder->HasResult()) aNbr ++;
}
}
- if (nbr > nbroots)
- S<<"**** ( Itermediate Results : "<<nbr-nbroots<<" )\n";
- if (nbe > 0)
- S<<"**** Errors on : "<<Interface_MSG::Blanks(nbe,4)<<nbe<<" Entities\n";
- if (nbw > 0)
- S<<"**** Warnings on : "<<Interface_MSG::Blanks(nbw,4)<<nbw<<" Entities\n";
- S<<"*******************************************************************";
+ if (aNbr > aNbRoots)
+ theMessenger<<"**** ( Itermediate Results : "<<aNbr-aNbRoots<<" )\n";
+ if (aNbe > 0)
+ theMessenger<<"**** Errors on : "<<Interface_MSG::Blanks(aNbe,4)<<aNbe<<" Entities\n";
+ if (aNbw > 0)
+ theMessenger<<"**** Warnings on : "<<Interface_MSG::Blanks(aNbw,4)<<aNbw<<" Entities\n";
+ theMessenger<<"*******************************************************************";
// }
- S<<endl;
+ theMessenger<<endl;
}
Handle(TColStd_HSequenceOfTransient) Transfer_TransientProcess::RootsForTransfer()
{
- return thetrroots;
+ return theTrRoots;
}
//=======================================================================
//function : TransferProduct
//purpose :
//=======================================================================
- Handle(Transfer_Binder) Transfer_TransientProcess::TransferProduct (const Handle(Standard_Transient)& start)
+ Handle(Transfer_Binder) Transfer_TransientProcess::TransferProduct (const Handle(Standard_Transient)& theStart)
{
- thelevel ++; // decrement and if == 0, root transfer
- Handle(Transfer_Binder) binder;
- Handle(Transfer_ActorOfTransientProcess) actor = theactor;
- while (!actor.IsNull())
+ myLevel ++; // decrement and if == 0, root transfer
+ Handle(Transfer_Binder) aBinder;
+ Handle(Transfer_ActorOfTransientProcess) anActor = myActor;
+ while (!anActor.IsNull())
{
- if (actor->Recognize (start)) binder = actor->Transferring(start,this);
- else binder.Nullify();
- if (!binder.IsNull()) break;
- actor = actor->Next();
+ if (anActor->Recognize (theStart)) aBinder = anActor->Transferring(theStart,this);
+ else aBinder.Nullify();
+ if (!aBinder.IsNull()) break;
+ anActor = anActor->Next();
}
- if (binder.IsNull()) {
- if (thelevel > 0) thelevel --;
- return binder;
+ if (aBinder.IsNull()) {
+ if (myLevel > 0) myLevel --;
+ return aBinder;
}
// Managing the root level (.. a close look ..)
- if (therootl == 0 && binder->StatusExec() == Transfer_StatusDone)
- therootl = thelevel - 1;
+ if (myRootLevel == 0 && aBinder->StatusExec() == Transfer_StatusDone)
+ myRootLevel = myLevel - 1;
- if (thelevel > 0) thelevel --;
- return binder;
+ if (myLevel > 0) myLevel --;
+ return aBinder;
}
//=======================================================================
//purpose :
//=======================================================================
- Handle(Transfer_Binder) Transfer_TransientProcess::Transferring (const Handle(Standard_Transient)& start)
+ Handle(Transfer_Binder) Transfer_TransientProcess::Transferring (const Handle(Standard_Transient)& theStart)
{
- Handle(Transfer_Binder) former = FindAndMask(start);
+ Handle(Transfer_Binder) aFormer = FindAndMask(theStart);
// Use more: note "AlreadyUsed" so result can not be changed
- if (!former.IsNull()) {
- if (former->HasResult()) {
- former->SetAlreadyUsed();
- return former;
+ if (!aFormer.IsNull()) {
+ if (aFormer->HasResult()) {
+ aFormer->SetAlreadyUsed();
+ return aFormer;
}
// Initial state: perhaps already done ... or infeasible
- Transfer_StatusExec statex = former->StatusExec();
+ Transfer_StatusExec statex = aFormer->StatusExec();
switch (statex) {
case Transfer_StatusInitial : // Transfer is prepared to do
break;
case Transfer_StatusDone : // Transfer was already done
- themessenger << " .. and Transfer done" << endl;
- return former;
+ myMessenger << " .. and Transfer done" << endl;
+ return aFormer;
case Transfer_StatusRun :
- former->SetStatusExec(Transfer_StatusLoop);
- return former;
+ aFormer->SetStatusExec(Transfer_StatusLoop);
+ return aFormer;
case Transfer_StatusError :
- if (thetrace) {
- themessenger << " *** Transfer in Error Status :" << endl;
- StartTrace (former, start, thelevel,0);
+ if (myTrace) {
+ myMessenger << " *** Transfer in Error Status :" << endl;
+ StartTrace (aFormer, theStart, myLevel,0);
}
- else StartTrace (former, start,thelevel,4);
+ else StartTrace (aFormer, theStart,myLevel,4);
Transfer_TransferFailure::Raise
("TransferProcess : Transfer in Error Status");
case Transfer_StatusLoop : // The loop is closed ...
- if (thetrace) {
- themessenger << " *** Transfer Head of Dead Loop :" << endl;
- StartTrace (former, start, thelevel,0);
+ if (myTrace) {
+ myMessenger << " *** Transfer Head of Dead Loop :" << endl;
+ StartTrace (aFormer, theStart, myLevel,0);
}
- else StartTrace (former, start,thelevel,4);
+ else StartTrace (aFormer, theStart,myLevel,4);
Transfer_TransferDeadLoop::Raise
("TransferProcess : Transfer at Head of a Dead Loop");
}
#ifdef TRANSLOG
- cout << "Transfer,level "<<thelevel<<Message_Flush;
+ cout << "Transfer,level "<<myLevel<<Message_Flush;
#endif
- former->SetStatusExec(Transfer_StatusRun);
+ aFormer->SetStatusExec(Transfer_StatusRun);
}
#ifdef TRANSLOG
cout << " GO .." << endl;
#endif
- Handle(Transfer_Binder) binder;
- Standard_Boolean newbind = Standard_False;
- if (theerrh) {
+ Handle(Transfer_Binder) aBinder;
+ Standard_Boolean isNewBind = Standard_False;
+ if (myToHandleErr) {
// Transfer under protection exceptions (for notification actually)
- Standard_Integer oldlev = thelevel;
+ Standard_Integer anOldLevel = myLevel;
try {
OCC_CATCH_SIGNALS
- binder = TransferProduct(start);
+ aBinder = TransferProduct(theStart);
}
catch (Transfer_TransferDeadLoop) {
- if (binder.IsNull()) {
- themessenger << " *** Dead Loop with no Result" << endl;
- if (thetrace) StartTrace (binder, start, thelevel-1,0);
- binder = new Transfer_VoidBinder;
- Bind (start,binder); newbind = Standard_True;
- } else if (binder->StatusExec() == Transfer_StatusLoop) {
- if (thetrace) {
- themessenger << " *** Dead Loop : Finding head of Loop :" << endl;
- StartTrace (binder, start, thelevel-1,0);
+ if (aBinder.IsNull()) {
+ myMessenger << " *** Dead Loop with no Result" << endl;
+ if (myTrace) StartTrace (aBinder, theStart, myLevel-1,0);
+ aBinder = new Transfer_VoidBinder;
+ Bind (theStart,aBinder); isNewBind = Standard_True;
+ } else if (aBinder->StatusExec() == Transfer_StatusLoop) {
+ if (myTrace) {
+ myMessenger << " *** Dead Loop : Finding head of Loop :" << endl;
+ StartTrace (aBinder, theStart, myLevel-1,0);
}
- else StartTrace (binder, start,thelevel-1,4);
+ else StartTrace (aBinder, theStart,myLevel-1,4);
Transfer_TransferFailure::Raise("TransferProcess : Head of Dead Loop");
} else {
- if (thetrace) {
- themessenger << " *** Dead Loop : Actor in Loop :" << endl;
- StartTrace (binder, start, thelevel-1,0);
+ if (myTrace) {
+ myMessenger << " *** Dead Loop : Actor in Loop :" << endl;
+ StartTrace (aBinder, theStart, myLevel-1,0);
}
}
- binder->AddFail("Transfer in dead Loop");
- thelevel = oldlev;
+ aBinder->AddFail("Transfer in dead Loop");
+ myLevel = anOldLevel;
}
catch (Standard_Failure) {
- if (binder.IsNull()) {
- themessenger << " *** Exception Raised with no Result" << endl;
- binder = new Transfer_VoidBinder;
- Bind (start,binder); newbind = Standard_True;
+ if (aBinder.IsNull()) {
+ myMessenger << " *** Exception Raised with no Result" << endl;
+ aBinder = new Transfer_VoidBinder;
+ Bind (theStart,aBinder); isNewBind = Standard_True;
}
- binder->AddFail("Transfer stopped by exception raising");
- if (thetrace) {
- themessenger << " *** Raised : " << Standard_Failure::Caught()->GetMessageString() << endl;
- StartTrace (binder, start, thelevel-1,4);
+ aBinder->AddFail("Transfer stopped by exception raising");
+ if (myTrace) {
+ myMessenger << " *** Raised : " << Standard_Failure::Caught()->GetMessageString() << endl;
+ StartTrace (aBinder, theStart, myLevel-1,4);
}
- thelevel = oldlev;
+ myLevel = anOldLevel;
}
}
- else binder = TransferProduct(start);
+ else aBinder = TransferProduct(theStart);
// Conclusion : Noter dans la Map
- if (!newbind && !binder.IsNull()) {
- if (former.IsNull()) {
- if (!IsBound(start)) Bind(start,binder); // result = 0 category
+ if (!isNewBind && !aBinder.IsNull()) {
+ if (aFormer.IsNull()) {
+ if (!IsBound(theStart)) Bind(theStart,aBinder); // result = 0 category
else { // gka TRJ9 for writing SDR for solid
- Rebind(start,binder); // test_pattern.sat
+ Rebind(theStart,aBinder); // test_pattern.sat
}
}
- else Rebind(start,binder);
+ else Rebind(theStart,aBinder);
#ifdef TRANSLOG
cout << " ... OK" << endl;
#endif
}
else
{
- //= by ABV: 5 Oct 97: nothing generated, but former can be in run state - drop it
+ //= by ABV: 5 Oct 97: nothing generated, but aFormer can be in run state - drop it
//= ASK: may be set it to StatusInitial ?
- if ( ! former.IsNull() ) former->SetStatusExec ( Transfer_StatusDone );
- Handle(Transfer_Binder) nulbinder;
- return nulbinder;
+ if ( ! aFormer.IsNull() ) aFormer->SetStatusExec ( Transfer_StatusDone );
+ Handle(Transfer_Binder) aNullBinder;
+ return aNullBinder;
}
// Manage Roots (if planned)
- if (therootl >= thelevel) {
- therootl = 0;
- if (therootm && binder->Status() != Transfer_StatusVoid) {
- SetRoot (start);
+ if (myRootLevel >= myLevel) {
+ myRootLevel = 0;
+ if (myToManageRoot && aBinder->Status() != Transfer_StatusVoid) {
+ SetRoot (theStart);
}
}
- return thelastbnd;
+ return myLastBinder;
}
- Standard_Boolean Transfer_TransientProcess::Transfer(const Handle(Standard_Transient)& start)
+ Standard_Boolean Transfer_TransientProcess::Transfer(const Handle(Standard_Transient)& theStart)
{
- Handle(Transfer_Binder) binder = Transferring(start);
- return (!binder.IsNull());
+ Handle(Transfer_Binder) aBinder = Transferring(theStart);
+ return (!aBinder.IsNull());
}
public:
//! Sets TransientProcess at initial state, with an initial size <br>
- Standard_EXPORT Transfer_TransientProcess(const Standard_Integer nb = 10000);
+ Standard_EXPORT Transfer_TransientProcess(const Standard_Integer theNb = 10000);
//! Sets an InterfaceModel, used by StartTrace, CheckList, queries <br>
//! on Integrity, to give informations significant for each norm. <br>
- Standard_EXPORT void SetModel(const Handle(Interface_InterfaceModel)& model) ;
+ Standard_EXPORT void SetModel(const Handle(Interface_InterfaceModel)& theModel) ;
//! Returns the Model used for StartTrace <br>
Standard_EXPORT Handle_Interface_InterfaceModel Model() const;
//! Sets a Graph : superseedes SetModel if already done <br>
- Standard_EXPORT void SetGraph(const Handle(Interface_HGraph)& HG) ;
+ Standard_EXPORT void SetGraph(const Handle(Interface_HGraph)& theHG) ;
Standard_EXPORT Standard_Boolean HasGraph() const;
Standard_EXPORT const Interface_Graph& Graph() const;
//! Sets a Context : according to receiving appli, to be <br>
//! interpreted by the Actor <br>
- Standard_EXPORT void SetContext (const Standard_CString name,
- const Handle(Standard_Transient)& ctx) ;
+ Standard_EXPORT void SetContext (const Standard_CString theName,
+ const Handle(Standard_Transient)& theCtx) ;
//! Returns the Context attached to a name, if set and if it is <br>
//! Kind of the type, else a Null Handle <br>
//! Returns True if OK, False if no Context <br>
- Standard_EXPORT Standard_Boolean GetContext (const Standard_CString name,
- const Handle(Standard_Type)& type,
- Handle(Standard_Transient)& ctx) const;
+ Standard_EXPORT Standard_Boolean GetContext (const Standard_CString theName,
+ const Handle(Standard_Type)& theType,
+ Handle(Standard_Transient)& theCtx) const;
//! Returns (modifiable) the whole definition of Context <br>
//! Rather for internal use (ex.: preparing and setting in once) <br>
Standard_EXPORT Handle_Dico_DictionaryOfTransient& Context() ;
//! Specific printing to trace an entity : prints label and type <br>
//! (if model is set) <br>
- Standard_EXPORT virtual void PrintTrace (const Handle(Standard_Transient)& start,
- const Handle(Message_Messenger)& S) const;
+ Standard_EXPORT virtual void PrintTrace (const Handle(Standard_Transient)& theStart,
+ const Handle(Message_Messenger)& theMessenger) const;
//! Specific number of a starting object for check-list : Number <br>
//! in model <br>
- Standard_EXPORT virtual Standard_Integer CheckNum(const Handle(Standard_Transient)& ent) const;
+ Standard_EXPORT virtual Standard_Integer CheckNum (const Handle(Standard_Transient)& theEnt) const;
//! Returns the list of sharings entities, AT ANY LEVEL, which are <br>
//! kind of a given type. Calls TypedSharings from Graph <br>
//! Returns an empty list if the Graph has not been aknowledged <br>
- Standard_EXPORT Interface_EntityIterator TypedSharings (const Handle(Standard_Transient)& start,
- const Handle(Standard_Type)& type) const;
+ Standard_EXPORT Interface_EntityIterator TypedSharings (const Handle(Standard_Transient)& theStart,
+ const Handle(Standard_Type)& theType) const;
//! Tells if an entity is well loaded from file (even if its data <br>
//! fail on checking, they are present). Mostly often, answers <br>
//! True. Else, there was a syntactic error in the file. <br>
//! A non-loaded entity MAY NOT BE transferred, unless its Report <br>
//! (in the model) is interpreted <br>
- Standard_EXPORT Standard_Boolean IsDataLoaded(const Handle(Standard_Transient)& ent) const;
+ Standard_EXPORT Standard_Boolean IsDataLoaded (const Handle(Standard_Transient)& theEnt) const;
//! Tells if an entity fails on data checking (load time, <br>
//! syntactic, or semantic check). Normally, should answer False. <br>
//! It is not prudent to try transferring an entity which fails on <br>
//! data checking <br>
- Standard_EXPORT Standard_Boolean IsDataFail(const Handle(Standard_Transient)& ent) const;
+ Standard_EXPORT Standard_Boolean IsDataFail(const Handle(Standard_Transient)& theEnt) const;
//! Prints statistics on a given output, according mode <br>
- Standard_EXPORT void PrintStats (const Standard_Integer mode,
- const Handle(Message_Messenger)& S) const;
+ Standard_EXPORT void PrintStats (const Standard_Integer theMode,
+ const Handle(Message_Messenger)& theMessenger) const;
Standard_EXPORT Handle_TColStd_HSequenceOfTransient RootsForTransfer() ;
- Standard_EXPORT Handle(Transfer_Binder) TransferProduct (const Handle(Standard_Transient)& start);
+ Standard_EXPORT Handle(Transfer_Binder) TransferProduct (const Handle(Standard_Transient)& theStart);
- Standard_EXPORT Handle(Transfer_Binder) Transferring (const Handle(Standard_Transient)& start);
+ Standard_EXPORT Handle(Transfer_Binder) Transferring (const Handle(Standard_Transient)& theStart);
- Standard_EXPORT Standard_Boolean Transfer(const Handle(Standard_Transient)& start);
+ Standard_EXPORT Standard_Boolean Transfer(const Handle(Standard_Transient)& theStart);
DEFINE_STANDARD_RTTI(Transfer_TransientProcess)
private:
- Handle_Interface_InterfaceModel themodel;
- Handle_Interface_HGraph thegraph;
- Handle_Dico_DictionaryOfTransient thectx;
- Handle_TColStd_HSequenceOfTransient thetrroots;
+ Handle_Interface_InterfaceModel myModel;
+ Handle_Interface_HGraph myGraph;
+ Handle_Dico_DictionaryOfTransient myCtx;
+ Handle_TColStd_HSequenceOfTransient theTrRoots;
};
#endif