Salome HOME
PAL10595. Problem in MED driver with units ands coordinates system length
authoreap <eap@opencascade.com>
Tue, 21 Feb 2006 09:32:23 +0000 (09:32 +0000)
committereap <eap@opencascade.com>
Tue, 21 Feb 2006 09:32:23 +0000 (09:32 +0000)
src/DriverMED/DriverMED_W_SMESHDS_Mesh.cxx

index edd5418c4cb574a0b54a2924ad12c5b636e920d2..fba15f45ff09f7ea8adf195bf6547d8528bdf5ae 100644 (file)
@@ -108,50 +108,58 @@ namespace{
   typedef double (SMDS_MeshNode::* TGetCoord)() const;
   typedef const char* TName;
   typedef const char* TUnit;
-  
-  TUnit aUnit[3] = {"m","m","m"};
 
+  // name length in a mesh must be equal to 16 :
+  //         1234567890123456
+  TName M = "m               ";
+  TName X = "x               ";
+  TName Y = "y               ";
+  TName Z = "z               ";
+
+  TUnit aUnit[3] = {M,M,M};
+
+  // 3 dim
   TGetCoord aXYZGetCoord[3] = {
     &SMDS_MeshNode::X, 
     &SMDS_MeshNode::Y, 
     &SMDS_MeshNode::Z
   };
-  TName aXYZName[3] = {"x","y","z"};
-  
+  TName aXYZName[3] = {X,Y,Z};
   
+  // 2 dim
   TGetCoord aXYGetCoord[2] = {
     &SMDS_MeshNode::X, 
     &SMDS_MeshNode::Y
   };
-  TName aXYName[2] = {"x","y"};
+  TName aXYName[2] = {X,Y};
 
   TGetCoord aYZGetCoord[2] = {
     &SMDS_MeshNode::Y, 
     &SMDS_MeshNode::Z
   };
-  TName aYZName[2] = {"y","z"};
+  TName aYZName[2] = {Y,Z};
 
   TGetCoord aXZGetCoord[2] = {
     &SMDS_MeshNode::X, 
     &SMDS_MeshNode::Z
   };
-  TName aXZName[2] = {"x","z"};
-
+  TName aXZName[2] = {X,Z};
 
+  // 1 dim
   TGetCoord aXGetCoord[1] = {
     &SMDS_MeshNode::X
   };
-  TName aXName[1] = {"x"};
+  TName aXName[1] = {X};
 
   TGetCoord aYGetCoord[1] = {
     &SMDS_MeshNode::Y
   };
-  TName aYName[1] = {"y"};
+  TName aYName[1] = {Y};
 
   TGetCoord aZGetCoord[1] = {
     &SMDS_MeshNode::Z
   };
-  TName aZName[1] = {"z"};
+  TName aZName[1] = {Z};
 
 
   class TCoordHelper{
@@ -319,12 +327,11 @@ Driver_Mesh::Status DriverMED_W_SMESHDS_Mesh::Perform()
       int aFamId = (*aFamsIter)->GetId();
 
       const set<const SMDS_MeshElement *>& anElems = (*aFamsIter)->GetElements();
-      set<const SMDS_MeshElement *>::iterator anElemsIter = anElems.begin();
+      set<const SMDS_MeshElement *>::const_iterator anElemsIter = anElems.begin();
       for (; anElemsIter != anElems.end(); anElemsIter++)
       {
         anElemFamMap[*anElemsIter] = aFamId;
       }
-//      delete (*aFamsIter);
     }
 
     // Storing SMDS nodes to the MED file for the MED mesh