diff --git a/Box/Box.cpp b/Box/Box.cpp index 7b7a707543de030db6685a96837151a54031b9fc..b129a979db4852031b0645d1118fd7a0d5bec1cd 100644 --- a/Box/Box.cpp +++ b/Box/Box.cpp @@ -1,4 +1,4 @@ -// $Id: Box.cpp,v 1.26 2006-08-12 19:34:14 geuzaine Exp $ +// $Id: Box.cpp,v 1.27 2006-09-23 02:48:09 geuzaine Exp $ // // Copyright (C) 1997-2006 C. Geuzaine, J.-F. Remacle // @@ -150,7 +150,7 @@ void Signal(int sig_num) // General purpose message routine -void Msg(int level, char *fmt, ...) +void Msg(int level, const char *fmt, ...) { va_list args; int abort = 0; @@ -231,7 +231,7 @@ void Msg(int level, char *fmt, ...) // interactive value dialog -double GetValue(char *text, double defaultval) +double GetValue(const char *text, double defaultval) { if(CTX.nopopup) return defaultval; diff --git a/Common/GmshDefines.h b/Common/GmshDefines.h index 43419128ef053c3b2a2c12704bf1dd25fe0d2171..9aad931e4bd2788d4296c8a32c4565627f71ce9e 100644 --- a/Common/GmshDefines.h +++ b/Common/GmshDefines.h @@ -31,25 +31,25 @@ #define FORMAT_BDF 31 // Element types in .msh file format -#define LIN_2 1 -#define TRI_3 2 -#define QUA_4 3 -#define TET_4 4 -#define HEX_8 5 -#define PRI_6 6 -#define PYR_5 7 -#define LIN_3 8 -#define TRI_6 9 -#define QUA_9 10 -#define TET_10 11 -#define HEX_27 12 -#define PRI_18 13 -#define PYR_14 14 -#define PNT_1 15 -#define QUA_8 16 -#define HEX_20 17 -#define PRI_15 18 -#define PYR_13 19 +#define MSH_LIN_2 1 +#define MSH_TRI_3 2 +#define MSH_QUA_4 3 +#define MSH_TET_4 4 +#define MSH_HEX_8 5 +#define MSH_PRI_6 6 +#define MSH_PYR_5 7 +#define MSH_LIN_3 8 +#define MSH_TRI_6 9 +#define MSH_QUA_9 10 +#define MSH_TET_10 11 +#define MSH_HEX_27 12 +#define MSH_PRI_18 13 +#define MSH_PYR_14 14 +#define MSH_PNT 15 +#define MSH_QUA_8 16 +#define MSH_HEX_20 17 +#define MSH_PRI_15 18 +#define MSH_PYR_13 19 // Geometric entities #define ENT_NONE 0 @@ -59,10 +59,6 @@ #define ENT_VOLUME (1<<3) #define ENT_ALL (ENT_POINT | ENT_LINE | ENT_SURFACE | ENT_VOLUME) -#define ELEMENTARY 1 -#define PHYSICAL 2 -#define PARTITION 3 - // Mesh algorithms #define QUALITY_EDGES_BASED 1 #define QUALITY_SIMPLEX_BASED 2 diff --git a/Common/Message.h b/Common/Message.h index 6edad5f331f87b9214eb05ec64e6a5ec6cfe48df..c944cabaadd1ef527819d497340859a4deda631a 100644 --- a/Common/Message.h +++ b/Common/Message.h @@ -70,9 +70,9 @@ #define STATUS_STR "Info : " void Signal(int signum); -void Msg(int level, char *fmt, ...); +void Msg(int level, const char *fmt, ...); void Exit(int); -double GetValue(char *text, double defaultval); +double GetValue(const char *text, double defaultval); bool GetBinaryAnswer(const char *question, const char *yes, const char *no, bool defaultval=true); diff --git a/Fltk/Message.cpp b/Fltk/Message.cpp index b86fdce7cc8e047fa102eaced74b2ffe63372756..5ae15181fac306a0cd42160edd8a63956672e207 100644 --- a/Fltk/Message.cpp +++ b/Fltk/Message.cpp @@ -1,4 +1,4 @@ -// $Id: Message.cpp,v 1.75 2006-08-06 22:58:49 geuzaine Exp $ +// $Id: Message.cpp,v 1.76 2006-09-23 02:48:09 geuzaine Exp $ // // Copyright (C) 1997-2006 C. Geuzaine, J.-F. Remacle // @@ -64,7 +64,7 @@ void Debug() printf("debug!\n"); } -void Msg(int level, char *fmt, ...) +void Msg(int level, const char *fmt, ...) { va_list args; int abort = 0, verb = 0, window = -1, log = 1, color = 0; @@ -249,7 +249,7 @@ void Exit(int level) exit(0); } -double GetValue(char *text, double defaultval) +double GetValue(const char *text, double defaultval) { if(CTX.nopopup) return defaultval; diff --git a/Geo/GModelIO.cpp b/Geo/GModelIO.cpp index 12ad3523aa66b05264f5211d604e94918a84f471..962f6b409276185b50761e9bb00024f5fee5bb8b 100644 --- a/Geo/GModelIO.cpp +++ b/Geo/GModelIO.cpp @@ -1,4 +1,4 @@ -// $Id: GModelIO.cpp,v 1.55 2006-09-14 19:38:16 geuzaine Exp $ +// $Id: GModelIO.cpp,v 1.56 2006-09-23 02:48:09 geuzaine Exp $ // // Copyright (C) 1997-2006 C. Geuzaine, J.-F. Remacle // @@ -204,25 +204,25 @@ static bool getVertices(int num, int *indices, std::vector<MVertex*> &vec, static int getNumVerticesForElementTypeMSH(int type) { switch (type) { - case PNT_1 : return 1; - case LIN_2 : return 2; - case LIN_3 : return 2 + 1; - case TRI_3 : return 3; - case TRI_6 : return 3 + 3; - case QUA_4 : return 4; - case QUA_8 : return 4 + 4; - case QUA_9 : return 4 + 4 + 1; - case TET_4 : return 4; - case TET_10 : return 4 + 6; - case HEX_8 : return 8; - case HEX_20 : return 8 + 12; - case HEX_27 : return 8 + 12 + 6 + 1; - case PRI_6 : return 6; - case PRI_15 : return 6 + 9; - case PRI_18 : return 6 + 9 + 3; - case PYR_5 : return 5; - case PYR_13 : return 5 + 8; - case PYR_14 : return 5 + 8 + 1; + case MSH_PNT : return 1; + case MSH_LIN_2 : return 2; + case MSH_LIN_3 : return 2 + 1; + case MSH_TRI_3 : return 3; + case MSH_TRI_6 : return 3 + 3; + case MSH_QUA_4 : return 4; + case MSH_QUA_8 : return 4 + 4; + case MSH_QUA_9 : return 4 + 4 + 1; + case MSH_TET_4 : return 4; + case MSH_TET_10 : return 4 + 6; + case MSH_HEX_8 : return 8; + case MSH_HEX_20 : return 8 + 12; + case MSH_HEX_27 : return 8 + 12 + 6 + 1; + case MSH_PRI_6 : return 6; + case MSH_PRI_15 : return 6 + 9; + case MSH_PRI_18 : return 6 + 9 + 3; + case MSH_PYR_5 : return 5; + case MSH_PYR_13 : return 5 + 8; + case MSH_PYR_14 : return 5 + 8 + 1; default: Msg(GERROR, "Unknown type of element %d", type); return 0; @@ -238,25 +238,25 @@ static void createElementMSH(GModel *m, int num, int type, int physical, int dim = 0; switch (type) { - case PNT_1: points[reg].push_back(v[0]); dim = 0; break; - case LIN_2: elem[0][reg].push_back(new MLine(v, num, part)); dim = 1; break; - case LIN_3: elem[0][reg].push_back(new MLine3(v, num, part)); dim = 1; break; - case TRI_3: elem[1][reg].push_back(new MTriangle(v, num, part)); dim = 2; break; - case TRI_6: elem[1][reg].push_back(new MTriangle6(v, num, part)); dim = 2; break; - case QUA_4: elem[2][reg].push_back(new MQuadrangle(v, num, part)); dim = 2; break; - case QUA_8: elem[2][reg].push_back(new MQuadrangle8(v, num, part)); dim = 2; break; - case QUA_9: elem[2][reg].push_back(new MQuadrangle9(v, num, part)); dim = 2; break; - case TET_4: elem[3][reg].push_back(new MTetrahedron(v, num, part)); dim = 3; break; - case TET_10: elem[3][reg].push_back(new MTetrahedron10(v, num, part)); dim = 3; break; - case HEX_8: elem[4][reg].push_back(new MHexahedron(v, num, part)); dim = 3; break; - case HEX_20: elem[4][reg].push_back(new MHexahedron20(v, num, part)); dim = 3; break; - case HEX_27: elem[4][reg].push_back(new MHexahedron27(v, num, part)); dim = 3; break; - case PRI_6: elem[5][reg].push_back(new MPrism(v, num, part)); dim = 3; break; - case PRI_15: elem[5][reg].push_back(new MPrism15(v, num, part)); dim = 3; break; - case PRI_18: elem[5][reg].push_back(new MPrism18(v, num, part)); dim = 3; break; - case PYR_5: elem[6][reg].push_back(new MPyramid(v, num, part)); dim = 3; break; - case PYR_13: elem[6][reg].push_back(new MPyramid13(v, num, part)); dim = 3; break; - case PYR_14: elem[6][reg].push_back(new MPyramid14(v, num, part)); dim = 3; break; + case MSH_PNT: points[reg].push_back(v[0]); dim = 0; break; + case MSH_LIN_2: elem[0][reg].push_back(new MLine(v, num, part)); dim = 1; break; + case MSH_LIN_3: elem[0][reg].push_back(new MLine3(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_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; + case MSH_TET_4: elem[3][reg].push_back(new MTetrahedron(v, num, part)); dim = 3; break; + case MSH_TET_10: elem[3][reg].push_back(new MTetrahedron10(v, num, part)); dim = 3; break; + case MSH_HEX_8: elem[4][reg].push_back(new MHexahedron(v, num, part)); dim = 3; break; + case MSH_HEX_20: elem[4][reg].push_back(new MHexahedron20(v, num, part)); dim = 3; break; + case MSH_HEX_27: elem[4][reg].push_back(new MHexahedron27(v, num, part)); dim = 3; break; + case MSH_PRI_6: elem[5][reg].push_back(new MPrism(v, num, part)); dim = 3; break; + case MSH_PRI_15: elem[5][reg].push_back(new MPrism15(v, num, part)); dim = 3; break; + case MSH_PRI_18: elem[5][reg].push_back(new MPrism18(v, num, part)); dim = 3; break; + case MSH_PYR_5: elem[6][reg].push_back(new MPyramid(v, num, part)); dim = 3; break; + case MSH_PYR_13: elem[6][reg].push_back(new MPyramid13(v, num, part)); dim = 3; break; + case MSH_PYR_14: elem[6][reg].push_back(new MPyramid14(v, num, part)); dim = 3; break; default: Msg(GERROR, "Unknown type (%d) for element %d", type, num); break; } @@ -553,7 +553,7 @@ int GModel::writeMSH(const std::string &name, double version, bool binary, for(viter it = firstVertex(); it != lastVertex(); ++it){ int p = (saveAll ? 1 : (*it)->physicals.size()); int n = p * (*it)->mesh_vertices.size(); - if(n) elements[PNT_1] += n; + if(n) elements[MSH_PNT] += n; } for(eiter it = firstEdge(); it != lastEdge(); ++it){ int p = (saveAll ? 1 : (*it)->physicals.size()); @@ -626,35 +626,35 @@ int GModel::writeMSH(const std::string &name, double version, bool binary, fprintf(fp, "%d\n", numElements); int num = 0; - writeElementHeaderMSH(binary, fp, elements, PNT_1); + writeElementHeaderMSH(binary, fp, elements, MSH_PNT); for(viter it = firstVertex(); it != lastVertex(); ++it) writeElementsMSH(fp, (*it)->mesh_vertices, saveAll, version, binary, num, (*it)->tag(), (*it)->physicals); - writeElementHeaderMSH(binary, fp, elements, LIN_2, LIN_3); + writeElementHeaderMSH(binary, fp, elements, MSH_LIN_2, MSH_LIN_3); for(eiter it = firstEdge(); it != lastEdge(); ++it) writeElementsMSH(fp, (*it)->lines, saveAll, version, binary, num, (*it)->tag(), (*it)->physicals); - writeElementHeaderMSH(binary, fp, elements, TRI_3, TRI_6); + writeElementHeaderMSH(binary, fp, elements, MSH_TRI_3, MSH_TRI_6); for(fiter it = firstFace(); it != lastFace(); ++it) writeElementsMSH(fp, (*it)->triangles, saveAll, version, binary, num, (*it)->tag(), (*it)->physicals); - writeElementHeaderMSH(binary, fp, elements, QUA_4, QUA_9, QUA_8); + writeElementHeaderMSH(binary, fp, elements, MSH_QUA_4, MSH_QUA_9, MSH_QUA_8); for(fiter it = firstFace(); it != lastFace(); ++it) writeElementsMSH(fp, (*it)->quadrangles, saveAll, version, binary, num, (*it)->tag(), (*it)->physicals); - writeElementHeaderMSH(binary, fp, elements, TET_4, TET_10); + writeElementHeaderMSH(binary, fp, elements, MSH_TET_4, MSH_TET_10); for(riter it = firstRegion(); it != lastRegion(); ++it) writeElementsMSH(fp, (*it)->tetrahedra, saveAll, version, binary, num, (*it)->tag(), (*it)->physicals); - writeElementHeaderMSH(binary, fp, elements, HEX_8, HEX_27, HEX_20); + writeElementHeaderMSH(binary, fp, elements, MSH_HEX_8, MSH_HEX_27, MSH_HEX_20); for(riter it = firstRegion(); it != lastRegion(); ++it) writeElementsMSH(fp, (*it)->hexahedra, saveAll, version, binary, num, (*it)->tag(), (*it)->physicals); - writeElementHeaderMSH(binary, fp, elements, PRI_6, PRI_18, PRI_15); + writeElementHeaderMSH(binary, fp, elements, MSH_PRI_6, MSH_PRI_18, MSH_PRI_15); for(riter it = firstRegion(); it != lastRegion(); ++it) writeElementsMSH(fp, (*it)->prisms, saveAll, version, binary, num, (*it)->tag(), (*it)->physicals); - writeElementHeaderMSH(binary, fp, elements, PYR_5, PYR_14, PYR_13); + writeElementHeaderMSH(binary, fp, elements, MSH_PYR_5, MSH_PYR_14, MSH_PYR_13); for(riter it = firstRegion(); it != lastRegion(); ++it) writeElementsMSH(fp, (*it)->pyramids, saveAll, version, binary, num, (*it)->tag(), (*it)->physicals); diff --git a/Geo/MElement.h b/Geo/MElement.h index 07f92c7504812172035816b0de79bc4b0927ad83..2cf04f43bbee44289b4d0921aaf5a22141027b3d 100644 --- a/Geo/MElement.h +++ b/Geo/MElement.h @@ -177,7 +177,7 @@ class MLine : public MElement { virtual MEdge getEdge(int num){ return MEdge(_v[0], _v[1]); } virtual int getNumFaces(){ return 0; } virtual MFace getFace(int num){ throw; } - virtual int getTypeForMSH(){ return LIN_2; } + virtual int getTypeForMSH(){ return MSH_LIN_2; } virtual int getTypeForUNV(){ return 21; } // linear beam virtual char *getStringForPOS(){ return "SL"; } virtual char *getStringForBDF(){ return "CBAR"; } @@ -221,7 +221,7 @@ class MLine3 : public MLine { int i1 = edges_lin2[num][1]; return MEdge(i0 < 2 ? _v[i0] : _vs[i0 - 2], i1 < 2 ? _v[i1] : _vs[i1 - 2]); } - virtual int getTypeForMSH(){ return LIN_3; } + virtual int getTypeForMSH(){ return MSH_LIN_3; } virtual int getTypeForUNV(){ return 24; } // parabolic beam virtual char *getStringForPOS(){ return "SL2"; } virtual char *getStringForBDF(){ return 0; } // not available @@ -255,7 +255,7 @@ class MTriangle : public MElement { { return MFace(_v[0], _v[1], _v[2]); } - virtual int getTypeForMSH(){ return TRI_3; } + virtual int getTypeForMSH(){ return MSH_TRI_3; } virtual int getTypeForUNV(){ return 91; } // thin shell linear triangle virtual char *getStringForPOS(){ return "ST"; } virtual char *getStringForBDF(){ return "CTRIA3"; } @@ -318,7 +318,7 @@ class MTriangle6 : public MTriangle { i1 < 3 ? _v[i1] : _vs[i1 - 3], i2 < 3 ? _v[i2] : _vs[i2 - 3]); } - virtual int getTypeForMSH(){ return TRI_6; } + virtual int getTypeForMSH(){ return MSH_TRI_6; } virtual int getTypeForUNV(){ return 92; } // thin shell parabolic triangle virtual char *getStringForPOS(){ return "ST2"; } virtual char *getStringForBDF(){ return "CTRIA6"; } @@ -355,7 +355,7 @@ class MQuadrangle : public MElement { } virtual int getNumFaces(){ return 1; } virtual MFace getFace(int num){ return MFace(_v[0], _v[1], _v[2], _v[3]); } - virtual int getTypeForMSH(){ return QUA_4; } + virtual int getTypeForMSH(){ return MSH_QUA_4; } virtual int getTypeForUNV(){ return 94; } // thin shell linear quadrilateral virtual char *getStringForPOS(){ return "SQ"; } virtual char *getStringForBDF(){ return "CQUAD4"; } @@ -391,7 +391,7 @@ class MQuadrangle8 : public MQuadrangle { } virtual int getNumEdgeVertices(){ return 4; } // TODO: edgeRep, faceRep - virtual int getTypeForMSH(){ return QUA_8; } + virtual int getTypeForMSH(){ return MSH_QUA_8; } virtual int getTypeForUNV(){ return 95; } // shell parabolic quadrilateral virtual char *getStringForPOS(){ return 0; } // not available virtual char *getStringForBDF(){ return "CQUAD8"; } @@ -426,7 +426,7 @@ class MQuadrangle9 : public MQuadrangle { virtual int getNumEdgeVertices(){ return 4; } virtual int getNumFaceVertices(){ return 1; } // TODO: edgeRep, faceRep - virtual int getTypeForMSH(){ return QUA_9; } + virtual int getTypeForMSH(){ return MSH_QUA_9; } virtual int getTypeForUNV(){ return 0; } // not available virtual char *getStringForPOS(){ return "SQ2"; } virtual char *getStringForBDF(){ return 0; } // not available @@ -469,7 +469,7 @@ class MTetrahedron : public MElement { _v[trifaces_tetra[num][1]], _v[trifaces_tetra[num][2]]); } - virtual int getTypeForMSH(){ return TET_4; } + virtual int getTypeForMSH(){ return MSH_TET_4; } virtual int getTypeForUNV(){ return 111; } // solid linear tetrahedron virtual char *getStringForPOS(){ return "SS"; } virtual char *getStringForBDF(){ return "CTETRA"; } @@ -588,7 +588,7 @@ class MTetrahedron10 : public MTetrahedron { } virtual int getNumEdgeVertices(){ return 6; } // TODO: edgeRep, faceRep - virtual int getTypeForMSH(){ return TET_10; } + virtual int getTypeForMSH(){ return MSH_TET_10; } virtual int getTypeForUNV(){ return 118; } // solid parabolic tetrahedron virtual char *getStringForPOS(){ return "SS2"; } virtual char *getStringForBDF(){ return "CTETRA"; } @@ -634,7 +634,7 @@ class MHexahedron : public MElement { _v[quadfaces_hexa[num][2]], _v[quadfaces_hexa[num][3]]); } - virtual int getTypeForMSH(){ return HEX_8; } + virtual int getTypeForMSH(){ return MSH_HEX_8; } virtual int getTypeForUNV(){ return 115; } // solid linear brick virtual char *getStringForPOS(){ return "SH"; } virtual char *getStringForBDF(){ return "CHEXA"; } @@ -698,7 +698,7 @@ class MHexahedron20 : public MHexahedron { } virtual int getNumEdgeVertices(){ return 12; } // TODO: edgeRep, faceRep - virtual int getTypeForMSH(){ return HEX_20; } + virtual int getTypeForMSH(){ return MSH_HEX_20; } virtual int getTypeForUNV(){ return 116; } // solid parabolic brick virtual char *getStringForPOS(){ return 0; } // not available virtual char *getStringForBDF(){ return "CHEXA"; } @@ -746,7 +746,7 @@ class MHexahedron27 : public MHexahedron { virtual int getNumFaceVertices(){ return 6; } virtual int getNumVolumeVertices(){ return 1; } // TODO: edgeRep, faceRep - virtual int getTypeForMSH(){ return HEX_27; } + virtual int getTypeForMSH(){ return MSH_HEX_27; } virtual int getTypeForUNV(){ return 0; } // not available virtual char *getStringForPOS(){ return "SH2"; } virtual char *getStringForBDF(){ return 0; } // not available @@ -802,7 +802,7 @@ class MPrism : public MElement { _v[quadfaces_prism[num - 2][2]], _v[quadfaces_prism[num - 2][3]]); } - virtual int getTypeForMSH(){ return PRI_6; } + virtual int getTypeForMSH(){ return MSH_PRI_6; } virtual int getTypeForUNV(){ return 112; } // solid linear wedge virtual char *getStringForPOS(){ return "SI"; } virtual char *getStringForBDF(){ return "CPENTA"; } @@ -862,7 +862,7 @@ class MPrism15 : public MPrism { } virtual int getNumEdgeVertices(){ return 9; } // TODO: edgeRep, faceRep - virtual int getTypeForMSH(){ return PRI_15; } + virtual int getTypeForMSH(){ return MSH_PRI_15; } virtual int getTypeForUNV(){ return 113; } // solid parabolic wedge virtual char *getStringForPOS(){ return 0; } // not available virtual char *getStringForBDF(){ return "CPENTA"; } @@ -903,7 +903,7 @@ class MPrism18 : public MPrism { virtual int getNumEdgeVertices(){ return 9; } virtual int getNumFaceVertices(){ return 3; } // TODO: edgeRep, faceRep - virtual int getTypeForMSH(){ return PRI_18; } + virtual int getTypeForMSH(){ return MSH_PRI_18; } virtual int getTypeForUNV(){ return 0; } // not available virtual char *getStringForPOS(){ return "SI2"; } virtual char *getStringForBDF(){ return 0; } // not available @@ -955,7 +955,7 @@ class MPyramid : public MElement { _v[quadfaces_pyramid[num - 4][2]], _v[quadfaces_pyramid[num - 4][3]]); } - virtual int getTypeForMSH(){ return PYR_5; } + virtual int getTypeForMSH(){ return MSH_PYR_5; } virtual int getTypeForUNV(){ return 0; } // not available virtual char *getStringForPOS(){ return "SY"; } virtual char *getStringForBDF(){ return "CPYRAM"; } @@ -1002,7 +1002,7 @@ class MPyramid13 : public MPyramid { virtual MVertex *getVertex(int num){ return num < 5 ? _v[num] : _vs[num - 5]; } virtual int getNumEdgeVertices(){ return 8; } // TODO: edgeRep, faceRep - virtual int getTypeForMSH(){ return PYR_13; } + virtual int getTypeForMSH(){ return MSH_PYR_13; } virtual int getTypeForUNV(){ return 0; } // not available virtual char *getStringForPOS(){ return 0; } // not available virtual char *getStringForBDF(){ return 0; } // not available @@ -1041,7 +1041,7 @@ class MPyramid14 : public MPyramid { virtual int getNumEdgeVertices(){ return 8; } virtual int getNumFaceVertices(){ return 1; } // TODO: edgeRep, faceRep - virtual int getTypeForMSH(){ return PYR_14; } + virtual int getTypeForMSH(){ return MSH_PYR_14; } virtual int getTypeForUNV(){ return 0; } // not available virtual char *getStringForPOS(){ return "SY2"; } virtual char *getStringForBDF(){ return 0; } // not available