diff --git a/Graphics/Mesh.cpp b/Graphics/Mesh.cpp index ad831f408ae013dad8c920d90d6b80d4b4ad514f..1ed4c85b6af735cbb7aa93f87403fb053cbafbed 100644 --- a/Graphics/Mesh.cpp +++ b/Graphics/Mesh.cpp @@ -1,4 +1,4 @@ -// $Id: Mesh.cpp,v 1.133 2005-06-11 17:02:34 geuzaine Exp $ +// $Id: Mesh.cpp,v 1.134 2005-06-25 04:05:39 geuzaine Exp $ // // Copyright (C) 1997-2005 C. Geuzaine, J.-F. Remacle // @@ -454,6 +454,7 @@ void Draw_Mesh_Extruded_Surfaces(void *a, void *b) Volume *v = *(Volume **) a; if(!(v->Visible & VIS_MESH)) return; + Tree_Action(v->Lin_Surf, Draw_Mesh_Line); Tree_Action(v->Simp_Surf, Draw_Mesh_Triangle); Tree_Action(v->Quad_Surf, Draw_Mesh_Quadrangle); } @@ -836,9 +837,6 @@ void Draw_Mesh_Triangle(void *a, void *b) SimplexBase *s = *(SimplexBase **) a; - if(!s->V[2]) // the old extrusion algo puts lines in the simp_surf tree... - return; - if(!(s->Visible & VIS_MESH)) return; diff --git a/Mesh/3D_Extrude_Old.cpp b/Mesh/3D_Extrude_Old.cpp index dcba7a8893537d210d147f34b153096dd6a919de..40f92d315df445b957a1bd5ba3474f9f6f0867ea 100644 --- a/Mesh/3D_Extrude_Old.cpp +++ b/Mesh/3D_Extrude_Old.cpp @@ -1,4 +1,4 @@ -// $Id: 3D_Extrude_Old.cpp,v 1.36 2005-06-20 17:02:45 geuzaine Exp $ +// $Id: 3D_Extrude_Old.cpp,v 1.37 2005-06-25 04:05:40 geuzaine Exp $ // // Copyright (C) 1997-2005 C. Geuzaine, J.-F. Remacle // @@ -525,7 +525,7 @@ static void Extrude_Seg(void *data, void *dum) List_Read(V2->Extruded_Points, k, &v2); Simplex *s = Create_Simplex(v1, v2, NULL, NULL); s->iEnt = LineLayer[i]; - Tree_Add(THEV->Simp_Surf, &s); + Tree_Add(THEV->Lin_Surf, &s); } for(int j = 0; j < NbElmLayer[i]; j++) { k++; @@ -603,7 +603,7 @@ static void Extrude_Pnt(Vertex * V1) if(LineLayer[i]) { Simplex *s = Create_Simplex(v1, v2, NULL, NULL); s->iEnt = LineLayer[i]; - Tree_Add(THEV->Simp_Surf, &s); + Tree_Add(THEV->Lin_Surf, &s); } k++; } diff --git a/Mesh/Create.cpp b/Mesh/Create.cpp index 9d4192c59d193ba144475414d120c07e184e9e72..6c9f80b1bbd9b04a9c2f5388d62c63bf367cbd52 100644 --- a/Mesh/Create.cpp +++ b/Mesh/Create.cpp @@ -1,4 +1,4 @@ -// $Id: Create.cpp,v 1.75 2005-06-10 22:50:49 geuzaine Exp $ +// $Id: Create.cpp,v 1.76 2005-06-25 04:05:40 geuzaine Exp $ // // Copyright (C) 1997-2005 C. Geuzaine, J.-F. Remacle // @@ -736,6 +736,7 @@ Volume *Create_Volume(int Num, int Typ) pV->Edges = NULL; pV->Faces = NULL; // for old extrusion mesh generator + pV->Lin_Surf = Tree_Create(sizeof(Simplex *), compareSimplex); pV->Simp_Surf = Tree_Create(sizeof(Simplex *), compareSimplex); pV->Quad_Surf = Tree_Create(sizeof(Simplex *), compareQuadrangle); pV->TriVertexArray = NULL; @@ -766,6 +767,7 @@ void Free_Volume_But_Not_Elements(void *a, void *b) List_Delete(pV->SurfacesOrientations); Tree_Delete(pV->Simplexes); Tree_Delete(pV->SimplexesBase); + Tree_Delete(pV->Lin_Surf); // for old extrusion mesh generator Tree_Delete(pV->Simp_Surf); // for old extrusion mesh generator Tree_Delete(pV->Quad_Surf); // for old extrusion mesh generator Tree_Delete(pV->Vertices); // vertices freed elsewhere diff --git a/Mesh/Mesh.h b/Mesh/Mesh.h index 84564bc8e85ca87c48ba68b864b281ffbd8d23d2..fbd9d07638562b751c03329c277bcb5f06215f99 100644 --- a/Mesh/Mesh.h +++ b/Mesh/Mesh.h @@ -303,6 +303,7 @@ typedef struct { Tree_T *Edges; Tree_T *Faces; Tree_T *Simplexes, *SimplexesBase; + Tree_T *Lin_Surf; // for old extrusion mesh generator Tree_T *Simp_Surf; // for old extrusion mesh generator Tree_T *Quad_Surf; // for old extrusion mesh generator Tree_T *Hexahedra; diff --git a/Mesh/Print_Mesh.cpp b/Mesh/Print_Mesh.cpp index cc0e7ee4a3161578522ae26101f777d665d1af40..40a096897eb28ee33d968c0e360fd4c99b2fd9c2 100644 --- a/Mesh/Print_Mesh.cpp +++ b/Mesh/Print_Mesh.cpp @@ -1,4 +1,4 @@ -// $Id: Print_Mesh.cpp,v 1.61 2005-05-16 00:50:10 geuzaine Exp $ +// $Id: Print_Mesh.cpp,v 1.62 2005-06-25 04:05:40 geuzaine Exp $ // // Copyright (C) 1997-2005 C. Geuzaine, J.-F. Remacle // @@ -415,8 +415,7 @@ static void _msh_print_elements(Mesh *M) List_Read(p->Entities, j, &Num); MSH_LIN_NUM = abs(Num); MSH_PHYSICAL_ORI = sign(Num); - Tree_Action(pV->Simp_Surf, _msh_print_simplex); - Tree_Action(pV->Quad_Surf, _msh_print_quadrangle); + Tree_Action(pV->Lin_Surf, _msh_print_simplex); } } } @@ -512,6 +511,12 @@ static void _msh_print_all_simpsurf(void *a, void *b) Tree_Action(v->Quad_Surf, _msh_print_quadrangle); } +static void _msh_print_all_linsurf(void *a, void *b) +{ + Volume *v = *(Volume **) a; + Tree_Action(v->Lin_Surf, _msh_print_simplex); +} + static void _msh_print_all_volumes(void *a, void *b) { Volume *v = *(Volume **) a; @@ -530,6 +535,7 @@ static void _msh_print_all_elements(Mesh *M) if(CTX.mesh.oldxtrude) { Tree_Action(M->Volumes, _msh_print_all_simpsurf); + Tree_Action(M->Volumes, _msh_print_all_linsurf); } else { Tree_Action(M->Curves, _msh_print_all_curves);