Salome HOME
Join modifications from branch OCC_development_for_3_2_0a2
[modules/visu.git] / src / CONVERTOR / VISU_Convertor_impl.cxx
index ba2a8ad5a02b542fc21907c9bb9f915c677b9111..8d1fe336eba9086ae6cb4f4679757a6beab0a9f3 100644 (file)
@@ -326,11 +326,11 @@ namespace VISU
     if(myIsAll)
       return myMeshOnEntity->GetElemObjID(theID);
 
-    vtkIdType anInputID;
+    vtkIdType anInputID, aStartID, anInputDataSetID;
     const TVTKAppendFilter& anAppendFilter = GetFilter();
-    vtkIdType aID = anAppendFilter->GetCellInputID(theID,anInputID);
-    PSubProfileImpl aSubProfileImpl = mySubProfileArr[anInputID];
-    return aSubProfileImpl->GetElemObjID(aID);
+    anAppendFilter->GetCellInputID(theID,anInputID,aStartID,anInputDataSetID);
+    PSubProfileImpl aSubProfileImpl = mySubProfileArr[anInputDataSetID];
+    return aSubProfileImpl->GetElemObjID(anInputID);
   }
 
   vtkIdType
@@ -383,12 +383,12 @@ namespace VISU
     if(myIsAll)
       return myMeshOnEntity->GetElemName(theObjID);
 
-    vtkIdType anInputID;
     vtkIdType aVTKId = GetElemVTKID(theObjID);
+    vtkIdType anInputID, aStartID, anInputDataSetID;
     const TVTKAppendFilter& anAppendFilter = GetFilter();
-    vtkIdType aSubID = anAppendFilter->GetCellInputID(aVTKId,anInputID);
-    PSubProfileImpl aSubProfileImpl = mySubProfileArr[anInputID];
-    vtkIdType anEntityObjId = aSubProfileImpl->GetElemObjID(aSubID);
+    anAppendFilter->GetCellInputID(aVTKId,anInputID,aStartID,anInputDataSetID);
+    PSubProfileImpl aSubProfileImpl = mySubProfileArr[anInputDataSetID];
+    vtkIdType anEntityObjId = aSubProfileImpl->GetElemObjID(anInputID);
     return myMeshOnEntity->GetElemName(anEntityObjId);
   }
 
@@ -475,9 +475,10 @@ namespace VISU
   
   TGaussPointID
   TGaussSubMeshImpl
-  ::GetObjID(vtkIdType theID) const
+  ::GetObjID(vtkIdType theID,
+            vtkIdType theStartID) const
   {
-    TCellID aCellID = theID / myGauss->myNbPoints;
+    TCellID aCellID = theStartID + theID / myGauss->myNbPoints;
     TLocalPntID aLocalPntID = theID % myGauss->myNbPoints;
     
     return TGaussPointID(aCellID,aLocalPntID);
@@ -514,12 +515,12 @@ namespace VISU
   TGaussMeshImpl
   ::GetObjID(vtkIdType theID) const
   {
+    vtkIdType anInputID, aStartId, anInputDataSetID;
     const TVTKAppendFilter& anAppendFilter = GetFilter();
-    vtkIdType anInputDataSetID;
-    vtkIdType anInputID = anAppendFilter->GetCellInputID(theID,anInputDataSetID);
+    anAppendFilter->GetCellInputID(theID,anInputID,aStartId,anInputDataSetID);
     const TGaussSubMeshImpl& aSubMeshImpl = myGaussSubMeshArr[anInputDataSetID];
 
-    return aSubMeshImpl.GetObjID(anInputID);
+    return aSubMeshImpl.GetObjID(anInputID,aStartId);
   }
   
   TVTKOutput* 
@@ -601,11 +602,11 @@ namespace VISU
   TMeshOnEntityImpl
   ::GetElemObjID(vtkIdType theID) const
   {
-    vtkIdType anInputID;
+    vtkIdType anInputID, aStartId, anInputDataSetID;
     const TVTKAppendFilter& anAppendFilter = GetFilter();
-    vtkIdType aID = anAppendFilter->GetCellInputID(theID,anInputID);
-    const PSubMeshImpl& aSubMesh = mySubMeshArr[anInputID];
-    return aSubMesh->GetElemObjID(aID);
+    anAppendFilter->GetCellInputID(theID,anInputID,aStartId,anInputDataSetID);
+    const PSubMeshImpl& aSubMesh = mySubMeshArr[anInputDataSetID];
+    return aSubMesh->GetElemObjID(anInputID);
   }
 
   std::string 
@@ -620,11 +621,11 @@ namespace VISU
   ::GetElemName(vtkIdType theObjID) const
   {
     vtkIdType aVTKId = GetElemVTKID(theObjID);
-    vtkIdType anInputID;
+    vtkIdType anInputID, aStartId, anInputDataSetID;
     const TVTKAppendFilter& anAppendFilter = GetFilter();
-    vtkIdType aSubID = anAppendFilter->GetCellInputID(aVTKId,anInputID);
-    const PSubMeshImpl& aSubMesh = mySubMeshArr[anInputID];
-    return aSubMesh->GetElemName(aSubID);
+    anAppendFilter->GetCellInputID(aVTKId,anInputID,aStartId,anInputDataSetID);
+    const PSubMeshImpl& aSubMesh = mySubMeshArr[anInputDataSetID];
+    return aSubMesh->GetElemName(anInputID);
   }
 
   //---------------------------------------------------------------
@@ -704,11 +705,11 @@ namespace VISU
   TGroupImpl
   ::GetElemObjID(vtkIdType theID) const
   {
-    vtkIdType anInputID;
+    vtkIdType anInputID, aStartId, anInputDataSetID;
     const TVTKAppendFilter& anAppendFilter = GetFilter();
-    vtkIdType anID = anAppendFilter->GetCellInputID(theID,anInputID);
-    const PFamilyImpl& aFamily = myFamilyArr[anInputID];
-    return aFamily->GetElemObjID(anID);
+    anAppendFilter->GetCellInputID(theID,anInputID,aStartId,anInputDataSetID);
+    const PFamilyImpl& aFamily = myFamilyArr[anInputDataSetID];
+    return aFamily->GetElemObjID(anInputID);
   }
 
   vtkIdType