diff --git a/Mesh/1D_Mesh.cpp b/Mesh/1D_Mesh.cpp index bbc6e5a470f49815b3b3afebdba593a262e87eb4..ecfce07e0e187a2f14df3db0081e98b43e3be7fa 100644 --- a/Mesh/1D_Mesh.cpp +++ b/Mesh/1D_Mesh.cpp @@ -1,4 +1,4 @@ -// $Id: 1D_Mesh.cpp,v 1.16 2001-05-29 13:26:54 geuzaine Exp $ +// $Id: 1D_Mesh.cpp,v 1.17 2001-08-01 16:37:15 geuzaine Exp $ #include "Gmsh.h" #include "Const.h" @@ -115,6 +115,11 @@ void Maillage_Curve (void *data, void *dummy){ if (c->Num < 0) return; + if(c->Dirty){ + Msg(INFO, "Not meshing dirty Curve %d", c->Num); + return; + } + Msg(STATUS3, "Meshing Curve %d", c->Num); Points = List_Create (10, 10, sizeof (IntPoint)); diff --git a/Mesh/2D_Mesh.cpp b/Mesh/2D_Mesh.cpp index 3b9d9655a933b435e7f0758761037762a567cd9e..4fcd6452e67c5d2e777af98adc41e8fc68b19e98 100644 --- a/Mesh/2D_Mesh.cpp +++ b/Mesh/2D_Mesh.cpp @@ -1,4 +1,4 @@ -// $Id: 2D_Mesh.cpp,v 1.30 2001-07-26 21:26:34 geuzaine Exp $ +// $Id: 2D_Mesh.cpp,v 1.31 2001-08-01 16:37:15 geuzaine Exp $ /* Maillage Delaunay d'une surface (Point insertion Technique) @@ -862,6 +862,11 @@ void Maillage_Surface (void *data, void *dum){ if (!s->Support) return; + if(s->Dirty){ + Msg(INFO, "Not meshing dirty Surface %d", s->Num); + return; + } + THESUPPORT = s->Support; THESURFACE = s; diff --git a/Mesh/3D_Mesh.cpp b/Mesh/3D_Mesh.cpp index 6874a0d62046fbfe631bbc9071bb7df727217686..232b52e8f1a4be3f25ff9183755b235b53ebc2a2 100644 --- a/Mesh/3D_Mesh.cpp +++ b/Mesh/3D_Mesh.cpp @@ -1,4 +1,4 @@ -// $Id: 3D_Mesh.cpp,v 1.22 2001-06-25 15:24:12 remacle Exp $ +// $Id: 3D_Mesh.cpp,v 1.23 2001-08-01 16:37:15 geuzaine Exp $ /* @@ -725,6 +725,11 @@ void Maillage_Volume (void *data, void *dum){ pv = (Volume **) data; v = *pv; + if(v->Dirty){ + Msg(INFO, "Not meshing dirty Volume %d", v->Num); + return; + } + if (Extrude_Mesh (v)){ } diff --git a/Mesh/Create.cpp b/Mesh/Create.cpp index ac64a9cfc815e326207b3d4588a6cb26af385be0..25293b2f3fc720488007cbe76cbac12779704b65 100644 --- a/Mesh/Create.cpp +++ b/Mesh/Create.cpp @@ -1,4 +1,4 @@ -// $Id: Create.cpp,v 1.21 2001-06-25 13:05:16 geuzaine Exp $ +// $Id: Create.cpp,v 1.22 2001-08-01 16:37:15 geuzaine Exp $ #include "Gmsh.h" #include "Const.h" @@ -423,6 +423,7 @@ Curve *Create_Curve (int Num, int Typ, int Order, List_T * Liste, {1, 0, 0, 0.0} }; pC = (Curve *) Malloc (sizeof (Curve)); + pC->Dirty = 0; pC->cp = NULL; pC->Vertices = NULL; pC->Extrude = NULL; @@ -534,6 +535,7 @@ Surface * Create_Surface (int Num, int Typ, int Mat){ Surface *pS; pS = (Surface *) Malloc (sizeof (Surface)); + pS->Dirty = 0; pS->Num = Num; pS->Typ = Typ; pS->Mat = Mat; @@ -581,6 +583,7 @@ Volume * Create_Volume (int Num, int Typ, int Mat){ Volume *pV; pV = (Volume *) Malloc (sizeof (Volume)); + pV->Dirty = 0; pV->Num = Num; pV->Typ = Typ; pV->Mat = Mat; diff --git a/Mesh/Mesh.h b/Mesh/Mesh.h index 153f9d6a4bdc0fecb72b5d93061289d8ae6ab3e8..064c0af77882095c1a34e8b4212e60c8893b07c2 100644 --- a/Mesh/Mesh.h +++ b/Mesh/Mesh.h @@ -224,6 +224,7 @@ struct _Surf{ Grid_T Grid; /* Grille de recherches rapides */ ExtrudeParams *Extrude; STL_Data *STL; + int Dirty; //flag to prevent any meshing }; typedef struct _Surf Surface; @@ -265,6 +266,7 @@ typedef struct { Tree_T *Simp_Surf;//for old extrusion mesh generator Tree_T *Hexahedra; Tree_T *Prisms; + int Dirty; //flag to prevent any meshing }Volume; typedef struct { @@ -327,6 +329,7 @@ typedef struct{ int degre; CircParam Circle; char functu[256], functv[256], functw[256]; + int Dirty; //flag to prevent any meshing }Curve; typedef struct{ diff --git a/Mesh/Read_Mesh.cpp b/Mesh/Read_Mesh.cpp index e245d4d0f2c46a84f0dc20e5091f0672480a1b1f..b7f23f726c513aa6300d5dc20759f82dbfcf89c8 100644 --- a/Mesh/Read_Mesh.cpp +++ b/Mesh/Read_Mesh.cpp @@ -1,4 +1,4 @@ -// $Id: Read_Mesh.cpp,v 1.17 2001-06-25 13:30:57 remacle Exp $ +// $Id: Read_Mesh.cpp,v 1.18 2001-08-01 16:37:15 geuzaine Exp $ #include "Gmsh.h" #include "Geo.h" @@ -107,6 +107,7 @@ void Read_Mesh_MSH (Mesh *M, FILE *File_GEO){ if(!(cc = (Curve**)Tree_PQuery(M->Curves, &c))){ c = Create_Curve(Elementary, MSH_SEGM_LINE, 0, NULL, NULL, -1, -1, 0., 1.); + c->Dirty=1; Tree_Add(M->Curves, &c); } else @@ -116,6 +117,7 @@ void Read_Mesh_MSH (Mesh *M, FILE *File_GEO){ s = &S; s->Num = Elementary; if(!(ss = (Surface**)Tree_PQuery(M->Surfaces, &s))){ s = Create_Surface(Elementary, MSH_SURF_PLAN, Elementary); + s->Dirty=1; Tree_Add(M->Surfaces, &s); } else @@ -125,6 +127,7 @@ void Read_Mesh_MSH (Mesh *M, FILE *File_GEO){ v = &V; v->Num = Elementary; if(!(vv = (Volume**)Tree_PQuery(M->Volumes, &v))){ v = Create_Volume(Elementary, MSH_VOLUME, Elementary); + v->Dirty=1; Tree_Add(M->Volumes, &v); } else