diff --git a/Geo/GModelIO_Geo.cpp b/Geo/GModelIO_Geo.cpp index cd81571d3870883df571e650af6046f26cf596d9..f2a6fab26d6d7be5f6faef2bef556513ced35026 100644 --- a/Geo/GModelIO_Geo.cpp +++ b/Geo/GModelIO_Geo.cpp @@ -1,4 +1,4 @@ -// $Id: GModelIO_Geo.cpp,v 1.9 2007-03-11 20:18:58 geuzaine Exp $ +// $Id: GModelIO_Geo.cpp,v 1.10 2007-03-13 09:25:50 geuzaine Exp $ // // Copyright (C) 1997-2007 C. Geuzaine, J.-F. Remacle // @@ -279,8 +279,7 @@ class writeGFaceGEO { num.push_back((*it)->tag()); for(std::list<int>::iterator it = orientations.begin(); it != orientations.end(); it++) ori.push_back((*it) > 0 ? 1 : -1); - int NUMLOOP = gf->tag() + 1000000; - fprintf(geo, "Line Loop (%d) = ", NUMLOOP); + fprintf(geo, "Line Loop (%d) = ", gf->tag()); for(unsigned int i = 0; i < num.size(); i++){ if(i) fprintf(geo, ", %d", num[i] * ori[i]); @@ -289,10 +288,10 @@ class writeGFaceGEO { } fprintf(geo, "};\n"); if(gf->geomType() == GEntity::Plane){ - fprintf(geo, "Plane Surface (%d) = {%d};\n", gf->tag(), NUMLOOP); + fprintf(geo, "Plane Surface (%d) = {%d};\n", gf->tag(), gf->tag()); } else if(edges.size() == 3 || edges.size() == 4){ - fprintf(geo, "Ruled Surface (%d) = {%d};\n", gf->tag(), NUMLOOP); + fprintf(geo, "Ruled Surface (%d) = {%d};\n", gf->tag(), gf->tag()); } else{ Msg(GERROR, "Skipping surface %d in export", gf->tag()); @@ -312,8 +311,7 @@ class writeGRegionGEO { std::list<GFace*> faces = gr->faces(); if(faces.size()){ - int NUMLOOP = gr->tag() + 1000000; - fprintf(geo, "Surface Loop (%d) = ", NUMLOOP); + fprintf(geo, "Surface Loop (%d) = ", gr->tag()); for(std::list<GFace*>::iterator it = faces.begin(); it != faces.end(); it++) { if(it != faces.begin()) fprintf(geo, ", %d", (*it)->tag()); @@ -321,7 +319,7 @@ class writeGRegionGEO { fprintf(geo, "{%d", (*it)->tag()); } fprintf(geo, "};\n"); - fprintf(geo, "Volume (%d) = {%d};\n", gr->tag(), NUMLOOP); + fprintf(geo, "Volume (%d) = {%d};\n", gr->tag(), gr->tag()); } } }; diff --git a/Geo/GModelIO_Mesh.cpp b/Geo/GModelIO_Mesh.cpp index c1ea5a461a58fd534117b95010f22ca5b57827c2..4f2fecbcd33685559e859681439d474b26f4854c 100644 --- a/Geo/GModelIO_Mesh.cpp +++ b/Geo/GModelIO_Mesh.cpp @@ -1,4 +1,4 @@ -// $Id: GModelIO_Mesh.cpp,v 1.10 2007-03-11 20:18:58 geuzaine Exp $ +// $Id: GModelIO_Mesh.cpp,v 1.11 2007-03-13 09:25:50 geuzaine Exp $ // // Copyright (C) 1997-2007 C. Geuzaine, J.-F. Remacle // @@ -217,10 +217,10 @@ static int getNumVerticesForElementTypeMSH(int type) case MSH_TRI_3 : return 3; case MSH_TRI_6 : return 3 + 3; case MSH_TRI_9 : return 3 + 6; - case MSH_TRI_10 : return 3 + 6 + 1; - case MSH_TRI_12 : return 3 + 9; - case MSH_TRI_15 : return 3 + 9 + 3; - case MSH_TRI_15I : return 3 + 12; + case MSH_TRI_10 : return 3 + 6 + 1; + case MSH_TRI_12 : return 3 + 9; + case MSH_TRI_15 : return 3 + 9 + 3; + case MSH_TRI_15I: return 3 + 12; case MSH_TRI_21 : return 3 + 12 + 6; case MSH_QUA_4 : return 4; case MSH_QUA_8 : return 4 + 4; @@ -259,12 +259,12 @@ static void createElementMSH(GModel *m, int num, int type, int physical, case MSH_LIN_6: elem[0][reg].push_back(new MLineN(v, num, part)); dim = 1; break; case MSH_TRI_3: elem[1][reg].push_back(new MTriangle(v, num, part)); dim = 2; break; case MSH_TRI_6: elem[1][reg].push_back(new MTriangle6(v, num, part)); dim = 2; break; - case MSH_TRI_9: elem[1][reg].push_back(new MTriangleN(v, 3, num, part)); dim = 2; break; - case MSH_TRI_10: elem[1][reg].push_back(new MTriangleN(v, 3, num, part)); dim = 2; break; - case MSH_TRI_12: elem[1][reg].push_back(new MTriangleN(v, 4, num, part)); dim = 2; break; - case MSH_TRI_15: elem[1][reg].push_back(new MTriangleN(v, 4, num, part)); dim = 2; break; - case MSH_TRI_15I:elem[1][reg].push_back(new MTriangleN(v, 5, num, part)); dim = 2; break; - case MSH_TRI_21: elem[1][reg].push_back(new MTriangleN(v, 5, num, part)); dim = 2; break; + case MSH_TRI_9: elem[1][reg].push_back(new MTriangleN(v, 3, num, part)); dim = 2; break; + case MSH_TRI_10: elem[1][reg].push_back(new MTriangleN(v, 3, num, part)); dim = 2; break; + case MSH_TRI_12: elem[1][reg].push_back(new MTriangleN(v, 4, num, part)); dim = 2; break; + case MSH_TRI_15: elem[1][reg].push_back(new MTriangleN(v, 4, num, part)); dim = 2; break; + case MSH_TRI_15I:elem[1][reg].push_back(new MTriangleN(v, 5, num, part)); dim = 2; break; + case MSH_TRI_21: elem[1][reg].push_back(new MTriangleN(v, 5, num, part)); dim = 2; break; case MSH_QUA_4: elem[2][reg].push_back(new MQuadrangle(v, num, part)); dim = 2; break; case MSH_QUA_8: elem[2][reg].push_back(new MQuadrangle8(v, num, part)); dim = 2; break; case MSH_QUA_9: elem[2][reg].push_back(new MQuadrangle9(v, num, part)); dim = 2; break; @@ -1959,7 +1959,7 @@ int GModel::readP3D(const std::string &name) for(int j = 0; j < Nj[n]; j++){ for(int k = 0; k < Nk[n]; k++){ double d; - if(fscanf(fp, "%lf", &d) != 1){printf("aaa\n"); return 0;} + if(fscanf(fp, "%lf", &d) != 1) return 0; if(coord == 0){ MVertex *v = new MVertex(d, 0., 0., gr); gr->transfinite_vertices[i][j][k] = v; diff --git a/doc/TODO b/doc/TODO index fb5dd37255720add77951b6643fe52f716281351..3df88730614c46b15fe3ccedc816bb65737f16ea 100644 --- a/doc/TODO +++ b/doc/TODO @@ -1,4 +1,4 @@ -$Id: TODO,v 1.53 2007-03-11 20:19:06 geuzaine Exp $ +$Id: TODO,v 1.54 2007-03-13 09:25:50 geuzaine Exp $ ******************************************************************** @@ -11,6 +11,10 @@ interface duplicate entity removal from opencascade ******************************************************************** +add support for Patran mesh files + +******************************************************************** + reinterface Triangle for plane surfaces ********************************************************************