diff --git a/Box/Main.cpp b/Box/Main.cpp index 992ab97b1c4eac2bbbe9370eb304619e7cfc62c8..bfbabc5db3c68444ca58ca786a08abc473aa8a12 100644 --- a/Box/Main.cpp +++ b/Box/Main.cpp @@ -1,4 +1,4 @@ -// $Id: Main.cpp,v 1.60 2006-07-12 07:24:12 geuzaine Exp $ +// $Id: Main.cpp,v 1.61 2006-08-05 10:05:44 geuzaine Exp $ // // Copyright (C) 1997-2006 C. Geuzaine, J.-F. Remacle // @@ -32,6 +32,7 @@ #include "Options.h" #include "OpenFile.h" #include "CommandLine.h" +#include "CreateFile.h" #include "GModel.h" Context_T CTX; @@ -116,10 +117,10 @@ int GMSHBOX(int argc, char *argv[]) } if(CTX.batch > 0) { mai3d(THEM, CTX.batch); - Print_Mesh(THEM, CTX.output_filename, CTX.mesh.format); + CreateOutputFile(CTX.output_filename, CTX.mesh.format); } else - Print_Geo(CTX.output_filename); + CreateOutputFile(CTX.output_filename, FORMAT_GEO); if(CTX.mesh.histogram){ Mesh_Quality(THEM); Print_Histogram(THEM->Histogram[0]); @@ -168,7 +169,6 @@ void Msg(int level, char *fmt, ...) case PROGRESS: case STATUS1N: case STATUS2N: - case STATUS3N: break; case DIRECT: diff --git a/Common/CommandLine.cpp b/Common/CommandLine.cpp index e1985ef02ec760df14e39f13bd4d8719cdc48b36..46cda735e72e02cdc48df107750d25e47f394e0b 100644 --- a/Common/CommandLine.cpp +++ b/Common/CommandLine.cpp @@ -1,4 +1,4 @@ -// $Id: CommandLine.cpp,v 1.71 2006-07-12 07:24:12 geuzaine Exp $ +// $Id: CommandLine.cpp,v 1.72 2006-08-05 10:05:44 geuzaine Exp $ // // Copyright (C) 1997-2006 C. Geuzaine, J.-F. Remacle // @@ -30,7 +30,9 @@ #include "Mesh.h" #include "Views.h" #include "OpenFile.h" +#include "CreateFile.h" #include "Parser.h" +#include "GModel.h" #include "OS.h" #if !defined(GMSH_EXTRA_VERSION) @@ -41,7 +43,7 @@ #endif extern Context_T CTX; -extern Mesh *THEM; +extern GModel *GMODEL; char gmsh_progname[] = "Gmsh, a 3D mesh generator with pre- and post-processing facilities" ; char gmsh_copyright[] = "Copyright (C) 1997-2006 Christophe Geuzaine and Jean-Francois Remacle"; @@ -294,11 +296,9 @@ void Get_Options(int argc, char *argv[]) WriteView(*(Post_View **) List_Pointer(CTX.post.list, j), argv[i + 1], 1, j ? 1 : 0); // convert any mesh to the latest format - if(THEM){ - if(Tree_Nbr(THEM->Vertices)){ - CTX.mesh.msh_file_version = 2.0; - Print_Mesh(argv[i + 1], FORMAT_MSH); - } + if(GMODEL && GMODEL->numVertex()){ + CTX.mesh.msh_file_version = 2.0; + CreateOutputFile(argv[i + 1], FORMAT_MSH); } } else diff --git a/Common/Message.h b/Common/Message.h index ab4ab897d4970b34e56d5118de940bef8de36ba2..6edad5f331f87b9214eb05ec64e6a5ec6cfe48df 100644 --- a/Common/Message.h +++ b/Common/Message.h @@ -47,13 +47,11 @@ #define DEBUG2 19 // Middle part of a multiline DEBUG message #define DEBUG3 20 // Last part of a multiline DEBUG message -#define STATUS1 21 // Small information in status bar (left) -#define STATUS2 22 // Small interaction in status bar (middle) -#define STATUS3 23 // Small interaction in status bar (right) +#define STATUS1 21 // left status bar +#define STATUS2 22 // right status bar #define STATUS1N 24 // Same as STATUS1, but not going into the log file #define STATUS2N 25 // Same as STATUS2, but not going into the log file -#define STATUS3N 26 // Same as STATUS3, but not going into the log file #define ONSCREEN 27 // Persistent on-screen message diff --git a/Common/Options.cpp b/Common/Options.cpp index 405ea2ec1c2c089bd8e40ffd4477de3ba964a378..def9af6d9cb34d0e75f4e959a3db5251b6ccbac6 100644 --- a/Common/Options.cpp +++ b/Common/Options.cpp @@ -1,4 +1,4 @@ -// $Id: Options.cpp,v 1.280 2006-05-14 02:03:59 geuzaine Exp $ +// $Id: Options.cpp,v 1.281 2006-08-05 10:05:44 geuzaine Exp $ // // Copyright (C) 1997-2006 C. Geuzaine, J.-F. Remacle // @@ -224,7 +224,6 @@ void Print_Options(int num, int level, int diff, int help, char *filename) Msg(GERROR, "Unable to open file '%s'", filename); return; } - Msg(INFO, "Writing option file '%s'", filename); } else file = NULL; @@ -321,11 +320,7 @@ void Print_Options(int num, int level, int diff, int help, char *filename) Print_OptionCategory(level, diff, help, "Print options (colors)", file); Print_ColorOptions(num, level, diff, help, PrintOptions_Color, "Print.", file); - if(filename) { - Msg(INFO, "Wrote option file '%s'", filename); - Msg(STATUS2N, "Wrote '%s'", filename); - fclose(file); - } + if(filename) fclose(file); } char * Get_OptionSaveLevel(int level){ @@ -2781,11 +2776,11 @@ double opt_general_orthographic(OPT_ARGS_NUM) if(WID && (action & GMSH_GUI)) { if(CTX.ortho){ WID->gen_choice[2]->value(0); - Msg(STATUS1N, "Orthographic projection"); + Msg(STATUS2N, "Orthographic projection"); } else{ WID->gen_choice[2]->value(1); - Msg(STATUS1N, "Perspective projection"); + Msg(STATUS2N, "Perspective projection"); } } #endif @@ -2799,15 +2794,15 @@ double opt_general_mouse_selection(OPT_ARGS_NUM) #if defined(HAVE_FLTK) if(WID && (action & GMSH_GUI)) { if(CTX.enable_mouse_selection == 0){ - Msg(STATUS1N, "Mouse selection OFF"); + Msg(STATUS2N, "Mouse selection OFF"); WID->g_status_butt[9]->color(FL_RED); } else if(CTX.enable_mouse_selection == 1){ - Msg(STATUS1N, "Mouse hover OFF"); + Msg(STATUS2N, "Mouse hover OFF"); WID->g_status_butt[9]->color(FL_GREEN); } else{ - Msg(STATUS1N, "Mouse selection ON"); + Msg(STATUS2N, "Mouse selection ON"); WID->g_status_butt[9]->color(FL_BACKGROUND_COLOR); } WID->g_status_butt[9]->redraw(); diff --git a/Fltk/Callbacks.cpp b/Fltk/Callbacks.cpp index 03a6b3b43db2e7bb93cf1fbc843f1777a1c4ee90..615e755d7c07fdc82202ef62c7d934be8bc0a769 100644 --- a/Fltk/Callbacks.cpp +++ b/Fltk/Callbacks.cpp @@ -1,4 +1,4 @@ -// $Id: Callbacks.cpp,v 1.420 2006-07-24 14:05:50 geuzaine Exp $ +// $Id: Callbacks.cpp,v 1.421 2006-08-05 10:05:44 geuzaine Exp $ // // Copyright (C) 1997-2006 C. Geuzaine, J.-F. Remacle // @@ -906,6 +906,7 @@ void options_browser_cb(CALLBACK_ARGS) void options_save_cb(CALLBACK_ARGS) { Print_Options(0, GMSH_OPTIONSRC, 1, 1, CTX.options_filename_fullpath); + Msg(STATUS2N, "Wrote '%s'", CTX.options_filename_fullpath); } void options_restore_defaults_cb(CALLBACK_ARGS) @@ -954,7 +955,7 @@ void general_options_rotation_center_select_cb(CALLBACK_ARGS) opt_geometry_points(0, GMSH_SET | GMSH_GUI, 1); Draw(); - Msg(STATUS3N, "Setting rotation center"); + Msg(STATUS2N, "Setting rotation center"); Msg(ONSCREEN, "Select point\n[Press 'q' to abort]"); char ib = SelectEntity(ENT_POINT, &ne, v, c, s); if(ib == 'l') { @@ -971,7 +972,7 @@ void general_options_rotation_center_select_cb(CALLBACK_ARGS) } ZeroHighlight(); Draw(); - Msg(STATUS3N, "Ready"); + Msg(STATUS2N, ""); Msg(ONSCREEN, ""); } @@ -1890,7 +1891,7 @@ void geometry_elementary_add_new_point_cb(CALLBACK_ARGS) WID->create_geometry_context_window(1); while(1) { - Msg(STATUS3N, "Creating point"); + Msg(STATUS2N, "Creating point"); WID->g_opengl_window->AddPointMode = true; Msg(ONSCREEN, "Move mouse and/or enter coordinates\n" "[Press 'Shift' to hold position, 'e' to add point or 'q' to abort]"); @@ -1914,7 +1915,7 @@ void geometry_elementary_add_new_point_cb(CALLBACK_ARGS) } WID->reset_visibility(); - Msg(STATUS3N, "Ready"); + Msg(STATUS2N, ""); Msg(ONSCREEN, ""); } @@ -1931,7 +1932,7 @@ static void _new_multiline(int type) n = 0; while(1) { - Msg(STATUS3N, "Creating curve"); + Msg(STATUS2N, "Creating curve"); if(n == 0) Msg(ONSCREEN, "Select control points\n" "[Press 'e' to end selection or 'q' to abort]"); @@ -1982,7 +1983,7 @@ static void _new_multiline(int type) } WID->reset_visibility(); - Msg(STATUS3N, "Ready"); + Msg(STATUS2N, ""); Msg(ONSCREEN, ""); } @@ -2004,7 +2005,7 @@ void geometry_elementary_add_new_line_cb(CALLBACK_ARGS) n = 0; while(1) { - Msg(STATUS3N, "Creating straight line"); + Msg(STATUS2N, "Creating straight line"); if(n == 0) Msg(ONSCREEN, "Select start point\n" "[Press 'q' to abort]"); @@ -2039,7 +2040,7 @@ void geometry_elementary_add_new_line_cb(CALLBACK_ARGS) } WID->reset_visibility(); - Msg(STATUS3N, "Ready"); + Msg(STATUS2N, ""); Msg(ONSCREEN, ""); } @@ -2066,7 +2067,7 @@ void geometry_elementary_add_new_circle_cb(CALLBACK_ARGS) n = 0; while(1) { - Msg(STATUS3N, "Creating circle"); + Msg(STATUS2N, "Creating circle"); if(n == 0) Msg(ONSCREEN, "Select start point\n" "[Press 'q' to abort]"); @@ -2104,7 +2105,7 @@ void geometry_elementary_add_new_circle_cb(CALLBACK_ARGS) } WID->reset_visibility(); - Msg(STATUS3N, "Ready"); + Msg(STATUS2N, ""); Msg(ONSCREEN, ""); } @@ -2121,7 +2122,7 @@ void geometry_elementary_add_new_ellipse_cb(CALLBACK_ARGS) n = 0; while(1) { - Msg(STATUS3N, "Creating ellipse"); + Msg(STATUS2N, "Creating ellipse"); if(n == 0) Msg(ONSCREEN, "Select start point\n" "[Press 'q' to abort]"); @@ -2162,7 +2163,7 @@ void geometry_elementary_add_new_ellipse_cb(CALLBACK_ARGS) } WID->reset_visibility(); - Msg(STATUS3N, "Ready"); + Msg(STATUS2N, ""); Msg(ONSCREEN, ""); } @@ -2194,7 +2195,7 @@ static void _new_surface_volume(int mode) while(1) { if(type == ENT_LINE){ - Msg(STATUS3N, "Creating surface"); + Msg(STATUS2N, "Creating surface"); if(!List_Nbr(List1)) Msg(ONSCREEN, "Select surface boundary\n" "[Press 'q' to abort]"); @@ -2203,7 +2204,7 @@ static void _new_surface_volume(int mode) "[Press 'u' to undo last selection or 'q' to abort]"); } else{ - Msg(STATUS3N, "Creating volume"); + Msg(STATUS2N, "Creating volume"); if(!List_Nbr(List1)) Msg(ONSCREEN, "Select volume boundary\n" "[Press 'q' to abort]"); @@ -2304,7 +2305,7 @@ stopall:; List_Delete(List2); WID->reset_visibility(); - Msg(STATUS3N, "Ready"); + Msg(STATUS2N, ""); Msg(ONSCREEN, ""); } @@ -2375,17 +2376,17 @@ static void _action_point_line_surface_volume(int action, int mode, char *what) List_T *List1 = List_Create(5, 5, sizeof(int)); while(1) { if(action == 10) - Msg(STATUS3N, "Adding new model edges"); + Msg(STATUS2N, "Adding new model edges"); else if(action == 9) - Msg(STATUS3N, "Defining surfaces to recombine"); + Msg(STATUS2N, "Defining surfaces to recombine"); else if(action == 8) - Msg(STATUS3N, "Setting characteristic length"); + Msg(STATUS2N, "Setting characteristic length"); else if(action == 7) - Msg(STATUS3N, "Creating physical %s", str); + Msg(STATUS2N, "Creating physical %s", str); else if(action == 6) - Msg(STATUS3N, "Deleting %s", str); + Msg(STATUS2N, "Deleting %s", str); else - Msg(STATUS3N, "Transforming %s", str); + Msg(STATUS2N, "Transforming %s", str); if(!List_Nbr(List1)) Msg(ONSCREEN, "Select %s\n" @@ -2571,7 +2572,7 @@ static void _action_point_line_surface_volume(int action, int mode, char *what) List_Delete(List1); WID->reset_visibility(); - Msg(STATUS3N, "Ready"); + Msg(STATUS2N, ""); Msg(ONSCREEN, ""); } @@ -2877,7 +2878,7 @@ void mesh_save_cb(CALLBACK_ARGS) "Cancel", "Replace", NULL, name)) return; } - Print_Mesh(name, CTX.mesh.format); + CreateOutputFile(name, CTX.mesh.format); } void mesh_define_cb(CALLBACK_ARGS) @@ -2889,21 +2890,21 @@ void mesh_1d_cb(CALLBACK_ARGS) { mai3d(1); Draw(); - Msg(STATUS3N, "Ready"); + Msg(STATUS2N, ""); } void mesh_2d_cb(CALLBACK_ARGS) { mai3d(2); Draw(); - Msg(STATUS3N, "Ready"); + Msg(STATUS2N, ""); } void mesh_3d_cb(CALLBACK_ARGS) { mai3d(3); Draw(); - Msg(STATUS3N, "Ready"); + Msg(STATUS2N, ""); } void mesh_stl_cb(CALLBACK_ARGS) @@ -2924,7 +2925,7 @@ void mesh_degree_cb(CALLBACK_ARGS) } CTX.mesh.changed = 1; Draw(); - Msg(STATUS3N, "Ready"); + Msg(STATUS2N, ""); } void mesh_optimize_cb(CALLBACK_ARGS) @@ -2939,14 +2940,14 @@ void mesh_optimize_cb(CALLBACK_ARGS) CTX.mesh.changed = 1; Draw(); - Msg(STATUS3N, "Ready"); + Msg(STATUS2N, ""); } void mesh_remesh_cb(CALLBACK_ARGS) { ReMesh(THEM); Draw(); - Msg(STATUS3N, "Ready"); + Msg(STATUS2N, ""); } void mesh_update_edges_cb(CALLBACK_ARGS) @@ -2998,7 +2999,7 @@ static void _add_transfinite_elliptic(int type, int dim) n = 0; while(1) { - Msg(STATUS3N, "Setting structured mesh contraints"); + Msg(STATUS2N, "Setting structured mesh contraints"); switch (dim) { case 1: if(n == 0) @@ -3112,7 +3113,7 @@ static void _add_transfinite_elliptic(int type, int dim) } stopall: - Msg(STATUS3N, "Ready"); + Msg(STATUS2N, ""); Msg(ONSCREEN, ""); } diff --git a/Fltk/GUI.cpp b/Fltk/GUI.cpp index 4acd7deec0803f33e08101e05f785215e3a31a86..8389fa3a1a154edee57116fb9e40baafb114f37e 100644 --- a/Fltk/GUI.cpp +++ b/Fltk/GUI.cpp @@ -1,4 +1,4 @@ -// $Id: GUI.cpp,v 1.502 2006-07-01 10:35:48 geuzaine Exp $ +// $Id: GUI.cpp,v 1.503 2006-08-05 10:05:44 geuzaine Exp $ // // Copyright (C) 1997-2006 C. Geuzaine, J.-F. Remacle // @@ -1147,7 +1147,7 @@ void GUI::set_context(Context_Item * menu_asked, int flag) return; } - Msg(STATUS2N, menu[0].label + 1); + Msg(STATUS1N, menu[0].label + 1); // Remove all the children (m_push*, m_toggle*, m_pop*). FLTK <= // 1.1.4 should be OK with this. FLTK 1.1.5 may crash as it may @@ -1428,12 +1428,10 @@ void GUI::create_graphic_window() } g_status_label[0] = new Fl_Box(x, glheight + 2, - (width - x) / 3, sh - 4); - g_status_label[1] = new Fl_Box(x + (width - x) / 3, glheight + 2, - (width - x) / 3, sh - 4); - g_status_label[2] = new Fl_Box(x + 2 * (width - x) / 3, glheight + 2, - (width - x) / 3 - 2, sh - 4); - for(i = 0; i < 3; i++) { + (width - x) / 2, sh - 4); + g_status_label[1] = new Fl_Box(x + (width - x) / 2, glheight + 2, + (width - x) / 2, sh - 4); + for(i = 0; i < 2; i++) { g_status_label[i]->box(FL_FLAT_BOX); g_status_label[i]->align(FL_ALIGN_LEFT | FL_ALIGN_INSIDE | FL_ALIGN_CLIP); } @@ -1512,11 +1510,11 @@ void GUI::check_anim_buttons() void GUI::set_status(char *msg, int num) { - if(num >= 0 && num < 3){ + if(num == 0 || num == 1){ g_status_label[num]->label(msg); g_status_label[num]->redraw(); } - else if (num == 3){ + else if(num == 3){ int n = strlen(msg); int i = 0; while(i < n) diff --git a/Fltk/GUI.h b/Fltk/GUI.h index fc08006270a4ec8a76b3310163b533ee6a63fe57..68b1eb7504291bb1cbbaac1658e64733b04aba0b 100644 --- a/Fltk/GUI.h +++ b/Fltk/GUI.h @@ -154,7 +154,7 @@ public: Fl_Window *g_window ; Opengl_Window *g_opengl_window ; Fl_Button *g_status_butt[10] ; - Fl_Box *g_status_label[3] ; + Fl_Box *g_status_label[2] ; // Option window Fl_Window *opt_window ; diff --git a/Fltk/Main.cpp b/Fltk/Main.cpp index 58ea83801b43e4026729fc12314a101c4114ecde..47eb41842953e7b9c3713b46e0f14e7e96bfee73 100644 --- a/Fltk/Main.cpp +++ b/Fltk/Main.cpp @@ -1,4 +1,4 @@ -// $Id: Main.cpp,v 1.91 2006-08-04 14:28:01 geuzaine Exp $ +// $Id: Main.cpp,v 1.92 2006-08-05 10:05:45 geuzaine Exp $ // // Copyright (C) 1997-2006 C. Geuzaine, J.-F. Remacle // @@ -165,11 +165,6 @@ int main(int argc, char *argv[]) CTX.batch = 0; - // Say welcome! - - Msg(STATUS3N, "Ready"); - Msg(STATUS1N, "Gmsh %s", Get_GmshVersion()); - // Log the following for bug reports Msg(INFO, "-------------------------------------------------------"); @@ -236,6 +231,10 @@ int main(int argc, char *argv[]) Msg(GERROR, "Invalid background mesh (no view)"); } + // Say welcome! + + Msg(STATUS2N, "Gmsh %s", Get_GmshVersion()); + // Draw the actual scene Draw(); diff --git a/Fltk/Message.cpp b/Fltk/Message.cpp index 5d2d0aad1cb2d1ddebf68bf44328457886777207..92445f7a4ec943d94cf71ee238b891d5d2922741 100644 --- a/Fltk/Message.cpp +++ b/Fltk/Message.cpp @@ -1,4 +1,4 @@ -// $Id: Message.cpp,v 1.73 2006-03-17 21:04:34 geuzaine Exp $ +// $Id: Message.cpp,v 1.74 2006-08-05 10:05:45 geuzaine Exp $ // // Copyright (C) 1997-2006 C. Geuzaine, J.-F. Remacle // @@ -79,14 +79,12 @@ void Msg(int level, char *fmt, ...) case SOLVER : color = 4; verb = 3; break ; case SOLVERR : color = 1; verb = 3; break ; - case PROGRESS : log = 0; window = 2; break ; + case PROGRESS : log = 0; window = 1; break ; case STATUS1N : log = 0; //fallthrough case STATUS1 : str = INFO_STR; verb = 1; window = 0; break ; case STATUS2N : log = 0; //fallthrough case STATUS2 : str = INFO_STR; verb = 1; window = 1; break ; - case STATUS3N : log = 0; //fallthrough - case STATUS3 : str = INFO_STR; verb = 1; window = 2; break ; case ONSCREEN : log = 0; verb = 1; window = 3; break ; case FATAL : str = FATAL_STR; abort = 1; break ; @@ -141,8 +139,7 @@ void Msg(int level, char *fmt, ...) level != DEBUG2 && level != DEBUG3 && level != STATUS1N && - level != STATUS2N && - level != STATUS3N){ + level != STATUS1N){ WID->check(); } } diff --git a/Fltk/Solvers.cpp b/Fltk/Solvers.cpp index 62e52de78f20825becc9b84b78ce66aa20bcab1d..a2d3f8db6322c3dbda825e0f5e70ead7cc0c4347 100644 --- a/Fltk/Solvers.cpp +++ b/Fltk/Solvers.cpp @@ -1,4 +1,4 @@ -// $Id: Solvers.cpp,v 1.50 2006-03-10 15:54:30 geuzaine Exp $ +// $Id: Solvers.cpp,v 1.51 2006-08-05 10:05:45 geuzaine Exp $ // // Copyright (C) 1997-2006 C. Geuzaine, J.-F. Remacle // @@ -200,9 +200,9 @@ int Solver(int num, char *args) break; case GmshServer::CLIENT_PROGRESS: if(num >= 0) - Msg(STATUS3N, "%s %s", SINFO[num].name, message); + Msg(STATUS2N, "%s %s", SINFO[num].name, message); else - Msg(STATUS3N, "%s", message); + Msg(STATUS2N, "%s", message); break; case GmshServer::CLIENT_OPTION_1: if(num >= 0) @@ -279,7 +279,7 @@ int Solver(int num, char *args) Msg(WARNING, "Impossible to unlink the socket '%s'", sockname); if(num >= 0){ - Msg(STATUS3N, "Ready"); + Msg(STATUS2N, ""); } else{ Msg(INFO, "Client disconnected: starting new connection"); diff --git a/Geo/GModelIO.cpp b/Geo/GModelIO.cpp index 9dee137da7306658996c3666db3259a64078b2c4..1e2fefe38656e35d24aad6ed6f9cdd2a9a560ca4 100644 --- a/Geo/GModelIO.cpp +++ b/Geo/GModelIO.cpp @@ -52,16 +52,6 @@ static void storeElementsInEntities(GModel *m, int type, std::map<int, std::vector<MElement*> >::const_iterator ite = map.end(); for(; it != ite; ++it){ switch(type){ - case PNT: - { - GVertex *v = m->vertexByTag(it->first); - if(!v){ - v = new gmshVertex(m, it->first); - m->add(v); - } - if(type == PNT) copyElements(v->mesh_vertices, it->second); - } - break; case LGN1: { GEdge *e = m->edgeByTag(it->first); @@ -290,6 +280,20 @@ int GModel::readMSH(const std::string &name) // entity does not exist, create a new one. for(int i = 0; i < 7; i++) storeElementsInEntities(this, elementTypes[i], elements[i]); + + // treat points separately + { + std::map<int, std::vector<MVertex*> >::const_iterator it = points.begin(); + std::map<int, std::vector<MVertex*> >::const_iterator ite = points.end(); + for(; it != ite; ++it){ + GVertex *v = vertexByTag(it->first); + if(!v){ + v = new gmshVertex(this, it->first); + add(v); + } + v->mesh_vertices.push_back(it->second[0]); + } + } // loop on regions, then on faces, edges and vertices and store the // entity pointer in the the elements' vertices (this way we @@ -309,7 +313,12 @@ int GModel::readMSH(const std::string &name) associateEntityWithVertices(*it, (*it)->lines); } for(viter it = firstVertex(); it != lastVertex(); ++it){ - //FIXME: TODO + // special case for points: the mesh vertex has been copied here + // so that we can assign the entity: + (*it)->mesh_vertices[0]->setEntity(*it); + // now that this is done, we reset mesh_vertices so that it can be + // filled again below + (*it)->mesh_vertices.clear(); } // store the vertices in their associated geometrical entity @@ -321,7 +330,7 @@ int GModel::readMSH(const std::string &name) if(ge) ge->mesh_vertices.push_back(v); else - delete v; // delete unused vertex + delete v; // we delete all unused vertices } // store the physical tags diff --git a/Geo/Geo.cpp b/Geo/Geo.cpp index 177262972cfe2dd3dfbbb09bc23f1b173b002ec2..fafdb2f5cc97fff44b335727a056f4043ee048a4 100644 --- a/Geo/Geo.cpp +++ b/Geo/Geo.cpp @@ -1,4 +1,4 @@ -// $Id: Geo.cpp,v 1.51 2006-07-14 12:17:06 geuzaine Exp $ +// $Id: Geo.cpp,v 1.52 2006-08-05 10:05:45 geuzaine Exp $ // // Copyright (C) 1997-2006 C. Geuzaine, J.-F. Remacle // @@ -90,7 +90,7 @@ void add_infile(char *text, char *fich) return; } fprintf(yyin, "%s\n", text); - Msg(STATUS1, "%s", text); + Msg(STATUS2, "%s", text); fclose(yyin); yyin = fopen(CTX.tmp_filename_fullpath, "r"); while(!feof(yyin)) { diff --git a/Geo/Print_Geo.cpp b/Geo/Print_Geo.cpp index 893311ec3be7c8ffa7a8ede5a80d4b2ccfa2e2aa..78bd280fee973b762750b587c4672307faadaf66 100644 --- a/Geo/Print_Geo.cpp +++ b/Geo/Print_Geo.cpp @@ -1,4 +1,4 @@ -// $Id: Print_Geo.cpp,v 1.44 2006-07-12 07:24:13 geuzaine Exp $ +// $Id: Print_Geo.cpp,v 1.45 2006-08-05 10:05:45 geuzaine Exp $ // // Copyright (C) 1997-2006 C. Geuzaine, J.-F. Remacle // @@ -253,7 +253,6 @@ void Print_Geo(char *filename) Msg(GERROR, "Unable to open file '%s'", filename); return; } - Msg(INFO, "Writing flattened geometry file '%s'", filename); } else FOUT = stdout; @@ -264,9 +263,5 @@ void Print_Geo(char *filename) Tree_Action(THEM->Volumes, Print_Volume); List_Action(THEM->PhysicalGroups, Print_PhysicalGroups); - if(filename) { - Msg(INFO, "Wrote flattened geometry file '%s'", filename); - Msg(STATUS2N, "Wrote '%s'", filename); - fclose(FOUT); - } + if(filename) fclose(FOUT); } diff --git a/Graphics/CreateFile.cpp b/Graphics/CreateFile.cpp index 26adf8714fbbb838fad5161901487211d7b3e511..a6b7e6ae22324c697359b83c8685bfc977bab12e 100644 --- a/Graphics/CreateFile.cpp +++ b/Graphics/CreateFile.cpp @@ -1,4 +1,4 @@ -// $Id: CreateFile.cpp,v 1.84 2006-08-04 14:28:02 geuzaine Exp $ +// $Id: CreateFile.cpp,v 1.85 2006-08-05 10:05:45 geuzaine Exp $ // // Copyright (C) 1997-2006 C. Geuzaine, J.-F. Remacle // @@ -133,10 +133,15 @@ void CreateOutputFile(char *filename, int format) GLint width = viewport[2] - viewport[0]; GLint height = viewport[3] - viewport[1]; + bool printEndMessage = true; + if(format != FORMAT_AUTO) + Msg(INFO, "Writing %s file '%s'", GetStringForFileFormat(format), name); + switch (format) { case FORMAT_AUTO: CreateOutputFile(name, GuessFileFormatFromFileName(name)); + printEndMessage = false; break; case FORMAT_GEO: @@ -161,8 +166,7 @@ void CreateOutputFile(char *filename, int format) break; case FORMAT_LC: - ExportMeshStatistics(name); - Msg(STATUS2N, "Wrote '%s'", name); + GMODEL->writePOS(name); break; case FORMAT_PPM: @@ -190,7 +194,6 @@ void CreateOutputFile(char *filename, int format) CTX.print.gl_fonts = 1; CTX.bg_gradient = old_bg_gradient; - Msg(INFO, "Writing %s file '%s'", GetStringForFileFormat(format), name); if(format == FORMAT_PPM){ create_ppm(fp, &buffer); } @@ -213,9 +216,6 @@ void CreateOutputFile(char *filename, int format) else{ create_png(fp, &buffer, 100); } - - Msg(INFO, "Wrote %s file '%s'", GetStringForFileFormat(format), name); - Msg(STATUS2N, "Wrote '%s'", name); fclose(fp); } break; @@ -276,8 +276,6 @@ void CreateOutputFile(char *filename, int format) (format == FORMAT_EPSTEX ? GL2PS_NO_TEXT : 0) | (format == FORMAT_PDFTEX ? GL2PS_NO_TEXT : 0); - Msg(INFO, "Writing %s file '%s'", GetStringForFileFormat(format), name); - GLint buffsize = 0; int res = GL2PS_OVERFLOW; while(res == GL2PS_OVERFLOW) { @@ -311,9 +309,6 @@ void CreateOutputFile(char *filename, int format) } CTX.bg_gradient = old_bg_gradient; - - Msg(INFO, "Wrote %s file '%s'", GetStringForFileFormat(format), name); - Msg(STATUS2N, "Wrote '%s'", name); fclose(fp); } break; @@ -325,8 +320,6 @@ void CreateOutputFile(char *filename, int format) Msg(GERROR, "Unable to open file '%s'", name); return; } - Msg(INFO, "Writing TEX file '%s'", name); - GLint buffsize = 0; int res = GL2PS_OVERFLOW; while(res == GL2PS_OVERFLOW) { @@ -340,17 +333,21 @@ void CreateOutputFile(char *filename, int format) CTX.print.gl_fonts = 1; res = gl2psEndPage(); } - Msg(INFO, "Wrote TEX file '%s'", name); - Msg(STATUS2N, "Wrote '%s'", name); fclose(fp); } break; default: Msg(GERROR, "Unknown output file format (%d)", format); + printEndMessage = false; break; } + if(printEndMessage){ + Msg(INFO, "Wrote %s file '%s'", GetStringForFileFormat(format), name); + Msg(STATUS2N, "Wrote '%s'", name); + } + CTX.print.format = oldformat; Draw(); } diff --git a/Graphics/Geom.cpp b/Graphics/Geom.cpp index 1d633edc88b1845c29c9d8a74c5b4987f5baecc5..dee0ea5daa81a01e971aa66f52e9c1bd2ad38715 100644 --- a/Graphics/Geom.cpp +++ b/Graphics/Geom.cpp @@ -1,4 +1,4 @@ -// $Id: Geom.cpp,v 1.102 2006-08-04 14:28:02 geuzaine Exp $ +// $Id: Geom.cpp,v 1.103 2006-08-05 10:05:45 geuzaine Exp $ // // Copyright (C) 1997-2006 C. Geuzaine, J.-F. Remacle // @@ -280,7 +280,7 @@ void HighlightEntity(GEntity *e, int permanent) if(permanent) e->drawAttributes.Frozen = 2; else - Msg(STATUS1N, "%s", e->getInfoString().c_str()); + Msg(STATUS2N, "%s", e->getInfoString().c_str()); } void HighlightEntity(GVertex *v, GEdge *c, GFace *s, int permanent) @@ -288,7 +288,7 @@ void HighlightEntity(GVertex *v, GEdge *c, GFace *s, int permanent) if(v) HighlightEntity(v, permanent); else if(c) HighlightEntity(c, permanent); else if(s) HighlightEntity(s, permanent); - else if(!permanent) Msg(STATUS1N, " "); + else if(!permanent) Msg(STATUS2N, ""); } void HighlightEntityNum(int v, int c, int s, int permanent) diff --git a/Mesh/1D_Mesh.cpp b/Mesh/1D_Mesh.cpp index 8f5bc0afdf7243d5c85ae1ef4f8efe6041aaf5ee..26e5de0ab502f669b6980a316076d36fc53345bc 100644 --- a/Mesh/1D_Mesh.cpp +++ b/Mesh/1D_Mesh.cpp @@ -1,4 +1,4 @@ -// $Id: 1D_Mesh.cpp,v 1.48 2006-01-29 22:53:41 geuzaine Exp $ +// $Id: 1D_Mesh.cpp,v 1.49 2006-08-05 10:05:45 geuzaine Exp $ // // Copyright (C) 1997-2006 C. Geuzaine, J.-F. Remacle // @@ -135,7 +135,7 @@ void Maillage_Curve(void *data, void *dummy) if(c->Num < 0) return; - Msg(STATUS3, "Meshing curve %d", c->Num); + Msg(STATUS2, "Meshing curve %d", c->Num); if(MeshDiscreteCurve(c)){ return; diff --git a/Mesh/2D_Mesh.cpp b/Mesh/2D_Mesh.cpp index 2425bf15b0b78484c878578e73f0daa43844fb4a..b4a54fe64102b8922e32b4f4c08d0343ac944cc6 100644 --- a/Mesh/2D_Mesh.cpp +++ b/Mesh/2D_Mesh.cpp @@ -1,4 +1,4 @@ -// $Id: 2D_Mesh.cpp,v 1.84 2006-07-25 12:08:23 remacle Exp $ +// $Id: 2D_Mesh.cpp,v 1.85 2006-08-05 10:05:45 geuzaine Exp $ // // Copyright (C) 1997-2006 C. Geuzaine, J.-F. Remacle // @@ -844,7 +844,7 @@ void Maillage_Surface(void *data, void *dum) if(!s->Support) return; - Msg(STATUS3, "Meshing surface %d", s->Num); + Msg(STATUS2, "Meshing surface %d", s->Num); int tag = MeshDiscreteSurface(s); @@ -905,7 +905,7 @@ void Maillage_Surface(void *data, void *dum) Mesh_Triangle(s); if(CTX.mesh.nb_smoothing) { - Msg(STATUS3, "Smoothing surface %d", s->Num); + Msg(STATUS2, "Smoothing surface %d", s->Num); tnxe = Tree_Create(sizeof(NXE), compareNXE); create_NXE(s->Vertices, s->Simplexes, tnxe); for(int i = 0; i < CTX.mesh.nb_smoothing; i++) @@ -914,7 +914,7 @@ void Maillage_Surface(void *data, void *dum) } if(s->Recombine){ - Msg(STATUS3, "Recombining surface %d", s->Num); + Msg(STATUS2, "Recombining surface %d", s->Num); Recombine(s->Vertices, s->Simplexes, s->Quadrangles, s->RecombineAngle); } diff --git a/Mesh/2D_Mesh_Aniso.cpp b/Mesh/2D_Mesh_Aniso.cpp index b75ebe4b16d7dfe6a9ce0bd3b2e147f14b40e38a..3d83c46578ab79718d084d3fc3062e788b8004a6 100644 --- a/Mesh/2D_Mesh_Aniso.cpp +++ b/Mesh/2D_Mesh_Aniso.cpp @@ -1,4 +1,4 @@ -// $Id: 2D_Mesh_Aniso.cpp,v 1.53 2006-08-04 14:28:02 geuzaine Exp $ +// $Id: 2D_Mesh_Aniso.cpp,v 1.54 2006-08-05 10:05:45 geuzaine Exp $ // // Copyright (C) 1997-2006 C. Geuzaine, J.-F. Remacle // @@ -691,7 +691,7 @@ void Convex_Hull_Mesh_2D(List_T * Points, Surface * s) if(i%n == n-1){ volume = 0.0; Tree_Action(s->Simplexes,VSIM_2D); - Msg(STATUS3, %d->%d Nodes, %d Elements",i+1,N,Tree_Nbr(s->Simplexes)); + Msg(STATUS2, %d->%d Nodes, %d Elements",i+1,N,Tree_Nbr(s->Simplexes)); } */ if(!THES) { @@ -1048,7 +1048,7 @@ int AlgorithmeMaillage2DAnisotropeModeJF(Surface * s) N = List_Nbr(Points); n = N + 100; - Msg(STATUS2, "Mesh 2D... (initial)"); + Msg(STATUS1, "Mesh 2D... (initial)"); Convex_Hull_Mesh_2D(Points, s); List_Reset(Points); @@ -1111,7 +1111,7 @@ int AlgorithmeMaillage2DAnisotropeModeJF(Surface * s) return 1; } - Msg(STATUS2, "Mesh 2D... (final)"); + Msg(STATUS1, "Mesh 2D... (final)"); if(!Tree_Right(s->Simplexes, &simp)) Msg(WARNING, "No simplex left"); @@ -1146,10 +1146,9 @@ int AlgorithmeMaillage2DAnisotropeModeJF(Surface * s) if(i % n == n - 1) { volume = 0.0; Tree_Action(s->Simplexes, VSIM_2D); - Msg(STATUS3, "Nod=%d Elm=%d", - Tree_Nbr(s->Vertices), Tree_Nbr(s->Simplexes)); - Msg(STATUS1, "Surf(%g) Conv(%g->%g)", volume, simp->Quality, - CONV_VALUE); + Msg(STATUS2, "Nod=%d Elm=%d Sur=%g Conv=%g->%g", + Tree_Nbr(s->Vertices), Tree_Nbr(s->Simplexes), + volume, simp->Quality, CONV_VALUE); } Bowyer_Watson_2D(s, newv, simp, 0); Tree_Right(s->Simplexes, &simp); diff --git a/Mesh/2D_Recombine.cpp b/Mesh/2D_Recombine.cpp index 97a5c88331ff8d4fa0eb9c860cc92e1bc1e3ca5d..8b0c212f7964441ffe98dc7317c927c3b5c57e10 100644 --- a/Mesh/2D_Recombine.cpp +++ b/Mesh/2D_Recombine.cpp @@ -1,4 +1,4 @@ -// $Id: 2D_Recombine.cpp,v 1.28 2006-07-12 07:24:14 geuzaine Exp $ +// $Id: 2D_Recombine.cpp,v 1.29 2006-08-05 10:05:45 geuzaine Exp $ // // Copyright (C) 1997-2006 C. Geuzaine, J.-F. Remacle // @@ -207,7 +207,7 @@ int Recombine_All (Mesh *M) // add 2nd order nodes to all elements Degre2(2); - Msg(STATUS3, "Splitting all elements"); + Msg(STATUS2, "Splitting all elements"); // then split everybody for(int i = 0; i < List_Nbr(surfaces); i++){ diff --git a/Mesh/3D_BGMesh.cpp b/Mesh/3D_BGMesh.cpp index 5dbab4739ea90b5d2191dbb40d72cf39f904fc7d..2858cd000548c6a78c0562f4b0db76f3039870f2 100644 --- a/Mesh/3D_BGMesh.cpp +++ b/Mesh/3D_BGMesh.cpp @@ -1,4 +1,4 @@ -// $Id: 3D_BGMesh.cpp,v 1.46 2006-07-12 07:24:14 geuzaine Exp $ +// $Id: 3D_BGMesh.cpp,v 1.47 2006-08-05 10:05:45 geuzaine Exp $ // // Copyright (C) 1997-2006 C. Geuzaine, J.-F. Remacle // @@ -78,79 +78,3 @@ double BGMXYZ(double X, double Y, double Z) return CTX.mesh.lc_factor * l; } -// Export a mesh as a post-processing view (that can be modified into -// a background characteristic length field if desired) - -static FILE *statfile = NULL; - -void ExportStatistics(void *a, void *b) -{ - Element *ele = *(Element**)a; - if(statfile) ele->ExportStatistics(statfile); -} - -void ExportMeshStatistics(char *filename, - int volumes, int surfaces, int lines) -{ - statfile = fopen(filename, "w"); - - if(!statfile) { - Msg(GERROR, "Unable to open file '%s'", filename); - return; - } - - if(volumes && Tree_Nbr(THEM->Volumes)){ - List_T *l = Tree2List(THEM->Volumes); - fprintf(statfile, "View \"Volumes\" {\n"); - fprintf(statfile, "T2(1.e5,30,%d){\"Elementary Entity\", \"Element Number\", " - "\"Characteristic Length\", \"Gamma\", \"Eta\", \"Rho\"};\n", - (1<<16)|(4<<8)); - for(int i = 0; i < List_Nbr(l); i++) { - Volume *vol; - List_Read(l, i, &vol); - Tree_Action(vol->Simplexes, ExportStatistics); - Tree_Action(vol->SimplexesBase, ExportStatistics); - Tree_Action(vol->Hexahedra, ExportStatistics); - Tree_Action(vol->Prisms, ExportStatistics); - Tree_Action(vol->Pyramids, ExportStatistics); - } - List_Delete(l); - fprintf(statfile, "};\n"); - } - - if(surfaces && Tree_Nbr(THEM->Surfaces)){ - List_T *l = Tree2List(THEM->Surfaces); - fprintf(statfile, "View \"Surfaces\" {\n"); - fprintf(statfile, "T2(1.e5,30,%d){\"Elementary Entity\", \"Element Number\", " - "\"Characteristic Length\", \"Gamma\", \"Eta\", \"Rho\"};\n", - (1<<16)|(4<<8)); - for(int i = 0; i < List_Nbr(l); i++) { - Surface *surf; - List_Read(l, i, &surf); - Tree_Action(surf->Simplexes, ExportStatistics); - Tree_Action(surf->SimplexesBase, ExportStatistics); - Tree_Action(surf->Quadrangles, ExportStatistics); - } - List_Delete(l); - fprintf(statfile, "};\n"); - } - - if(lines && Tree_Nbr(THEM->Curves)){ - List_T *l = Tree2List(THEM->Curves); - fprintf(statfile, "View \"Lines\" {\n"); - fprintf(statfile, "T2(1.e5,30,%d){\"Elementary Entity\", \"Element Number\", " - "\"Characteristic Length\", \"Gamma\", \"Eta\", \"Rho\"};\n", - (1<<16)|(4<<8)); - for(int i = 0; i < List_Nbr(l); i++) { - Curve *lin; - List_Read(l, i, &lin); - Tree_Action(lin->Simplexes, ExportStatistics); - Tree_Action(lin->SimplexesBase, ExportStatistics); - } - List_Delete(l); - fprintf(statfile, "};\n"); - } - - fclose(statfile); - statfile = NULL; -} diff --git a/Mesh/3D_Coherence.cpp b/Mesh/3D_Coherence.cpp index 83da4aaa4bce483aed0466e68e5653d368eab2d1..bebc978a123b884dcbff5082a896beb0394f0b2c 100644 --- a/Mesh/3D_Coherence.cpp +++ b/Mesh/3D_Coherence.cpp @@ -1,4 +1,4 @@ -// $Id: 3D_Coherence.cpp,v 1.36 2006-01-06 00:34:25 geuzaine Exp $ +// $Id: 3D_Coherence.cpp,v 1.37 2006-08-05 10:05:45 geuzaine Exp $ // // Copyright (C) 1997-2006 C. Geuzaine, J.-F. Remacle // @@ -1177,7 +1177,7 @@ int Coherence(Volume * v, Mesh * m) MissingFaces = Missing_Faces(v); /* Edges Recovery */ - Msg(STATUS3, "Boundary edges recovery"); + Msg(STATUS2, "Boundary edges recovery"); volume = 0; Tree_Action(v->Simplexes, VSIM); @@ -1227,7 +1227,7 @@ int Coherence(Volume * v, Mesh * m) } - Msg(STATUS3, "Boundary faces recovery"); + Msg(STATUS2, "Boundary faces recovery"); volume = 0; Tree_Action(v->Simplexes, VSIM); Msg(INFO, "Volume = %g", volume); @@ -1365,7 +1365,7 @@ int Coherence(Volume * v, Mesh * m) } Link_Simplexes(NULL, v->Simplexes); - Msg(STATUS3, "Volume recovery"); + Msg(STATUS2, "Volume recovery"); Restore_Volume(v); return 1; diff --git a/Mesh/3D_Extrude.cpp b/Mesh/3D_Extrude.cpp index c8502a2a182ee0b9c99f55c84a980ffd668cf2e1..9d6040a5b2c330cbed5fd5f39f9c718eb3212fad 100644 --- a/Mesh/3D_Extrude.cpp +++ b/Mesh/3D_Extrude.cpp @@ -1,4 +1,4 @@ -// $Id: 3D_Extrude.cpp,v 1.92 2006-05-14 00:48:20 geuzaine Exp $ +// $Id: 3D_Extrude.cpp,v 1.93 2006-08-05 10:05:45 geuzaine Exp $ // // Copyright (C) 1997-2006 C. Geuzaine, J.-F. Remacle // @@ -1083,7 +1083,7 @@ int Extrude_Mesh(Tree_T * Volumes) if(!extrude) return false; - Msg(STATUS2, "Mesh 3D... (initial)"); + Msg(STATUS1, "Mesh 3D... (initial)"); for(int ivol = 0; ivol < List_Nbr(vol); ivol++) { List_Read(vol, ivol, &THEV); @@ -1092,7 +1092,7 @@ int Extrude_Mesh(Tree_T * Volumes) if(ep && ep->mesh.ExtrudeMesh && ep->geo.Mode == EXTRUDED_ENTITY) { s = FindSurface(ep->geo.Source, THEM); if(s) { - Msg(STATUS3, "Meshing volume %d", NUM); + Msg(STATUS2, "Meshing volume %d", NUM); Extrude_Surface1(s); } } @@ -1112,7 +1112,7 @@ int Extrude_Mesh(Tree_T * Volumes) Extrude_Surface2(s); } } - Msg(STATUS3, "Swapping %d", BAD_TETS); + Msg(STATUS2, "Swapping %d", BAD_TETS); if(BAD_TETS == j && j != 0) { Msg(GERROR, "Unable to swap all edges (output mesh will be incorrect): use 'Recombine'"); break; @@ -1120,7 +1120,7 @@ int Extrude_Mesh(Tree_T * Volumes) j = BAD_TETS; } while(BAD_TETS); - Msg(STATUS2, "Mesh 3D... (Final)"); + Msg(STATUS1, "Mesh 3D... (final)"); for(int ivol = 0; ivol < List_Nbr(vol); ivol++) { List_Read(vol, ivol, &THEV); @@ -1129,7 +1129,7 @@ int Extrude_Mesh(Tree_T * Volumes) if(ep && ep->mesh.ExtrudeMesh && ep->geo.Mode == EXTRUDED_ENTITY) { s = FindSurface(ep->geo.Source, THEM); if(s) { - Msg(STATUS3, "Meshing volume %d", NUM); + Msg(STATUS2, "Meshing volume %d", NUM); Extrude_Surface3(s); } } @@ -1154,7 +1154,7 @@ int Extrude_Mesh(Tree_T * Volumes) Tree_Action(s->Simplexes, Free_NegativeSimplex); Tree_Delete(s->Simplexes); s->Simplexes = tmp; - Msg(STATUS3, "Coherence surface %d", s->Num); + Msg(STATUS2, "Coherence surface %d", s->Num); Extrude_Mesh(s); } diff --git a/Mesh/3D_Mesh.cpp b/Mesh/3D_Mesh.cpp index fd113a615e61cef40fd681a67a0005a2becbedd4..47fb13de2a5ed7f538258aa861aa8db5887e78f0 100644 --- a/Mesh/3D_Mesh.cpp +++ b/Mesh/3D_Mesh.cpp @@ -1,4 +1,4 @@ -// $Id: 3D_Mesh.cpp,v 1.73 2006-01-31 00:22:33 geuzaine Exp $ +// $Id: 3D_Mesh.cpp,v 1.74 2006-08-05 10:05:45 geuzaine Exp $ // // Copyright (C) 1997-2006 C. Geuzaine, J.-F. Remacle // @@ -651,8 +651,6 @@ void Convex_Hull_Mesh(List_T * Points, Mesh * m) N = List_Nbr(Points); n = IMAX(N / 20, 1); - //clock_t t1 = clock(); - Box_6_Tetraedron(Points, m); List_Sort(Points, comparePosition); @@ -696,8 +694,8 @@ void Convex_Hull_Mesh(List_T * Points, Mesh * m) if(i % n == n - 1) { volume = 0.0; Tree_Action(m->Simplexes, VSIM); - Msg(STATUS3, "Nod=%d/%d Elm=%d", i + 1, N, Tree_Nbr(m->Simplexes)); - Msg(STATUS1, "Vol=%g (%d %d %d)", volume, Nb1, Nb2, Nb3); + Msg(STATUS2, "Nod=%d/%d Elm=%d Vol=%g (%d %d %d)", i + 1, N, + Tree_Nbr(m->Simplexes), volume, Nb1, Nb2, Nb3); } if(!THES) { Msg(WARNING, "Vertex (%g,%g,%g) in no simplex", THEV->Pos.X, @@ -743,10 +741,6 @@ void Convex_Hull_Mesh(List_T * Points, Mesh * m) } } } - //clock_t t2 = clock(); - - //Msg(STATUS3,"Nb1 = %d Nb2 = %d Nb3 = %d N = %d t = %lf",Nb1,Nb2,Nb3 - // ,N,(double)(t2-t1)/CLOCKS_PER_SEC); } void suppress_vertex(void *data, void *dum) @@ -830,7 +824,7 @@ void Maillage_Volume(void *data, void *dum) // Create initial mesh respecting the boundary - Msg(STATUS2, "Mesh 3D... (initial)"); + Msg(STATUS1, "Mesh 3D... (initial)"); Convex_Hull_Mesh(POINTS_LIST, LOCAL); @@ -873,7 +867,7 @@ void Maillage_Volume(void *data, void *dum) // If there is something left to mesh: - Msg(STATUS2, "Mesh 3D... (final)"); + Msg(STATUS1, "Mesh 3D... (final)"); v->Simplexes = LOCAL->Simplexes; @@ -907,10 +901,9 @@ void Maillage_Volume(void *data, void *dum) if(i % n == n - 1) { volume = 0.0; Tree_Action(LOCAL->Simplexes, VSIM); - Msg(STATUS3, "Nod=%d Elm=%d", - Tree_Nbr(LOCAL->Vertices), Tree_Nbr(LOCAL->Simplexes)); - Msg(STATUS1, "Vol(%g) Conv(%g->%g)", volume, simp->Quality, - CONV_VALUE); + Msg(STATUS2, "Nod=%d Elm=%d Vol=%g Conv=%g->%g", + Tree_Nbr(LOCAL->Vertices), Tree_Nbr(LOCAL->Simplexes), + volume, simp->Quality, CONV_VALUE); } Bowyer_Watson(LOCAL, newv, simp, 0); Tree_Right(LOCAL->Simplexes, &simp); @@ -925,24 +918,24 @@ void Maillage_Volume(void *data, void *dum) if(CTX.mesh.quality) { extern void SwapEdges3D(Mesh * M, Volume * v, double GammaPrescribed, bool order); - Msg(STATUS3, "Swapping edges (1st pass)"); + Msg(STATUS2, "Swapping edges (1st pass)"); SwapEdges3D(THEM, v, CTX.mesh.quality, true); - Msg(STATUS3, "Swapping edges (2nd pass)"); + Msg(STATUS2, "Swapping edges (2nd pass)"); SwapEdges3D(THEM, v, CTX.mesh.quality, false); - Msg(STATUS3, "Swapping edges (last pass)"); + Msg(STATUS2, "Swapping edges (last pass)"); SwapEdges3D(THEM, v, CTX.mesh.quality, true); } #endif #if 0 // this is full of bugs, too :-) if(CTX.mesh.nb_smoothing) { - Msg(STATUS3, "Smoothing volume %d", v->Num); + Msg(STATUS2, "Smoothing volume %d", v->Num); tnxe = Tree_Create (sizeof (NXE), compareNXE); create_NXE (v->Vertices, v->Simplexes, tnxe); for (int i = 0; i < CTX.mesh.nb_smoothing; i++) Tree_Action (tnxe, ActionLiss); delete_NXE (tnxe); - Msg(STATUS3, "Swapping edges (last pass)"); + Msg(STATUS2, "Swapping edges (last pass)"); SwapEdges3D (THEM, v, 0.5, true); } #endif diff --git a/Mesh/3D_Mesh_Netgen.cpp b/Mesh/3D_Mesh_Netgen.cpp index 7d9fbdc86f48f90869a1d6467d17a66499c8f1e5..47e734c4ff919f5f1f5f48c324ff0173615a8b96 100644 --- a/Mesh/3D_Mesh_Netgen.cpp +++ b/Mesh/3D_Mesh_Netgen.cpp @@ -1,4 +1,4 @@ -// $Id: 3D_Mesh_Netgen.cpp,v 1.23 2006-07-12 07:24:14 geuzaine Exp $ +// $Id: 3D_Mesh_Netgen.cpp,v 1.24 2006-08-05 10:05:45 geuzaine Exp $ // // Copyright (C) 1997-2006 C. Geuzaine, J.-F. Remacle // @@ -285,7 +285,7 @@ int Mesh_Netgen(Volume * v) return 0; } - Msg(STATUS3, "Meshing volume %d", v->Num); + Msg(STATUS2, "Meshing volume %d", v->Num); Netgen ng(v); ng.MeshVolume(); ng.TransferVolumeMesh(); @@ -302,7 +302,7 @@ void Optimize_Netgen(Volume * v) Extrude_Mesh(v) || !Tree_Nbr(v->Simplexes)) return; - Msg(STATUS3, "Optimizing volume %d", v->Num); + Msg(STATUS2, "Optimizing volume %d", v->Num); Netgen ng(v, 1); ng.OptimizeVolume(); ng.TransferVolumeMesh(); @@ -310,7 +310,7 @@ void Optimize_Netgen(Volume * v) void Optimize_Netgen() { - Msg(STATUS2, "Optimize volume mesh..."); + Msg(STATUS1, "Mesh optimize 3D..."); double t1 = Cpu(); // cleanup 2nd order vertices, if any @@ -329,7 +329,7 @@ void Optimize_Netgen() List_Delete(list); double t2 = Cpu(); - Msg(STATUS2, "Optimize volume mesh complete (%g s)", t2 - t1); + Msg(STATUS1, "Mesh optimize 3D complete (%g s)", t2 - t1); } #endif // !HAVE_NETGEN diff --git a/Mesh/3D_Mesh_Tetgen.cpp b/Mesh/3D_Mesh_Tetgen.cpp index e6ede517a1bf04e2a1d3bf429cf514371d1dcbd7..32a86c3d99ba27209476c0dc865c53930837f571 100644 --- a/Mesh/3D_Mesh_Tetgen.cpp +++ b/Mesh/3D_Mesh_Tetgen.cpp @@ -1,4 +1,4 @@ -// $Id: 3D_Mesh_Tetgen.cpp,v 1.7 2006-06-08 12:32:08 geuzaine Exp $ +// $Id: 3D_Mesh_Tetgen.cpp,v 1.8 2006-08-05 10:05:45 geuzaine Exp $ // // Copyright (C) 1997-2006 C. Geuzaine, J.-F. Remacle // @@ -56,7 +56,7 @@ int Mesh_Tetgen(Volume * vol) { return 0; } - Msg(STATUS3, "Meshing volume %d with experimental tetgen", vol->Num); + Msg(STATUS2, "Meshing volume %d with experimental tetgen", vol->Num); // Get all surface vertices (from all surfaces) Tree_T *treeVrtx = Tree_Create(sizeof(Vertex*), compareVertex); @@ -131,7 +131,7 @@ int Mesh_Tetgen(Volume * vol) { sprintf(opts, "pq1.4Ya%f%c", (float)CTX.mesh.quality, (CTX.verbosity < 3)? 'Q': (CTX.verbosity > 6)? 'V': '\0'); - Msg(STATUS3, "Meshing with volume constraint %f", (float)CTX.mesh.quality); + Msg(STATUS2, "Meshing with volume constraint %f", (float)CTX.mesh.quality); tetrahedralize(opts, &in, &out); diff --git a/Mesh/3D_Transfinite.cpp b/Mesh/3D_Transfinite.cpp index 3ea0e019a691450cd27ecb4e38d5058891375675..28220cc13909ee8a43f9f73c530f9b25c703bfab 100644 --- a/Mesh/3D_Transfinite.cpp +++ b/Mesh/3D_Transfinite.cpp @@ -1,4 +1,4 @@ -// $Id: 3D_Transfinite.cpp,v 1.5 2006-01-06 00:34:26 geuzaine Exp $ +// $Id: 3D_Transfinite.cpp,v 1.6 2006-08-05 10:05:45 geuzaine Exp $ // // Copyright (C) 1997-2006 C. Geuzaine, J.-F. Remacle // @@ -219,7 +219,7 @@ int MeshTransfiniteVolume(Volume * vol) if(List_Nbr(vol->TrsfPoints) != nbp) return 0; - Msg(STATUS3, "Meshing volume %d", vol->Num); + Msg(STATUS2, "Meshing volume %d", vol->Num); for(i = 0; i < 6; i++) G[i] = NULL; diff --git a/Mesh/DiscreteSurface.cpp b/Mesh/DiscreteSurface.cpp index be03c3a65beef80047c9b95dc5565f5d31df1d2e..3b1ce9061a27ee9046ba73f1a5e0a5857e63a736 100644 --- a/Mesh/DiscreteSurface.cpp +++ b/Mesh/DiscreteSurface.cpp @@ -1,4 +1,4 @@ -// $Id: DiscreteSurface.cpp,v 1.40 2006-07-12 07:24:14 geuzaine Exp $ +// $Id: DiscreteSurface.cpp,v 1.41 2006-08-05 10:05:45 geuzaine Exp $ // // Copyright (C) 1997-2006 C. Geuzaine, J.-F. Remacle // @@ -309,7 +309,7 @@ void BDS_To_Mesh_2(Mesh *M) } } - Msg(STATUS3N, "Ready"); + Msg(STATUS2N, ""); } void BDS_To_Mesh(Mesh *M) @@ -429,13 +429,13 @@ int MeshDiscreteSurface(Surface * s) THEM->bds->LC, CTX.mesh.beta_smooth_metric, CTX.mesh.nb_elem_per_rc); if(!THEM->bds_mesh) { - Msg(STATUS2, "Remesh 2D..."); + Msg(STATUS1, "Remesh 2D..."); double t1 = Cpu(); THEM->bds_mesh = new BDS_Mesh(*(THEM->bds)); int iter = 0; while(iter < NITER && THEM->bds_mesh->adapt_mesh(metric, true, THEM->bds)) { - Msg(STATUS3, "Iter=%d/%d Tri=%d", iter, NITER, THEM->bds_mesh->triangles.size()); + Msg(STATUS2, "Iter=%d/%d Tri=%d", iter, NITER, THEM->bds_mesh->triangles.size()); iter++; } BDS_To_Mesh_2(THEM); @@ -444,7 +444,7 @@ int MeshDiscreteSurface(Surface * s) // THEM->bds_mesh->save_gmsh_format("3.msh"); double t2 = Cpu(); - Msg(STATUS2, "Remesh 2D complete (%g s)", t2 - t1); + Msg(STATUS1, "Remesh 2D complete (%g s)", t2 - t1); // NITER++; return 1; } diff --git a/Mesh/Element.cpp b/Mesh/Element.cpp index f33ec6533ee28b7c6874f0c7b4f554cb83333399..cf3dbc4fffa9a2369db1ed4b8d13e15d63956da4 100644 --- a/Mesh/Element.cpp +++ b/Mesh/Element.cpp @@ -1,4 +1,4 @@ -// $Id: Element.cpp,v 1.11 2006-01-29 20:32:48 geuzaine Exp $ +// $Id: Element.cpp,v 1.12 2006-08-05 10:05:45 geuzaine Exp $ // // Copyright (C) 1997-2006 C. Geuzaine, J.-F. Remacle // @@ -94,15 +94,6 @@ Quadrangle *Create_Quadrangle(Vertex *v1, Vertex *v2, Vertex *v3, Vertex *v4) return new Quadrangle(v1, v2, v3, v4); } -void Quadrangle::ExportStatistics(FILE * f) -{ - int N = 4, NSUP = VSUP ? 5 : 0; - double g = 0.; - double e = 0.; - double r = RhoShapeMeasure(); - print_elm_stats(f, Num, iEnt, g, e, r, "SQ", N, V, "SQ2", NSUP, VSUP); -} - void Free_Quadrangle(void *a, void *b) { Quadrangle *q = *(Quadrangle **) a; @@ -173,15 +164,6 @@ Hexahedron *Create_Hexahedron(Vertex * v1, Vertex * v2, Vertex * v3, return new Hexahedron(v1, v2, v3, v4, v5, v6, v7, v8); } -void Hexahedron::ExportStatistics(FILE * f) -{ - int N = 8, NSUP = VSUP ? 19 : 0; - double g = 0.; - double e = 0.; - double r = RhoShapeMeasure(); - print_elm_stats(f, Num, iEnt, g, e, r, "SH", N, V, "SH2", NSUP, VSUP); -} - void Free_Hexahedron(void *a, void *b) { Hexahedron *h = *(Hexahedron **) a; @@ -251,15 +233,6 @@ Prism *Create_Prism(Vertex * v1, Vertex * v2, Vertex * v3, return new Prism(v1, v2, v3, v4, v5, v6); } -void Prism::ExportStatistics(FILE * f) -{ - int N = 6, NSUP = VSUP ? 12 : 0; - double g = 0.; - double e = 0.; - double r = RhoShapeMeasure(); - print_elm_stats(f, Num, iEnt, g, e, r, "SI", N, V, "SI2", NSUP, VSUP); -} - void Free_Prism(void *a, void *b) { Prism *p = *(Prism **) a; @@ -327,15 +300,6 @@ Pyramid *Create_Pyramid(Vertex * v1, Vertex * v2, Vertex * v3, return new Pyramid(v1, v2, v3, v4, v5); } -void Pyramid::ExportStatistics(FILE * f) -{ - int N = 5, NSUP = VSUP ? 9 : 0; - double g = 0.; - double e = 0.; - double r = RhoShapeMeasure(); - print_elm_stats(f, Num, iEnt, g, e, r, "SY", N, V, "SY2", NSUP, VSUP); -} - void Free_Pyramid(void *a, void *b) { Pyramid *p = *(Pyramid **) a; @@ -352,38 +316,3 @@ int comparePyramid(const void *a, const void *b) return (q->Num - w->Num); } -// dump an element in a parsed post-processing view - -void print_elm_stats(FILE *f, int Num, int Ent, double Gamma, double Eta, double Rho, - const char *S, int N, Vertex **V, - const char *SSUP, int NSUP, Vertex **VSUP) -{ - fprintf(f, "%s(", NSUP ? SSUP : S); - for(int i = 0; i < N; i++){ - if(i) fprintf(f, ","); - fprintf(f, "%g,%g,%g", V[i]->Pos.X, V[i]->Pos.Y, V[i]->Pos.Z); - } - for(int i = 0; i < NSUP; i++){ - fprintf(f, ",%g,%g,%g", VSUP[i]->Pos.X, VSUP[i]->Pos.Y, VSUP[i]->Pos.Z); - } - fprintf(f, "){"); - for(int i = 0; i < N+NSUP; i++) - fprintf(f, "%d,", Ent); - for(int i = 0; i < N+NSUP; i++) - fprintf(f, "%d,", Num); - for(int i = 0; i < N; i++) - fprintf(f, "%g,", V[i]->lc); - for(int i = 0; i < NSUP; i++) - fprintf(f, "%g,", VSUP[i]->lc); - for(int i = 0; i < N+NSUP; i++) - fprintf(f, "%g,", Gamma); - for(int i = 0; i < N+NSUP; i++) - fprintf(f, "%g,", Eta); - for(int i = 0; i < N+NSUP; i++){ - if(i == N+NSUP - 1) - fprintf(f, "%g", Rho); - else - fprintf(f, "%g,", Rho); - } - fprintf(f, "};\n"); -} diff --git a/Mesh/Element.h b/Mesh/Element.h index 56ab1f3706510cc0fecbcd4f49809ab47420a899..ccb60f80bf63cc990451d76ec5dced87549ffb2a 100644 --- a/Mesh/Element.h +++ b/Mesh/Element.h @@ -36,7 +36,6 @@ class Element { virtual double maxEdge() = 0; virtual double minEdge() = 0; double RhoShapeMeasure(); - virtual void ExportStatistics(FILE *f) = 0; }; class Quadrangle : public Element{ @@ -47,7 +46,6 @@ class Quadrangle : public Element{ ~Quadrangle() {} double maxEdge(); double minEdge(); - void ExportStatistics(FILE *f); }; class Hexahedron : public Element{ @@ -60,7 +58,6 @@ class Hexahedron : public Element{ double Orientation(); double maxEdge(); double minEdge(); - void ExportStatistics(FILE *f); }; class Prism : public Element{ @@ -73,7 +70,6 @@ class Prism : public Element{ double Orientation(); double maxEdge(); double minEdge(); - void ExportStatistics(FILE *f); }; class Pyramid : public Element{ @@ -85,7 +81,6 @@ class Pyramid : public Element{ double Orientation(); double maxEdge(); double minEdge(); - void ExportStatistics(FILE *f); }; // C interface @@ -108,8 +103,4 @@ int compareHexahedron(const void *a, const void *b); int comparePrism(const void *a, const void *b); int comparePyramid(const void *a, const void *b); -void print_elm_stats(FILE *f, int Num, int Ent, double Gamma, double Eta, double Rho, - const char *S, int N, Vertex **V, - const char *SSUP, int NSUP, Vertex **VSUP); - #endif diff --git a/Mesh/Generator.cpp b/Mesh/Generator.cpp index 0fadd7aee3d9dcd933acd1d89dc6005faf717484..551b1c5e0195225f61eb76f34e25acfe93a4bb5a 100644 --- a/Mesh/Generator.cpp +++ b/Mesh/Generator.cpp @@ -1,4 +1,4 @@ -// $Id: Generator.cpp,v 1.86 2006-07-25 12:08:24 remacle Exp $ +// $Id: Generator.cpp,v 1.87 2006-08-05 10:05:45 geuzaine Exp $ // // Copyright (C) 1997-2006 C. Geuzaine, J.-F. Remacle // @@ -506,7 +506,7 @@ void mai3d(int Asked) if((Asked > oldstatus && Asked > 0 && oldstatus < 1) || (Asked < oldstatus && Asked > 0)) { - Msg(STATUS2, "Mesh 1D..."); + Msg(STATUS1, "Mesh 1D..."); t1 = Cpu(); if(THEM->status > 1) { @@ -515,7 +515,7 @@ void mai3d(int Asked) Maillage_Dimension_1(); t2 = Cpu(); - Msg(STATUS2, "Mesh 1D complete (%g s)", t2 - t1); + Msg(STATUS1, "Mesh 1D complete (%g s)", t2 - t1); THEM->status = 1; } @@ -523,7 +523,7 @@ void mai3d(int Asked) if((Asked > oldstatus && Asked > 1 && oldstatus < 2) || (Asked < oldstatus && Asked > 1)) { - Msg(STATUS2, "Mesh 2D..."); + Msg(STATUS1, "Mesh 2D..."); t1 = Cpu(); if(THEM->status == 3) { @@ -533,7 +533,7 @@ void mai3d(int Asked) Maillage_Dimension_2(); t2 = Cpu(); - Msg(STATUS2, "Mesh 2D complete (%g s)", t2 - t1); + Msg(STATUS1, "Mesh 2D complete (%g s)", t2 - t1); THEM->status = 2; } @@ -541,11 +541,11 @@ void mai3d(int Asked) if((Asked > oldstatus && Asked > 2 && oldstatus < 3) || (Asked < oldstatus && Asked > 2)) { - Msg(STATUS2, "Mesh 3D..."); + Msg(STATUS1, "Mesh 3D..."); t1 = Cpu(); Maillage_Dimension_3(); t2 = Cpu(); - Msg(STATUS2, "Mesh 3D complete (%g s)", t2 - t1); + Msg(STATUS1, "Mesh 3D complete (%g s)", t2 - t1); THEM->status = 3; } diff --git a/Mesh/Mesh.h b/Mesh/Mesh.h index f5aaa74f194704565a7c43f14298686b2cd1ea6f..f76a30c05689dae5d97b7911c07d0995c4ab57dd 100644 --- a/Mesh/Mesh.h +++ b/Mesh/Mesh.h @@ -419,7 +419,6 @@ int Recombine(Tree_T *TreeAllVert, Tree_T *TreeAllSimp, Tree_T *TreeAllQuad, double a); int Recombine_All(Mesh *M); void ApplyLcFactor(); -void ExportMeshStatistics(char *filename, int vol=1, int surf=1, int lin=1); void Degre1(); void Degre2(int dim); diff --git a/Mesh/Print_Mesh.cpp b/Mesh/Print_Mesh.cpp index e566953fca508c4bf34baa4dbfb708b433682a1b..00872cffe2dd90ec9bc8a357b2096d527a28ead3 100644 --- a/Mesh/Print_Mesh.cpp +++ b/Mesh/Print_Mesh.cpp @@ -1,4 +1,4 @@ -// $Id: Print_Mesh.cpp,v 1.76 2006-07-12 07:24:14 geuzaine Exp $ +// $Id: Print_Mesh.cpp,v 1.77 2006-08-05 10:05:45 geuzaine Exp $ // // Copyright (C) 1997-2006 C. Geuzaine, J.-F. Remacle // @@ -1922,8 +1922,6 @@ void Print_Mesh(char *filename, int Type) else strcpy(name, filename); - Msg(INFO, "Writing mesh file '%s'", name); - FILE *fp = fopen(name, "w"); if(!fp) { Msg(GERROR, "Unable to open file '%s'", name); @@ -1944,8 +1942,6 @@ void Print_Mesh(char *filename, int Type) } fclose(fp); - Msg(INFO, "Wrote mesh file '%s'", name); - Msg(STATUS2N, "Wrote '%s'", name); CTX.threads_lock = 0; } diff --git a/Mesh/SecondOrder.cpp b/Mesh/SecondOrder.cpp index c451adb431b05c9c6a79893a2259c92c6622f3cb..33333e7d1c977f813297b49a4919f9c8684b4f4d 100644 --- a/Mesh/SecondOrder.cpp +++ b/Mesh/SecondOrder.cpp @@ -1,4 +1,4 @@ -// $Id: SecondOrder.cpp,v 1.38 2006-07-12 07:24:14 geuzaine Exp $ +// $Id: SecondOrder.cpp,v 1.39 2006-08-05 10:05:45 geuzaine Exp $ // // Copyright (C) 1997-2006 C. Geuzaine, J.-F. Remacle // @@ -479,7 +479,7 @@ void Degre2_Curve(void *a, void *b) Curve *c = *(Curve**)a; if(c->Num < 0) return; - Msg(STATUS3, "Second order curve %d", c->Num); + Msg(STATUS2, "Second order curve %d", c->Num); edges->AddSimplexTree(c->Simplexes); THEC = c; @@ -491,7 +491,7 @@ void Degre2_Surface(void *a, void *b) { Surface *s = *(Surface**)a; - Msg(STATUS3, "Second order surface %d", s->Num); + Msg(STATUS2, "Second order surface %d", s->Num); edges->AddSimplexTree(s->Simplexes); edges->AddQuadrangleTree(s->Quadrangles); @@ -507,7 +507,7 @@ void Degre2_Volume(void *a, void *b) { Volume *v = *(Volume**)a; - Msg(STATUS3, "Second order volume %d", v->Num); + Msg(STATUS2, "Second order volume %d", v->Num); edges->AddSimplexTree(v->Simplexes); edges->AddHexahedronTree(v->Hexahedra); @@ -527,7 +527,7 @@ void Degre2_Volume(void *a, void *b) void Degre2(int dim) { - Msg(STATUS2, "Mesh second order..."); + Msg(STATUS1, "Mesh second order..."); double t1 = Cpu(); Degre1(); @@ -540,5 +540,5 @@ void Degre2(int dim) Tree_Action(THEM->Volumes, Degre2_Volume); double t2 = Cpu(); - Msg(STATUS2, "Mesh second order complete (%g s)", t2 - t1); + Msg(STATUS1, "Mesh second order complete (%g s)", t2 - t1); } diff --git a/Mesh/Simplex.cpp b/Mesh/Simplex.cpp index b0b8588e1a78874b7eca70ca0f4017b1c3ba678d..2e2b4258b554a2635d0082639b4dd2c3df2b8ce3 100644 --- a/Mesh/Simplex.cpp +++ b/Mesh/Simplex.cpp @@ -1,4 +1,4 @@ -// $Id: Simplex.cpp,v 1.47 2006-01-29 22:53:41 geuzaine Exp $ +// $Id: Simplex.cpp,v 1.48 2006-08-05 10:05:45 geuzaine Exp $ // // Copyright (C) 1997-2006 C. Geuzaine, J.-F. Remacle // @@ -213,18 +213,6 @@ double SimplexBase::GammaShapeMeasure() return 12. * rhoin() / (sqrt(6.) * maxlij); } -void SimplexBase::ExportStatistics(FILE * f) -{ - int N = !V[2] ? 2 : (!V[3] ? 3 : 4); - int NSUP = !VSUP ? 0 : (!V[2] ? 1 : (!V[3] ? 3 : 6)); - double g = GammaShapeMeasure(); - double e = EtaShapeMeasure(); - double r = RhoShapeMeasure(); - print_elm_stats(f, Num, iEnt, g, e, r, - !V[2] ? "SL" : (!V[3] ? "ST" : "SS"), N, V, - !V[2] ? "SL2" : (!V[3] ? "ST2" : "SS2"), NSUP, VSUP); -} - SimplexBase *Create_SimplexBase(Vertex * v1, Vertex * v2, Vertex * v3, Vertex * v4) { return new SimplexBase(v1, v2, v3, v4); diff --git a/Mesh/Simplex.h b/Mesh/Simplex.h index 041f8ec7a0566ab7ac498bd454c8ec2a14a6c2ae..4f3043dda1374d6ef3b30a82cca84b6e2ce83cc5 100644 --- a/Mesh/Simplex.h +++ b/Mesh/Simplex.h @@ -43,7 +43,6 @@ class SimplexBase : public Element { double rhoin(); double maxEdge(); double minEdge(); - void ExportStatistics(FILE *f); }; SimplexBase *Create_SimplexBase(Vertex *v1, Vertex *v2, Vertex *v3, Vertex *v4); diff --git a/Mesh/meshGEdge.cpp b/Mesh/meshGEdge.cpp index 5d2a6f6ee41a242558c0d7f7cac47a453d81e3db..4ecd35737e029eb559257e78e0cc6cb1fa1663b7 100644 --- a/Mesh/meshGEdge.cpp +++ b/Mesh/meshGEdge.cpp @@ -111,7 +111,7 @@ void meshGEdge :: operator() (GEdge *ge) dem(ge); // Send a messsage to the GMSH environment - Msg(STATUS3, "Meshing curve %d", ge->tag()); + Msg(STATUS2, "Meshing curve %d", ge->tag()); // Create a list of integration points List_T *Points = List_Create(10, 10, sizeof(IntPoint));