Salome HOME
Join BR-D5-38-2003
[modules/smesh.git] / src / DriverMED / DriverMED_W_SMESHDS_Mesh.cxx
index 322b5efc1a5ad7ba564d30df5f4ed1ac17fbff5e..9072221a1f3f26e1e87ac19bccab84fa971360d8 100644 (file)
@@ -110,50 +110,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{
@@ -321,12 +329,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 *>::const_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
@@ -365,8 +372,9 @@ Driver_Mesh::Status DriverMED_W_SMESHDS_Mesh::Perform()
     const ERepere SMDS_COORDINATE_SYSTEM = eCART;
 
     PNodeInfo aNodeInfo = myMed->CrNodeInfo(aMeshInfo,
-                                           SMDS_COORDINATE_SYSTEM,
                                            aCoordinates,
+                                           eFULL_INTERLACE,
+                                           SMDS_COORDINATE_SYSTEM,
                                            aCoordNames,
                                            aCoordUnits,
                                            aFamilyNums,
@@ -413,8 +421,8 @@ Driver_Mesh::Status DriverMED_W_SMESHDS_Mesh::Perform()
       PCellInfo aCellInfo = myMed->CrCellInfo(aMeshInfo,
                                              SMDS_MED_ENTITY,
                                              eSEG2,
-                                             SMDS_MED_CONNECTIVITY,
                                              aConnectivity,
+                                             SMDS_MED_CONNECTIVITY,
                                              aFamilyNums,
                                              anElemNums);
       myMed->SetCellInfo(aCellInfo);
@@ -524,8 +532,8 @@ Driver_Mesh::Status DriverMED_W_SMESHDS_Mesh::Perform()
        PCellInfo aCellInfo = myMed->CrCellInfo(aMeshInfo,
                                                SMDS_MED_ENTITY,
                                                eTRIA3,
-                                               SMDS_MED_CONNECTIVITY,
                                                aTriaConn,
+                                               SMDS_MED_CONNECTIVITY,
                                                aTriaFamilyNums,
                                                anTriaElemNums);
        MESSAGE("Perform - anEntity = "<<SMDS_MED_ENTITY<<"; aGeom = "<<eTRIA3<<"; aNbElems = "<<aNbElems);
@@ -535,8 +543,8 @@ Driver_Mesh::Status DriverMED_W_SMESHDS_Mesh::Perform()
        PCellInfo aCellInfo = myMed->CrCellInfo(aMeshInfo,
                                                SMDS_MED_ENTITY,
                                                eQUAD4,
-                                               SMDS_MED_CONNECTIVITY,
                                                aQuadConn,
+                                               SMDS_MED_CONNECTIVITY,
                                                aQuadFamilyNums,
                                                aQuadElemNums);
        MESSAGE("Perform - anEntity = "<<SMDS_MED_ENTITY<<"; aGeom = "<<eQUAD4<<"; aNbElems = "<<aNbElems);
@@ -550,9 +558,9 @@ Driver_Mesh::Status DriverMED_W_SMESHDS_Mesh::Perform()
        PPolygoneInfo aCellInfo = myMed->CrPolygoneInfo(aMeshInfo,
                                                         SMDS_MED_ENTITY,
                                                         ePOLYGONE,
-                                                        SMDS_MED_CONNECTIVITY,
                                                         aPolygoneConn,
                                                         aPolygoneInds,
+                                                        SMDS_MED_CONNECTIVITY,
                                                         aPolygoneFamilyNums,
                                                         aPolygoneElemNums);
        MESSAGE("Perform - anEntity = "<<SMDS_MED_ENTITY<<"; aGeom = "<<ePOLYGONE<<"; aNbElems = "<<aNbElems);
@@ -714,8 +722,8 @@ Driver_Mesh::Status DriverMED_W_SMESHDS_Mesh::Perform()
        PCellInfo aCellInfo = myMed->CrCellInfo(aMeshInfo,
                                                SMDS_MED_ENTITY,
                                                eTETRA4,
-                                               SMDS_MED_CONNECTIVITY,
                                                aTetraConn,
+                                               SMDS_MED_CONNECTIVITY,
                                                aTetraFamilyNums,
                                                anTetraElemNums);
        MESSAGE("Perform - anEntity = "<<SMDS_MED_ENTITY<<"; aGeom = "<<eTETRA4<<"; aNbElems = "<<aNbElems);
@@ -725,8 +733,8 @@ Driver_Mesh::Status DriverMED_W_SMESHDS_Mesh::Perform()
        PCellInfo aCellInfo = myMed->CrCellInfo(aMeshInfo,
                                                SMDS_MED_ENTITY,
                                                ePYRA5,
-                                               SMDS_MED_CONNECTIVITY,
                                                aPyraConn,
+                                               SMDS_MED_CONNECTIVITY,
                                                aPyraFamilyNums,
                                                anPyraElemNums);
        MESSAGE("Perform - anEntity = "<<SMDS_MED_ENTITY<<"; aGeom = "<<ePYRA5<<"; aNbElems = "<<aNbElems);
@@ -736,8 +744,8 @@ Driver_Mesh::Status DriverMED_W_SMESHDS_Mesh::Perform()
        PCellInfo aCellInfo = myMed->CrCellInfo(aMeshInfo,
                                                SMDS_MED_ENTITY,
                                                ePENTA6,
-                                               SMDS_MED_CONNECTIVITY,
                                                aPentaConn,
+                                               SMDS_MED_CONNECTIVITY,
                                                aPentaFamilyNums,
                                                anPentaElemNums);
        MESSAGE("Perform - anEntity = "<<SMDS_MED_ENTITY<<"; aGeom = "<<ePENTA6<<"; aNbElems = "<<aNbElems);
@@ -747,8 +755,8 @@ Driver_Mesh::Status DriverMED_W_SMESHDS_Mesh::Perform()
        PCellInfo aCellInfo = myMed->CrCellInfo(aMeshInfo,
                                                SMDS_MED_ENTITY,
                                                eHEXA8,
-                                               SMDS_MED_CONNECTIVITY,
                                                aHexaConn,
+                                               SMDS_MED_CONNECTIVITY,
                                                aHexaFamilyNums,
                                                aHexaElemNums);
        MESSAGE("Perform - anEntity = "<<SMDS_MED_ENTITY<<"; aGeom = "<<eHEXA8<<"; aNbElems = "<<aNbElems);
@@ -762,10 +770,10 @@ Driver_Mesh::Status DriverMED_W_SMESHDS_Mesh::Perform()
        PPolyedreInfo aCellInfo = myMed->CrPolyedreInfo(aMeshInfo,
                                                         SMDS_MED_ENTITY,
                                                         ePOLYEDRE,
-                                                        SMDS_MED_CONNECTIVITY,
-                                                        aPolyedreConn,
-                                                        aPolyedreFaces,
                                                         aPolyedreInds,
+                                                        aPolyedreFaces,
+                                                        aPolyedreConn,
+                                                        SMDS_MED_CONNECTIVITY,
                                                         aPolyedreFamilyNums,
                                                         aPolyedreElemNums);
        MESSAGE("Perform - anEntity = "<<SMDS_MED_ENTITY<<"; aGeom = "<<ePOLYEDRE<<"; aNbElems = "<<aNbElems);