Salome HOME
fix for the size map files writing
authorrnc <rnc@opencascade.com>
Thu, 6 Jun 2013 14:31:48 +0000 (14:31 +0000)
committerrnc <rnc@opencascade.com>
Thu, 6 Jun 2013 14:31:48 +0000 (14:31 +0000)
src/DriverGMF/DriverGMF_Write.cxx
src/DriverGMF/DriverGMF_Write.hxx

index ea28f31cf96f5edc33229d1f1c6c744094ee7a9b..691405f3b2bf3962a3610bfeee9d0fa8bed2081f 100644 (file)
@@ -396,26 +396,31 @@ Driver_Mesh::Status DriverGMF_Write::PerformSizeMap()
   // Vertices Keyword
   GmfSetKwd( meshID, GmfVertices, mySizeMapVerticesNumber );
   double xyz[3];
-  std::list<TLocalSize>::iterator sizes_it;
-  std::list<SMESHDS_Mesh*>::iterator meshes_it;
+  std::vector<SMESHDS_Mesh*>::iterator meshes_it;
   SMESHDS_Mesh* aMesh;
-  for ( sizes_it = myLocalSizes.begin(), meshes_it = mySizeMapMeshes.begin()
-       ; sizes_it != myLocalSizes.end()
-       ; sizes_it++, meshes_it++ )
+  
+  // Iterate on size map meshes
+  for (meshes_it = mySizeMapMeshes.begin(); meshes_it != mySizeMapMeshes.end(); meshes_it++ )
   {
     aMesh= *meshes_it;
     SMDS_NodeIteratorPtr nodeIt = aMesh->nodesIterator();
+    
+    // Iterate on the nodes of the mesh and write their coordinates under the GmfVertices keyword
     while ( nodeIt->more() )
     {
       const SMDS_MeshNode* n = nodeIt->next();
       n->GetXYZ( xyz );
       GmfSetLin( meshID, GmfVertices, xyz[0], xyz[1], xyz[2], n->getshapeId() );
     }
-    
-    // solAtVertices Keyword
-    int TypTab[] = {GmfSca};
-    GmfSetKwd(meshID, GmfSolAtVertices, mySizeMapVerticesNumber, 1, TypTab);
+  }
+  // SolAtVertices Keyword
+  int TypTab[] = {GmfSca};
+  GmfSetKwd(meshID, GmfSolAtVertices, mySizeMapVerticesNumber, 1, TypTab);
   
+  std::vector<TLocalSize>::iterator sizes_it; 
+  for ( sizes_it = myLocalSizes.begin(); sizes_it != myLocalSizes.end(); sizes_it++ )
+  {
     for ( int i = 1; i <= sizes_it->nbNodes; i++ )
     {
       double ValTab[] = {sizes_it->size};
index a1779a6740dad5ad3a2965271ed7a269a5c66a13..36d3b230a15dce7e7a3d361f2127722b9d9d6605 100644 (file)
@@ -77,8 +77,8 @@ public:
 
   bool _exportRequiredGroups;
   int mySizeMapVerticesNumber;
-  std::list<SMESHDS_Mesh*> mySizeMapMeshes;
-  std::list<TLocalSize> myLocalSizes;
+  std::vector<SMESHDS_Mesh*> mySizeMapMeshes;
+  std::vector<TLocalSize> myLocalSizes;
 };
 
 #endif