using namespace std; #include "DriverUNV_R_SMDS_Mesh.h" #include "utilities.h" 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::SetFile(string aFile) { myFile = aFile; } 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::Add() { ; } 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; /**************************************************************************** * 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 "<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 "<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 "<AddEdgeWithID(nodes[0],nodes[1],cell); //MESSAGE("in 102 "<