diff --git a/Mesh/3D_Extrude.cpp b/Mesh/3D_Extrude.cpp index 3c37ee28d4b6593ba8574cf58d8a919699da4750..45393e02317db767fdf2f91adb37a5a357ccdb32 100644 --- a/Mesh/3D_Extrude.cpp +++ b/Mesh/3D_Extrude.cpp @@ -1,4 +1,4 @@ -// $Id: 3D_Extrude.cpp,v 1.89 2005-06-10 20:59:15 geuzaine Exp $ +// $Id: 3D_Extrude.cpp,v 1.90 2005-06-10 22:50:49 geuzaine Exp $ // // Copyright (C) 1997-2005 C. Geuzaine, J.-F. Remacle // @@ -96,7 +96,6 @@ List_T *getnxl(Vertex * v, Volume * vol) List_T *getnxl(Vertex * v, int dim) { - int i, j; Curve *c; Surface *s; List_T *list; @@ -112,7 +111,7 @@ List_T *getnxl(Vertex * v, int dim) if((list = getnxl(v, THES))) return list; else { - for(i = 0; i < List_Nbr(THES->Generatrices); i++) { + for(int i = 0; i < List_Nbr(THES->Generatrices); i++) { if((abs(ep->geo.Source) != c->Num) && (list = getnxl(v, c))) return list; } @@ -122,15 +121,15 @@ List_T *getnxl(Vertex * v, int dim) if((list = getnxl(v, THEV))) return list; else { - for(i = 0; i < List_Nbr(THEV->Surfaces); i++) { + for(int i = 0; i < List_Nbr(THEV->Surfaces); i++) { List_Read(THEV->Surfaces, i, &s); if((ep->geo.Source != s->Num) && (list = getnxl(v, s))) return list; } - for(i = 0; i < List_Nbr(THEV->Surfaces); i++) { + for(int i = 0; i < List_Nbr(THEV->Surfaces); i++) { List_Read(THEV->Surfaces, i, &s); if(ep->geo.Source != s->Num) { - for(j = 0; j < List_Nbr(s->Generatrices); j++) { + for(int j = 0; j < List_Nbr(s->Generatrices); j++) { List_Read(s->Generatrices, j, &c); if((list = getnxl(v, c))) return list; @@ -349,7 +348,7 @@ void Extrude_Simplex_Phase2(void *data, void *dum) void Create_HexPri(int iEnt, Vertex * v[8]) { - int i, j = 0, dup[4]; + int dup[4]; Hexahedron *newh; Prism *newp; @@ -360,7 +359,8 @@ void Create_HexPri(int iEnt, Vertex * v[8]) return; } - for(i = 0; i < 4; i++) + int j = 0; + for(int i = 0; i < 4; i++) if(v[i]->Num == v[i + 4]->Num) dup[j++] = i; @@ -393,7 +393,7 @@ void Create_HexPri(int iEnt, Vertex * v[8]) void Create_PriPyrTet(int iEnt, Vertex * v[6]) { - int i, j = 0, dup[3]; + int dup[3]; Prism *newp; Pyramid *newpyr; Simplex *news; @@ -405,7 +405,8 @@ void Create_PriPyrTet(int iEnt, Vertex * v[6]) return; } - for(i = 0; i < 3; i++) + int j = 0; + for(int i = 0; i < 3; i++) if(v[i]->Num == v[i + 3]->Num) dup[j++] = i; @@ -454,7 +455,6 @@ void Create_Sim(int iEnt, Vertex * v1, Vertex * v2, Vertex * v3, Vertex * v4) void Extrude_Simplex_Phase3(void *data, void *dum) { - int i, j, k; Vertex *v[8]; Simplex *s = *(Simplex **) data; @@ -465,9 +465,9 @@ void Extrude_Simplex_Phase3(void *data, void *dum) if(!L0 || !L1 || !L2) return; - k = 0; - for(i = 0; i < ep->mesh.NbLayer; i++) { - for(j = 0; j < ep->mesh.NbElmLayer[i]; j++) { + int k = 0; + for(int i = 0; i < ep->mesh.NbLayer; i++) { + for(int j = 0; j < ep->mesh.NbElmLayer[i]; j++) { List_Read(L0, k, &v[0]); List_Read(L1, k, &v[1]); List_Read(L2, k, &v[2]); @@ -528,7 +528,6 @@ void Extrude_Simplex_Phase3(void *data, void *dum) void Extrude_Quadrangle_Phase3(void *data, void *dum) { - int i, j, k; Vertex *v[8]; Quadrangle *q = *(Quadrangle **) data; @@ -545,9 +544,9 @@ void Extrude_Quadrangle_Phase3(void *data, void *dum) if(!L0 || !L1 || !L2 || !L3) return; - k = 0; - for(i = 0; i < ep->mesh.NbLayer; i++) { - for(j = 0; j < ep->mesh.NbElmLayer[i]; j++) { + int k = 0; + for(int i = 0; i < ep->mesh.NbLayer; i++) { + for(int j = 0; j < ep->mesh.NbElmLayer[i]; j++) { List_Read(L0, k, &v[0]); List_Read(L1, k, &v[1]); List_Read(L2, k, &v[2]); @@ -565,7 +564,6 @@ void Extrude_Quadrangle_Phase3(void *data, void *dum) void Extrude_Vertex(void *data, void *dum) { Vertex **vexist, *v, *newv; - int i, j; nxl NXL; v = *((Vertex **) data); @@ -582,8 +580,8 @@ void Extrude_Vertex(void *data, void *dum) List_Add(NXL.List, &v); - for(i = 0; i < ep->mesh.NbLayer; i++) { - for(j = 0; j < ep->mesh.NbElmLayer[i]; j++) { + for(int i = 0; i < ep->mesh.NbLayer; i++) { + for(int j = 0; j < ep->mesh.NbElmLayer[i]; j++) { newv = Create_Vertex(++THEM->MaxPointNum, v->Pos.X, v->Pos.Y, v->Pos.Z, v->lc, v->u); ep->Extrude(i, j + 1, newv->Pos.X, newv->Pos.Y, newv->Pos.Z); @@ -640,8 +638,12 @@ void Create_Tri(int iEnt, Vertex * v1, Vertex * v2, Vertex * v3) } } -void Extrude_Seg(Vertex * V1, Vertex * V2) +void Extrude_Seg(void *data, void *dum) { + Simplex *ll = *(Simplex**)data; + Vertex *V1 = ll->V[0]; + Vertex *V2 = ll->V[1]; + Vertex *v1, *v2, *v3, *v4; List_T *L1 = getnxl(V1, DIM); @@ -709,20 +711,18 @@ void Extrude_Seg(Vertex * V1, Vertex * V2) void Extrude_Curve(void *data, void *dum) { - Vertex *v1, *v2; Curve *c = *(Curve **) data; //if (c->Num < 0) return; - for(int i = 0; i < List_Nbr(c->Vertices) - 1; i++) { - List_Read(c->Vertices, i, &v1); - List_Read(c->Vertices, i + 1, &v2); - Extrude_Seg(v1, v2); - } + Tree_Action(c->Simplexes, Extrude_Seg); } void copy_mesh(Curve * from, Curve * to, int direction) { + // Warning: this routine relies on the fact that the vertex lists + // are ordered... + List_T *list = from->Vertices; Vertex **vexist, *v, *newv; @@ -810,7 +810,6 @@ void copy_mesh(Curve * from, Curve * to, int direction) int Extrude_Mesh(Curve * c) { - int i, j; Vertex **vexist, *v, *newv, *v1, *v2; List_T *L; @@ -843,7 +842,7 @@ int Extrude_Mesh(Curve * c) List_Add(c->Vertices, &newv); } - for(i = 1; i < List_Nbr(L) - 1; i++) { + for(int i = 1; i < List_Nbr(L) - 1; i++) { List_Read(L, i, &v); if(!v->ListCurves) v->ListCurves = List_Create(1, 1, sizeof(Curve *)); @@ -871,8 +870,8 @@ int Extrude_Mesh(Curve * c) } int k = 0; - for(i = 0; i < ep->mesh.NbLayer; i++) { - for(j = 0; j < ep->mesh.NbElmLayer[i]; j++) { + for(int i = 0; i < ep->mesh.NbLayer; i++) { + for(int j = 0; j < ep->mesh.NbElmLayer[i]; j++) { if(k >= List_Nbr(c->Vertices) - 1){ Msg(GERROR, "Something wrong in number of elements in extruded curve %d", c->Num); @@ -1000,7 +999,6 @@ void AddQuadVertsInSurf(void *a, void *b) int Extrude_Mesh(Surface * s) { - int i; Vertex *v1; Curve *c; extern int FACE_DIMENSION; @@ -1019,7 +1017,7 @@ int Extrude_Mesh(Surface * s) c = FindCurve(abs(ep->geo.Source), THEM); if(!c) return false; - for(i = 0; i < List_Nbr(c->Vertices); i++) { + for(int i = 0; i < List_Nbr(c->Vertices); i++) { List_Read(c->Vertices, i, &v1); Extrude_Vertex(&v1, NULL); } @@ -1067,7 +1065,7 @@ int Extrude_Mesh(Volume * v) int Extrude_Mesh(Tree_T * Volumes) { - int i, j, extrude = 0; + int extrude = 0; Surface *s; List_T *list; @@ -1100,7 +1098,7 @@ int Extrude_Mesh(Tree_T * Volumes) } } - j = 0; + int j = 0; do { BAD_TETS = 0; for(int ivol = 0; ivol < List_Nbr(vol); ivol++) { @@ -1143,14 +1141,14 @@ int Extrude_Mesh(Tree_T * Volumes) ep = THEV->Extrude; if(ep && ep->mesh.ExtrudeMesh && ep->geo.Mode == EXTRUDED_ENTITY && !ep->mesh.Recombine) { - for(i = 0; i < List_Nbr(THEV->Surfaces); i++) { + for(int i = 0; i < List_Nbr(THEV->Surfaces); i++) { List_Read(THEV->Surfaces, i, &s); if(!List_Search(list, &s, compareSurface)) List_Add(list, &s); } } } - for(i = 0; i < List_Nbr(list); i++) { + for(int i = 0; i < List_Nbr(list); i++) { List_Read(list, i, &s); tmp = Tree_Create(sizeof(Simplex *), compareQuality); Tree_Action(s->Simplexes, Free_NegativeSimplex); diff --git a/Mesh/3D_Extrude_Old.cpp b/Mesh/3D_Extrude_Old.cpp index 779cae54a4fcac44501c2729edffa7fdf2a9369d..e0724aa60939c82edcd10e3c4b0cd4530999d294 100644 --- a/Mesh/3D_Extrude_Old.cpp +++ b/Mesh/3D_Extrude_Old.cpp @@ -1,4 +1,4 @@ -// $Id: 3D_Extrude_Old.cpp,v 1.34 2005-06-10 20:59:15 geuzaine Exp $ +// $Id: 3D_Extrude_Old.cpp,v 1.35 2005-06-10 22:50:49 geuzaine Exp $ // // Copyright (C) 1997-2005 C. Geuzaine, J.-F. Remacle // @@ -167,14 +167,13 @@ static void are_del(Vertex * v1, Vertex * v2, Tree_T * t) static void Extrude_Simplex_Phase1(void *data, void *dum) { - int i, j, k; Vertex *v1, *v2, *v3, *v4, *v5, *v6; Simplex *s = *(Simplex **) data; - k = 0; - for(i = 0; i < NbLayer; i++) { - for(j = 0; j < NbElmLayer[i]; j++) { + int k = 0; + for(int i = 0; i < NbLayer; i++) { + for(int j = 0; j < NbElmLayer[i]; j++) { List_Read(s->V[0]->Extruded_Points, k, &v1); List_Read(s->V[1]->Extruded_Points, k, &v2); List_Read(s->V[2]->Extruded_Points, k, &v3); @@ -194,15 +193,14 @@ static void Extrude_Simplex_Phase1(void *data, void *dum) static void Extrude_Simplex_Phase3(void *data, void *dum) { - Simplex *news; + Simplex *news; Prism *newp; - int i, j, k; Vertex *v1, *v2, *v3, *v4, *v5, *v6; Simplex *s = *(Simplex **) data; - k = 0; - for(i = 0; i <= NbLayer; i++) { + int k = 0; + for(int i = 0; i <= NbLayer; i++) { if(SurfLayer[i]) { List_Read(s->V[0]->Extruded_Points, k, &v1); List_Read(s->V[1]->Extruded_Points, k, &v2); @@ -211,14 +209,14 @@ static void Extrude_Simplex_Phase3(void *data, void *dum) news->iEnt = SurfLayer[i]; Tree_Add(THEV->Simp_Surf, &news); } - for(j = 0; j < NbElmLayer[i]; j++) { + for(int j = 0; j < NbElmLayer[i]; j++) { k++; } } k = 0; - for(i = 0; i < NbLayer; i++) { - for(j = 0; j < NbElmLayer[i]; j++) { + for(int i = 0; i < NbLayer; i++) { + for(int j = 0; j < NbElmLayer[i]; j++) { List_Read(s->V[0]->Extruded_Points, k, &v1); List_Read(s->V[1]->Extruded_Points, k, &v2); List_Read(s->V[2]->Extruded_Points, k, &v3); @@ -320,8 +318,6 @@ static void Extrude_Simplex_Phase3(void *data, void *dum) static void Extrude_Quadrangle_Phase3(void *data, void *dum) { - int i, j, k; - Vertex *v1, *v2, *v3, *v4, *v5, *v6, *v7, *v8; Quadrangle *q = *(Quadrangle **) data; @@ -330,8 +326,10 @@ static void Extrude_Quadrangle_Phase3(void *data, void *dum) return; } - k = 0; - for(i = 0; i <= NbLayer; i++) { + Vertex *v1, *v2, *v3, *v4, *v5, *v6, *v7, *v8; + + int k = 0; + for(int i = 0; i <= NbLayer; i++) { if(SurfLayer[i]) { List_Read(q->V[0]->Extruded_Points, k, &v1); List_Read(q->V[1]->Extruded_Points, k, &v2); @@ -341,14 +339,14 @@ static void Extrude_Quadrangle_Phase3(void *data, void *dum) newq->iEnt = SurfLayer[i]; Tree_Add(THEV->Quad_Surf, &newq); } - for(j = 0; j < NbElmLayer[i]; j++) { + for(int j = 0; j < NbElmLayer[i]; j++) { k++; } } k = 0; - for(i = 0; i < NbLayer; i++) { - for(j = 0; j < NbElmLayer[i]; j++) { + for(int i = 0; i < NbLayer; i++) { + for(int j = 0; j < NbElmLayer[i]; j++) { List_Read(q->V[0]->Extruded_Points, k, &v1); List_Read(q->V[1]->Extruded_Points, k, &v2); List_Read(q->V[2]->Extruded_Points, k, &v3); @@ -370,14 +368,12 @@ static void Extrude_Quadrangle_Phase3(void *data, void *dum) static void Extrude_Simplex_Phase2(void *data, void *dum) { - int i, j, k; - Vertex *v1, *v2, *v3, *v4, *v5, *v6; - Simplex *s = *(Simplex **) data; - k = 0; - for(i = 0; i < NbLayer; i++) { - for(j = 0; j < NbElmLayer[i]; j++) { + int k = 0; + for(int i = 0; i < NbLayer; i++) { + for(int j = 0; j < NbElmLayer[i]; j++) { + Vertex *v1, *v2, *v3, *v4, *v5, *v6; List_Read(s->V[0]->Extruded_Points, k, &v1); List_Read(s->V[1]->Extruded_Points, k, &v2); List_Read(s->V[2]->Extruded_Points, k, &v3); @@ -435,38 +431,37 @@ static void Extrude_Simplex_Phase2(void *data, void *dum) static void Extrude_Vertex(void *data, void *dum) { - Vertex **pV, *v, *newv; - int i, j; - double h, a; + Vertex *v = *(Vertex **) data; - pV = (Vertex **) data; - v = *pV; if(v->Extruded_Points) return; + v->Extruded_Points = List_Create(NbLayer, 1, sizeof(Vertex *)); List_Add(v->Extruded_Points, &v); - h = 0.0; //printf("-extruding vertex %d %p\n", v->Num, v); - for(i = 0; i < NbLayer; i++) { + double h = 0.0; + + for(int i = 0; i < NbLayer; i++) { // Geometric progression ar^i // Sum of n (=NbElmLayer[i]) terms = hLayer[i] = a (r^n-1)/(r-1) + double a; if(parLayer[i] == 1.) a = hLayer[i] / (double)NbElmLayer[i]; else a = hLayer[i] * (parLayer[i] - 1.) / (pow(parLayer[i], NbElmLayer[i]) - 1.); - for(j = 0; j < NbElmLayer[i]; j++) { + for(int j = 0; j < NbElmLayer[i]; j++) { //h += hLayer[i]/(double)NbElmLayer[i]; h += a * pow(parLayer[i], j); - newv = Create_Vertex(++THEM->MaxPointNum, v->Pos.X, v->Pos.Y, + Vertex *newv = Create_Vertex(++THEM->MaxPointNum, v->Pos.X, v->Pos.Y, v->Pos.Z + h, v->lc, v->u); Tree_Add(THEM->Vertices, &newv); List_Add(v->Extruded_Points, &newv); @@ -499,7 +494,6 @@ static void Extrude_Surface2(void *data, void *dum) static void Extrude_Surface3(void *data, void *dum) { - int i; if(!NbLayer) return; @@ -507,11 +501,11 @@ static void Extrude_Surface3(void *data, void *dum) THES = s; Msg(INFO, "Extruding Surface %d", s->Num); - for(i = 0; i < NbLayer; i++) { + for(int i = 0; i < NbLayer; i++) { ZonLayer[i] = (int)(3 * K1) + (int)((i + 1) * K2) + s->Num; } SurfLayer[0] = s->Num; - for(i = 0; i < NbLayer; i++) { + for(int i = 0; i < NbLayer; i++) { SurfLayer[i + 1] = (int)(2 * K1) + (int)((i + 1) * K2) + s->Num; } @@ -521,7 +515,7 @@ static void Extrude_Surface3(void *data, void *dum) static void Extrude_Seg(void *data, void *dum) { - Simplex *ll = *(Simplex **) data; + Simplex *ll = *(Simplex**)data; Vertex *V1 = ll->V[0]; Vertex *V2 = ll->V[1]; @@ -583,12 +577,10 @@ static void Extrude_Seg(void *data, void *dum) static void Extrude_Curve(void *data, void *dum) { - Curve **pC, *c; - int i; if(!NbLayer) return; - pC = (Curve **) data; - c = *pC; + + Curve *c = *(Curve **) data; if(c->Num < 0) return; @@ -596,29 +588,24 @@ static void Extrude_Curve(void *data, void *dum) Msg(INFO, "Extruding Curve %d", c->Num); LineLayer[0] = c->Num; - for(i = 0; i < NbLayer; i++) { + for(int i = 0; i < NbLayer; i++) { SurfLayer[i] = (int)(1 * K1) + (int)((i + 1) * K2) + c->Num; LineLayer[i + 1] = (int)(5 * K1) + (int)((i + 1) * K2) + c->Num; } - // This is better than extruding based on c->Vertices (since it also - // works if for some reason v->Vertices is not ordered) Tree_Action(c->Simplexes, Extrude_Seg); } static void Extrude_Pnt(Vertex * V1) { - int i, j, k; - Vertex *v1, *v2; - Simplex *s; - - k = 0; - for(i = 0; i < NbLayer; i++) { - for(j = 0; j < NbElmLayer[i]; j++) { + int k = 0; + for(int i = 0; i < NbLayer; i++) { + for(int j = 0; j < NbElmLayer[i]; j++) { + Vertex *v1, *v2; List_Read(V1->Extruded_Points, k, &v1); List_Read(V1->Extruded_Points, k + 1, &v2); if(LineLayer[i]) { - s = Create_Simplex(v1, v2, NULL, NULL); + Simplex *s = Create_Simplex(v1, v2, NULL, NULL); s->iEnt = LineLayer[i]; Tree_Add(THEV->Simp_Surf, &s); } @@ -630,31 +617,29 @@ static void Extrude_Pnt(Vertex * V1) static void Extrude_Point(void *data, void *dum) { - Vertex **pV, *v, **pV2; - int i; - if(!NbLayer) return; - pV = (Vertex **) data; - v = *pV; + + Vertex *v = *(Vertex **) data; Msg(INFO, "Extruding Vertex %d", v->Num); - for(i = 0; i < NbLayer; i++) { + for(int i = 0; i < NbLayer; i++) { LineLayer[i] = (int)(4 * K1) + (int)((i + 1) * K2) + v->Num; } // only extrude points for which a mesh vertex exists with the same // number (i.e., start & end points of curves) - if((pV2 = (Vertex **) Tree_PQuery(THEM->Vertices, pV))) { - Extrude_Vertex(pV2, NULL); - Extrude_Pnt(*pV2); + Vertex **pV; + if((pV = (Vertex **) Tree_PQuery(THEM->Vertices, &v))) { + Extrude_Vertex(pV, NULL); + Extrude_Pnt(*pV); } } void FreeEP(void *a, void *b) { - Vertex *v = *((Vertex **) a); + Vertex *v = *(Vertex **) a; Free_ExtrudedPoints(v->Extruded_Points); v->Extruded_Points = NULL; } diff --git a/Mesh/Create.cpp b/Mesh/Create.cpp index cf017ea875602031047d8173f0e8554f5d6f960b..9d4192c59d193ba144475414d120c07e184e9e72 100644 --- a/Mesh/Create.cpp +++ b/Mesh/Create.cpp @@ -1,4 +1,4 @@ -// $Id: Create.cpp,v 1.74 2005-05-21 01:10:47 geuzaine Exp $ +// $Id: Create.cpp,v 1.75 2005-06-10 22:50:49 geuzaine Exp $ // // Copyright (C) 1997-2005 C. Geuzaine, J.-F. Remacle // @@ -530,7 +530,6 @@ Curve *Create_Curve(int Num, int Typ, int Order, List_T * Liste, pC->Visible = VIS_GEOM | VIS_MESH; pC->cp = NULL; pC->Vertices = List_Create(2, 20, sizeof(Vertex *)); - pC->VerticesTemp = NULL; pC->Extrude = NULL; pC->Typ = Typ; pC->Num = Num; diff --git a/Mesh/Mesh.h b/Mesh/Mesh.h index 95db93d30a7990263df4cc669294e63037759a0d..84564bc8e85ca87c48ba68b864b281ffbd8d23d2 100644 --- a/Mesh/Mesh.h +++ b/Mesh/Mesh.h @@ -365,7 +365,6 @@ typedef struct{ double ubeg, uend; List_T *Control_Points; List_T *Vertices; - Tree_T *VerticesTemp; // a temp tree for fast vertex insertion Tree_T *Simplexes, *SimplexesBase; ExtrudeParams *Extrude; float *k, *cp; diff --git a/Mesh/Read_Mesh.cpp b/Mesh/Read_Mesh.cpp index 8f091d6671a52225dd6390655054191e4d280789..cdd76cd7ee03dd830370f931475a37d88334b35d 100644 --- a/Mesh/Read_Mesh.cpp +++ b/Mesh/Read_Mesh.cpp @@ -1,4 +1,4 @@ -// $Id: Read_Mesh.cpp,v 1.91 2005-06-10 20:59:15 geuzaine Exp $ +// $Id: Read_Mesh.cpp,v 1.92 2005-06-10 22:50:49 geuzaine Exp $ // // Copyright (C) 1997-2005 C. Geuzaine, J.-F. Remacle // @@ -162,21 +162,6 @@ double SetLC(Vertex *v1, Vertex *v2, Vertex *v3, Vertex *v4 = 0) return lc; } -static Curve *theCurve = NULL; - -static void TransferVertex(void *a, void *b) -{ - List_Add(theCurve->Vertices, a); -} - -static void Transfer_VertexTree2List(void *a, void *b) -{ - theCurve = *(Curve**)a; - Tree_Action(theCurve->VerticesTemp, TransferVertex); - Tree_Delete(theCurve->VerticesTemp); - theCurve->VerticesTemp = NULL; -} - void Read_Mesh_MSH(Mesh * M, FILE * fp) { char String[256]; @@ -383,20 +368,9 @@ void Read_Mesh_MSH(Mesh * M, FILE * fp) Free_SimplexBase(&simp, 0); } else{ - // This is dog slow when there is a large num of verts per curve: - // - // for(i = 0; i < Nbr_Nodes; i++) - // List_Insert(c->Vertices, &vertsp[i], fcmp_int); - // - // So we use a temp tree instead. Note that this can cause - // problems in some algos since this can destroy the - // "natural" ordering of the vertices in the list (two - // successive vertices do not necessarily define an - // element). - if(!c->VerticesTemp) - c->VerticesTemp = Tree_Create(sizeof(Vertex *), compareVertex); + // this can be quite slow if there are many nodes on the curve... for(i = 0; i < Nbr_Nodes; i++) - Tree_Insert(c->VerticesTemp, &vertsp[i]); + List_Insert(c->Vertices, &vertsp[i], fcmp_int); } break; case TRI1: @@ -609,9 +583,6 @@ void Read_Mesh_MSH(Mesh * M, FILE * fp) // access through List_Pointer & co. List_Sort(M->Partitions, compareMeshPartitionIndex); - // Transfer the vertices from temp trees into lists - Tree_Action(M->Curves, Transfer_VertexTree2List); - // Transfer the temp group tree back into the mesh List_Delete(M->PhysicalGroups); M->PhysicalGroups = Tree2List(groups);