0027349: XtControl_Reader is not thread-safe
[occt.git] / src / STEPControl / STEPControl_Reader.cxx
index a40a32a..c2d3032 100644 (file)
@@ -38,7 +38,6 @@
 #include <StepBasic_SolidAngleMeasureWithUnit.hxx>
 #include <StepBasic_SolidAngleUnit.hxx>
 #include <STEPConstruct_UnitContext.hxx>
-#include <STEPControl_ActorRead.hxx>
 #include <STEPControl_Controller.hxx>
 #include <STEPControl_Reader.hxx>
 #include <StepData_StepModel.hxx>
@@ -198,7 +197,7 @@ Standard_Integer STEPControl_Reader::NbRootsForTransfer()
       //}
       if (IsRoot) {
         theroots.Append(ent);
-        WS()->MapReader()->RootsForTransfer()->Append(ent);
+        WS()->TransferReader()->TransientProcess()->RootsForTransfer()->Append(ent);
       }
     }
     TCollection_AsciiString aProdMode = Interface_Static::CVal("read.step.product.mode");
@@ -232,7 +231,7 @@ Standard_Integer STEPControl_Reader::NbRootsForTransfer()
         }
         if(IsRoot) {
           theroots.Append(ent);
-          WS()->MapReader()->RootsForTransfer()->Append(ent);
+          WS()->TransferReader()->TransientProcess()->RootsForTransfer()->Append(ent);
         }
       }
       if(ent->IsKind(STANDARD_TYPE(StepShape_ShapeRepresentation))) {
@@ -285,7 +284,7 @@ Standard_Integer STEPControl_Reader::NbRootsForTransfer()
         }
         if(IsRoot) {
           theroots.Append(ent);
-          WS()->MapReader()->RootsForTransfer()->Append(ent);
+          WS()->TransferReader()->TransientProcess()->RootsForTransfer()->Append(ent);
         }
       }
     }
@@ -317,8 +316,7 @@ void STEPControl_Reader::FileUnits( TColStd_SequenceOfAsciiString& theUnitLength
   const Interface_Graph& graph = WS()->Graph();
   TColStd_MapOfAsciiString aMapUnits[3];
 
-  Standard_Integer i =1;
-  for( ; i <= nbroots; i++)
+  for(Standard_Integer i = 1; i <= nbroots; i++)
   {
     Handle(Standard_Transient) anEnt = theroots(i);
     Standard_Integer num   = graph.EntityNumber(anEnt);
@@ -391,11 +389,11 @@ void STEPControl_Reader::FileUnits( TColStd_SequenceOfAsciiString& theUnitLength
   //for case when units was not found through PDF or SDR
   if(theUnitLengthNames.IsEmpty())
   {
-    Handle(Interface_InterfaceModel) aModel = WS()->Model();
+    const Handle(Interface_InterfaceModel) &aModel = WS()->Model();
     if(aModel.IsNull())
       return;
-    Standard_Integer i = 1, nb = aModel->NbEntities();
-    for( ; i <= nb; i++)
+    Standard_Integer nb = aModel->NbEntities();
+    for(Standard_Integer i = 1; i <= nb; i++)
     {
       Handle(Standard_Transient) anEnt = aModel->Value(i);
       Handle(StepRepr_RepresentationContext) aRepCont = Handle(StepRepr_RepresentationContext)::DownCast(anEnt);