diff --git a/Mesh/Create.h b/Mesh/Create.h index 522cbb6a0b5d845c328184df212cc3278cbc346c..0f7b2471bf56b7392db49f4caf94b3a0de5ed1f4 100644 --- a/Mesh/Create.h +++ b/Mesh/Create.h @@ -25,11 +25,20 @@ void End_Surface (Surface * s); Curve *Create_Curve (int Num, int Typ, int Order, List_T * Liste, List_T * Knots, int p1, int p2, double u1, double u2); +void Free_Curve(void *a, void *b); + Surface * Create_Surface (int Num, int Typ, int Mat); +void Free_Surface(void *a, void *b); + Volume * Create_Volume (int Num, int Typ, int Mat); +void Free_Volume(void *a, void *b); + Hexahedron * Create_Hexahedron (Vertex * v1, Vertex * v2, Vertex * v3, Vertex * v4, Vertex * v5, Vertex * v6, Vertex * v7, Vertex * v8); +void Free_Hexahedron(void *a, void *b); + Prism * Create_Prism (Vertex * v1, Vertex * v2, Vertex * v3, Vertex * v4, Vertex * v5, Vertex * v6); +void Free_Prism(void *a, void *b); #endif diff --git a/Mesh/Generator.cpp b/Mesh/Generator.cpp index 8df21722e2096408652b626cdd8322d33a6e1cb9..2e16d54cf606eb4b93fdd1587b808a1a414b38fe 100644 --- a/Mesh/Generator.cpp +++ b/Mesh/Generator.cpp @@ -1,4 +1,4 @@ -// $Id: Generator.cpp,v 1.16 2001-05-23 07:29:42 geuzaine Exp $ +// $Id: Generator.cpp,v 1.17 2001-05-29 13:31:04 geuzaine Exp $ #include "Gmsh.h" #include "Const.h" @@ -121,6 +121,7 @@ void Maillage_Dimension_3 (Mesh * M){ M->Statistics[14] = t2 - t1; } + void Init_Mesh (Mesh * M, int all){ THEM = M; @@ -133,36 +134,35 @@ void Init_Mesh (Mesh * M, int all){ Tree_Delete (M->VertexEdges); } if (M->Simplexes){ - Tree_Action (M->Simplexes, Free_Simplex); + //Tree_Action (M->Simplexes, Free_Simplex);//produit des crashes innatendus... Tree_Delete (M->Simplexes); } - if (M->Points){ - //Tree_Action (M->Points, Free_Vertex); + Tree_Action (M->Points, Free_Vertex); Tree_Delete (M->Points); } if (M->Curves){ - //Tree_Action (M->Vertices, Free_Curve); + Tree_Action (M->Curves, Free_Curve); Tree_Delete (M->Curves); } if (M->SurfaceLoops){ - //Tree_Action (M->Vertices, Free_SurfaceLoop); + //Tree_Action (M->SurfaceLoops, Free_SurfaceLoop); Tree_Delete (M->SurfaceLoops); } if (M->EdgeLoops){ - //Tree_Action (M->Vertices, Free_EdgeLoop); + //Tree_Action (M->EdgeLoops, Free_EdgeLoop); Tree_Delete (M->EdgeLoops); } if (M->Surfaces){ - //Tree_Action (M->Vertices, Free_Surface); + Tree_Action (M->Surfaces, Free_Surface); Tree_Delete (M->Surfaces); } if (M->Volumes){ - //Tree_Action (M->Vertices, Free_Volume); + //Tree_Action (M->Volumes, Free_Volume);//produit des crashes innatendus... Tree_Delete (M->Volumes); } if (M->PhysicalGroups){ - //Tree_Action (M->Vertices, Free_PhysicalGroup); + //Tree_Action (M->PhysicalGroups, Free_PhysicalGroup); List_Delete (M->PhysicalGroups); } if (M->Metric){