diff --git a/Mesh/Read_Mesh.cpp b/Mesh/Read_Mesh.cpp index b8be37d7b028d4e1a8e18650b22217d26d4b67f3..98bcb2ad5bff4b778e3de0f3777c08f27ceb68f0 100644 --- a/Mesh/Read_Mesh.cpp +++ b/Mesh/Read_Mesh.cpp @@ -1,4 +1,4 @@ -// $Id: Read_Mesh.cpp,v 1.83 2005-02-16 05:17:54 geuzaine Exp $ +// $Id: Read_Mesh.cpp,v 1.84 2005-02-16 05:48:28 geuzaine Exp $ // // Copyright (C) 1997-2005 C. Geuzaine, J.-F. Remacle // @@ -207,6 +207,9 @@ void Read_Mesh_MSH(Mesh * M, FILE * fp) if(CTX.mesh.check_duplicates) Duplicates = Tree_Create(sizeof(Vertex *), comparePosition); + + int NN = (Nbr_Nodes > 100000) ? Nbr_Nodes/50 : Nbr_Nodes/10; + for(i_Node = 0; i_Node < Nbr_Nodes; i_Node++) { fscanf(fp, "%d %lf %lf %lf", &Num, &x, &y, &z); vert = Create_Vertex(Num, x, y, z, 1.0, 0.0); @@ -221,10 +224,11 @@ void Read_Mesh_MSH(Mesh * M, FILE * fp) else Tree_Add(Duplicates, &vert); } - if(i_Node % (Nbr_Nodes/50) == (Nbr_Nodes/50) - 1) + if(i_Node % NN == NN - 1) Msg(PROGRESS, "Read %d nodes", i_Node + 1); } Msg(PROGRESS, ""); + if(CTX.mesh.check_duplicates) Tree_Delete(Duplicates); } @@ -240,6 +244,8 @@ void Read_Mesh_MSH(Mesh * M, FILE * fp) if(CTX.mesh.check_duplicates) Duplicates = Tree_Create(sizeof(Vertex *), comparePosition); + int NN = (Nbr_Elements > 100000) ? Nbr_Elements/50 : Nbr_Elements/10; + for(i_Element = 0; i_Element < Nbr_Elements; i_Element++) { if(version <= 1.0){ @@ -462,7 +468,7 @@ void Read_Mesh_MSH(Mesh * M, FILE * fp) break; } - if(i_Element % (Nbr_Elements/50) == (Nbr_Elements/50) - 1) + if(i_Element % NN == NN - 1) Msg(PROGRESS, "Read %d elements", i_Element + 1); } Msg(PROGRESS, "");