-
- 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);
-