Salome HOME
Update to match the changes in SMDS
[modules/smesh.git] / src / DriverUNV / DriverUNV_R_SMDS_Mesh.cxx
index b9de018..c6286a7 100644 (file)
@@ -3,151 +3,184 @@ using namespace std;
 
 #include "utilities.h"
 
-DriverUNV_R_SMDS_Mesh::DriverUNV_R_SMDS_Mesh() {
-;
+DriverUNV_R_SMDS_Mesh::DriverUNV_R_SMDS_Mesh()
+{
+       ;
 }
 
-DriverUNV_R_SMDS_Mesh::~DriverUNV_R_SMDS_Mesh() {
-;
+DriverUNV_R_SMDS_Mesh::~DriverUNV_R_SMDS_Mesh()
+{
+       ;
 }
 
-void DriverUNV_R_SMDS_Mesh::SetMesh(Handle(SMDS_Mesh)& aMesh) {
-  myMesh = aMesh;
+void DriverUNV_R_SMDS_Mesh::SetMesh(SMDS_Mesh * aMesh)
+{
+       myMesh = aMesh;
 }
 
-void DriverUNV_R_SMDS_Mesh::SetFile(string aFile) {
-  myFile = aFile;
+void DriverUNV_R_SMDS_Mesh::SetFile(string aFile)
+{
+       myFile = aFile;
 }
 
-void DriverUNV_R_SMDS_Mesh::SetFileId(FILE* aFileId) {
-  myFileId = aFileId;
+void DriverUNV_R_SMDS_Mesh::SetFileId(FILE * aFileId)
+{
+       myFileId = aFileId;
 }
 
-void DriverUNV_R_SMDS_Mesh::SetMeshId(int aMeshId) {
-  myMeshId = aMeshId;
+void DriverUNV_R_SMDS_Mesh::SetMeshId(int aMeshId)
+{
+       myMeshId = aMeshId;
 }
 
-void DriverUNV_R_SMDS_Mesh::Add() {
-  ;
+void DriverUNV_R_SMDS_Mesh::Add()
+{
+       ;
 }
 
-void DriverUNV_R_SMDS_Mesh::Read() {
+void DriverUNV_R_SMDS_Mesh::Read()
+{
 
-  int cell=0,node=0,n1,n2,n3,n4,n_nodes,nodes[6],blockId,i;
-  char *s1,*s2,*s3;
-  string str1,str2,str3;
-  int i1=0;
-  bool ok, found_block2411, found_block2412;
+       int cell = 0, node = 0, n1, n2, n3, n4, n_nodes, nodes[6], blockId, i;
+       char *s1, *s2, *s3;
+       string str1, str2, str3;
+       int i1 = 0;
+       bool ok, found_block2411, found_block2412;
 
   /****************************************************************************
   *                      OUVERTURE DU FICHIER EN LECTURE                      *
   ****************************************************************************/
-  char* file2Read = (char*)myFile.c_str();
-  myFileId = fopen(file2Read,"r");
-  if (myFileId < 0)
-    {
-      fprintf(stderr,">> ERREUR : ouverture du fichier %s \n",file2Read);
-      exit(EXIT_FAILURE);
-    }
-
-  s1 = (char*) malloc(sizeof(char)*100);
-  s2 = (char*) malloc(sizeof(char)*100);
-  s3 = (char*) malloc(sizeof(char)*100);
-
-  found_block2411 = false;
-  found_block2412 = false;
-
-  do {
-
-    while (i1==-1) {
-      fscanf(myFileId,"%d\n",&blockId);
-      switch (blockId) {
-      case 2411 : {
-      MESSAGE("BlockId "<<blockId);
-       fscanf(myFileId,"%d",&node);
-       //MESSAGE("Node "<<node);
-       while (node!=-1) {
-         fscanf(myFileId,"%d %d %d\n",&n1,&n2,&n3);
-         fscanf(myFileId,"%s %s %s\n",s1,s2,s3);
-         str1=string(s1);
-         str2=string(s2);
-         str3=string(s3);
-         if (str1.find("D")!=string::npos) str1.replace(str1.find("D"),1,"E");
-         if (str2.find("D")!=string::npos) str2.replace(str2.find("D"),1,"E");
-         if (str3.find("D")!=string::npos) str3.replace(str3.find("D"),1,"E");
-         ok = myMesh->AddNodeWithID(atof(str1.c_str()),atof(str2.c_str()),atof(str3.c_str()),node);
-         fscanf(myFileId,"%d",&node);
-       }
-       i1=0;
-       found_block2411 = true;
-       break;
-      }        
-      case 2412 : {
-      MESSAGE("BlockId "<<blockId);
-       fscanf(myFileId,"%d",&cell);
-       //MESSAGE("Cell "<<cell);
-       while (cell!=-1) {
-         fscanf(myFileId,"%d %d %d %d %d\n",&n1,&n2,&n3,&n4,&n_nodes);
-
-         if ((n1==71)||(n1==72)||(n1==74)||(n1==91)||(n1==92)) {//203
-           if (n_nodes==3) {
-             for (i=1;i<=n_nodes;i++)
-               fscanf(myFileId,"%d",&nodes[i-1]);
-             ok = myMesh->AddFaceWithID(nodes[0],nodes[1],nodes[2],cell);
-           }
-           else if (n_nodes==6) {//206
-             for (i=1;i<=n_nodes;i++)
-               fscanf(myFileId,"%d",&nodes[i-1]);
-             ok = myMesh->AddFaceWithID(nodes[0],nodes[2],nodes[4],cell);
-           }
-         }
-
-         else if ((n1==11)||(n1==21)||(n1==24)||(n1==25)) {//103
-           fgets(s2,100,myFileId);
-           if (n_nodes==3) {
-             for (i=1;i<=n_nodes;i++)
-               fscanf(myFileId,"%d",&nodes[i-1]);
-             ok = myMesh->AddEdgeWithID(nodes[0],nodes[1],cell);
-             //MESSAGE("in 103 "<<cell);
-           }
-           else if (n_nodes==2) {//102
-             for (i=1;i<=n_nodes;i++)
-               fscanf(myFileId,"%d",&nodes[i-1]);
-             ok = myMesh->AddEdgeWithID(nodes[0],nodes[1],cell);
-             //MESSAGE("in 102 "<<cell);
-           }
-         }
-
-         fscanf(myFileId,"\n");
-         fscanf(myFileId,"%d",&cell);
+       char *file2Read = (char *)myFile.c_str();
+       myFileId = fopen(file2Read, "r");
+       if (myFileId < 0)
+       {
+               fprintf(stderr, ">> ERREUR : ouverture du fichier %s \n", file2Read);
+               exit(EXIT_FAILURE);
        }
 
-       i1=0;
-       found_block2412 = true;
-       break;
-      }
-      case -1 : {
-       break;
-      }
-      default:
-       MESSAGE("BlockId "<<blockId);
-       i1=0;
-       break;
-      }
-    }
-  
-    fscanf(myFileId,"%s\n",s1);
-    i1 = atoi(s1);
-
-  }
-  while ((!feof(myFileId))&&((!found_block2411)||(!found_block2412)));
+       s1 = (char *)malloc(sizeof(char) * 100);
+       s2 = (char *)malloc(sizeof(char) * 100);
+       s3 = (char *)malloc(sizeof(char) * 100);
+
+       found_block2411 = false;
+       found_block2412 = false;
+
+       do
+       {
+
+               while (i1 == -1)
+               {
+                       fscanf(myFileId, "%d\n", &blockId);
+                       switch (blockId)
+                       {
+                       case 2411:
+                       {
+                               MESSAGE("BlockId " << blockId);
+                               fscanf(myFileId, "%d", &node);
+                               //MESSAGE("Node "<<node);
+                               while (node != -1)
+                               {
+                                       fscanf(myFileId, "%d %d %d\n", &n1, &n2, &n3);
+                                       fscanf(myFileId, "%s %s %s\n", s1, s2, s3);
+                                       str1 = string(s1);
+                                       str2 = string(s2);
+                                       str3 = string(s3);
+                                       if (str1.find("D") != string::npos)
+                                               str1.replace(str1.find("D"), 1, "E");
+                                       if (str2.find("D") != string::npos)
+                                               str2.replace(str2.find("D"), 1, "E");
+                                       if (str3.find("D") != string::npos)
+                                               str3.replace(str3.find("D"), 1, "E");
+                                       ok = myMesh->AddNodeWithID(atof(str1.c_str()),
+                                               atof(str2.c_str()), atof(str3.c_str()), node);
+                                       fscanf(myFileId, "%d", &node);
+                               }
+                               i1 = 0;
+                               found_block2411 = true;
+                               break;
+                       }
+                       case 2412:
+                       {
+                               MESSAGE("BlockId " << blockId);
+                               fscanf(myFileId, "%d", &cell);
+                               //MESSAGE("Cell "<<cell);
+                               while (cell != -1)
+                               {
+                                       fscanf(myFileId, "%d %d %d %d %d\n", &n1, &n2, &n3, &n4,
+                                               &n_nodes);
+
+                                       if ((n1 == 71) || (n1 == 72) || (n1 == 74) || (n1 == 91) ||
+                                               (n1 == 92))
+                                       {                       //203
+                                               if (n_nodes == 3)
+                                               {
+                                                       for (i = 1; i <= n_nodes; i++)
+                                                               fscanf(myFileId, "%d", &nodes[i - 1]);
+                                                       ok = myMesh->AddFaceWithID(nodes[0], nodes[1],
+                                                               nodes[2], cell);
+                                               }
+                                               else if (n_nodes == 6)
+                                               {               //206
+                                                       for (i = 1; i <= n_nodes; i++)
+                                                               fscanf(myFileId, "%d", &nodes[i - 1]);
+                                                       ok = myMesh->AddFaceWithID(nodes[0], nodes[2],
+                                                               nodes[4], cell);
+                                               }
+                                       }
+
+                                       else if ((n1 == 11) || (n1 == 21) || (n1 == 24) ||
+                                               (n1 == 25))
+                                       {                       //103
+                                               fgets(s2, 100, myFileId);
+                                               if (n_nodes == 3)
+                                               {
+                                                       for (i = 1; i <= n_nodes; i++)
+                                                               fscanf(myFileId, "%d", &nodes[i - 1]);
+                                                       ok = myMesh->AddEdgeWithID(nodes[0], nodes[1],
+                                                               cell);
+                                                       //MESSAGE("in 103 "<<cell);
+                                               }
+                                               else if (n_nodes == 2)
+                                               {               //102
+                                                       for (i = 1; i <= n_nodes; i++)
+                                                               fscanf(myFileId, "%d", &nodes[i - 1]);
+                                                       ok = myMesh->AddEdgeWithID(nodes[0], nodes[1],
+                                                               cell);
+                                                       //MESSAGE("in 102 "<<cell);
+                                               }
+                                       }
+
+                                       fscanf(myFileId, "\n");
+                                       fscanf(myFileId, "%d", &cell);
+                               }
+
+                               i1 = 0;
+                               found_block2412 = true;
+                               break;
+                       }
+                       case -1:
+                       {
+                               break;
+                       }
+                       default:
+                               MESSAGE("BlockId " << blockId);
+                               i1 = 0;
+                               break;
+                       }
+               }
+
+               fscanf(myFileId, "%s\n", s1);
+               i1 = atoi(s1);
+
+       }
+       while ((!feof(myFileId)) && ((!found_block2411) || (!found_block2412)));
 
   /****************************************************************************
   *                      FERMETURE DU FICHIER                      *
   ****************************************************************************/
-  free(s1);
-  free(s2);
-  free(s3);
-  fclose(myFileId);
+       free(s1);
+       free(s2);
+       free(s3);
+       fclose(myFileId);
 
 }