]> SALOME platform Git repositories - modules/visu.git/commitdiff
Salome HOME
To implement VTK to Object ID mapping
authorapo <apo@opencascade.com>
Thu, 25 Aug 2005 11:46:53 +0000 (11:46 +0000)
committerapo <apo@opencascade.com>
Thu, 25 Aug 2005 11:46:53 +0000 (11:46 +0000)
src/CONVERTOR/VISU_Convertor_impl.hxx
src/CONVERTOR/VISU_MedConvertor.cxx

index 5d513381620acec073883b98966a6d5ae117cfc4..ae52155ed08dc5636e75076765582298db787917 100644 (file)
@@ -208,11 +208,13 @@ namespace VISU
 
 
   //---------------------------------------------------------------
-  typedef std::map<vtkIdType,PGaussSubMesh> TGeom2GaussSubMesh;
+  typedef std::vector<PGaussSubMeshImpl> TGaussSubMeshArr;
+  typedef std::map<vtkIdType,PGaussSubMeshImpl> TGeom2GaussSubMesh;
 
   struct TGaussMeshImpl: virtual TGaussMesh, virtual TAppendFilter
   {
     TGaussMeshImpl();
+    TGaussSubMeshArr myGaussSubMeshArr;
     TGeom2GaussSubMesh myGeom2GaussSubMesh;
   };
   typedef SharedPtr<TGaussMeshImpl> PGaussMeshImpl;
index 43b842de6a2fa8d7c68365350b792825aa49d49f..358bad43e415a9fd4706d96760afec2a5d60b9b6 100644 (file)
@@ -349,13 +349,23 @@ namespace
     }else{
       PMEDGaussMesh aGaussMesh(new TMEDGaussMesh());
       TGeom2GaussSubMesh& aGeom2GaussSubMesh = aGaussMesh->myGeom2GaussSubMesh;
-      
-      TGaussKey::const_iterator anIter = aGaussKey.begin();
-      for(; anIter != aGaussKey.end(); anIter++){
-       PMEDGaussSubMesh aGaussSubMesh(*anIter);
-       PMEDGauss aGauss = aGaussSubMesh->myGauss;
-       vtkIdType aVGeom = aGauss->myGeom;
-       aGeom2GaussSubMesh[aVGeom] = aGaussSubMesh;
+      {
+       TGaussKey::const_iterator anIter = aGaussKey.begin();
+       for(; anIter != aGaussKey.end(); anIter++){
+         PMEDGaussSubMesh aGaussSubMesh(*anIter);
+         PMEDGauss aGauss = aGaussSubMesh->myGauss;
+         vtkIdType aVGeom = aGauss->myGeom;
+         aGeom2GaussSubMesh[aVGeom] = aGaussSubMesh;
+       }
+      }
+      {
+       TGaussSubMeshArr& aGaussSubMeshArr = aGaussMesh->myGaussSubMeshArr;
+       aGaussSubMeshArr.resize(aGeom2GaussSubMesh.size());
+       TGeom2GaussSubMesh::const_iterator anIter = aGeom2GaussSubMesh.begin();
+       for(TInt anID = 0; anIter != aGeom2GaussSubMesh.end(); anIter++, anID++){
+         const PGaussSubMeshImpl& aGaussSubMesh = anIter->second;
+         aGaussSubMeshArr[anID] = aGaussSubMesh;
+       }
       }
       aGaussMeshMap[aGaussKey] = aGaussMesh;
       theValForTime.myGaussMesh = aGaussMesh;