From a6a571f6112c77222840436bf8ef73e29741ae62 Mon Sep 17 00:00:00 2001
From: Christophe Geuzaine <cgeuzaine@ulg.ac.be>
Date: Tue, 5 Feb 2002 20:19:34 +0000
Subject: [PATCH] *** empty log message ***

---
 Makefile           |   4 +-
 Mesh/Read_Mesh.cpp | 249 ++++++++++++++++++++++-----------------------
 2 files changed, 125 insertions(+), 128 deletions(-)

diff --git a/Makefile b/Makefile
index 72de66461f..7852794b14 100644
--- a/Makefile
+++ b/Makefile
@@ -1,8 +1,8 @@
-# $Id: Makefile,v 1.186 2002-01-30 22:24:11 geuzaine Exp $
+# $Id: Makefile,v 1.187 2002-02-05 20:19:34 geuzaine Exp $
 
 GMSH_MAJOR_VERSION = 1
 GMSH_MINOR_VERSION = 33
-GMSH_PATCH_VERSION = 3
+GMSH_PATCH_VERSION = 4
 
 MAKE = make
 CXX = c++
diff --git a/Mesh/Read_Mesh.cpp b/Mesh/Read_Mesh.cpp
index 6734e58142..fae484c175 100644
--- a/Mesh/Read_Mesh.cpp
+++ b/Mesh/Read_Mesh.cpp
@@ -1,4 +1,4 @@
-// $Id: Read_Mesh.cpp,v 1.38 2002-02-01 14:34:05 remacle Exp $
+// $Id: Read_Mesh.cpp,v 1.39 2002-02-05 20:18:50 geuzaine Exp $
 
 #include "Gmsh.h"
 #include "Geo.h"
@@ -121,136 +121,133 @@ void Read_Mesh_MSH (Mesh *M, FILE *File_GEO){
 
         for (j = 0 ; j < Nbr_Nodes ; j++)
           fscanf(File_GEO, "%d", &verts[j].Num) ;
-        // why ????
-	if(1 || Elementary >= 0){
 
-	  switch(Type){
-	  case LGN1: case LGN2:
-	    c = &C; c->Num = abs(Elementary);
-	    if(!(cc = (Curve**)Tree_PQuery(M->Curves, &c))){
-	      c = Create_Curve(abs(Elementary), MSH_SEGM_LINE, 0, NULL,
-			       NULL, -1, -1, 0., 1.);
-	      c->Dirty=1;
-	      Tree_Add(M->Curves, &c);
-	    }
-	    else
-	      c = *cc;
-	    break;
-	  case TRI1: case QUA1: case TRI2: case QUA2:
-	    s = &S; s->Num = Elementary;
-	    if(!(ss = (Surface**)Tree_PQuery(M->Surfaces, &s))){
-	      s = Create_Surface(Elementary, MSH_SURF_PLAN);
-	      s->Dirty=1;
-	      Tree_Add(M->Surfaces, &s);
-	    }
-	    else
-	      s = *ss;
-	    break;
-	  case TET1: case HEX1: case PRI1: case PYR1:
-	  case TET2: case HEX2: case PRI2: case PYR2:
-	    v = &V; v->Num = Elementary;
-	    if(!(vv = (Volume**)Tree_PQuery(M->Volumes, &v))){
-	      v = Create_Volume(Elementary, MSH_VOLUME);
-	      v->Dirty=1;
-	      Tree_Add(M->Volumes, &v);
-	    }
-	    else
-	      v = *vv;
-	    break;
-	  default :
-	    break;
+	switch(Type){
+	case LGN1: case LGN2:
+	  c = &C; c->Num = abs(Elementary);
+	  if(!(cc = (Curve**)Tree_PQuery(M->Curves, &c))){
+	    c = Create_Curve(abs(Elementary), MSH_SEGM_LINE, 0, NULL,
+			     NULL, -1, -1, 0., 1.);
+	    c->Dirty=1;
+	    Tree_Add(M->Curves, &c);
 	  }
-	  
-	  for(i=0 ; i<Nbr_Nodes ; i++) {
-	    vertsp[i] = &verts[i];
-	    if(!(vertspp = (Vertex**)Tree_PQuery(M->Vertices, &vertsp[i])))
-	      Msg(GERROR, "Unknown vertex %d in element %d", verts[i].Num, Num);
-	    else
-	      vertsp[i] = *vertspp;
+	  else
+	    c = *cc;
+	  break;
+	case TRI1: case QUA1: case TRI2: case QUA2:
+	  s = &S; s->Num = Elementary;
+	  if(!(ss = (Surface**)Tree_PQuery(M->Surfaces, &s))){
+	    s = Create_Surface(Elementary, MSH_SURF_PLAN);
+	    s->Dirty=1;
+	    Tree_Add(M->Surfaces, &s);
+	  }
+	  else
+	    s = *ss;
+	  break;
+	case TET1: case HEX1: case PRI1: case PYR1:
+	case TET2: case HEX2: case PRI2: case PYR2:
+	  v = &V; v->Num = Elementary;
+	  if(!(vv = (Volume**)Tree_PQuery(M->Volumes, &v))){
+	    v = Create_Volume(Elementary, MSH_VOLUME);
+	    v->Dirty=1;
+	    Tree_Add(M->Volumes, &v);
 	  }
-	  
-	  if(CTX.mesh.check_duplicates){
-	    vert = Create_Vertex (Num, 0., 0., 0., 1.0 ,0.0);
-	    for(i=0 ; i<Nbr_Nodes ; i++){
-	      vert->Pos.X += vertsp[i]->Pos.X ;
-	      vert->Pos.Y += vertsp[i]->Pos.Y ;
-	      vert->Pos.Z += vertsp[i]->Pos.Z ;
-	    }
-	    vert->Pos.X /= (double) Nbr_Nodes;
-	    vert->Pos.Y /= (double) Nbr_Nodes;
-	    vert->Pos.Z /= (double) Nbr_Nodes;
-	    if((vertspp = (Vertex**)Tree_PQuery(Duplicates, &vert)))
-	      Msg(GERROR, "Elements %d and %d have identical barycenters", 
-		  Num, (*vertspp)->Num);
-	    else
-	      Tree_Add(Duplicates, &vert);
+	  else
+	    v = *vv;
+	  break;
+	default :
+	  break;
+	}
+	
+	for(i=0 ; i<Nbr_Nodes ; i++) {
+	  vertsp[i] = &verts[i];
+	  if(!(vertspp = (Vertex**)Tree_PQuery(M->Vertices, &vertsp[i])))
+	    Msg(GERROR, "Unknown vertex %d in element %d", verts[i].Num, Num);
+	  else
+	    vertsp[i] = *vertspp;
+	}
+	
+	if(CTX.mesh.check_duplicates){
+	  vert = Create_Vertex (Num, 0., 0., 0., 1.0 ,0.0);
+	  for(i=0 ; i<Nbr_Nodes ; i++){
+	    vert->Pos.X += vertsp[i]->Pos.X ;
+	    vert->Pos.Y += vertsp[i]->Pos.Y ;
+	    vert->Pos.Z += vertsp[i]->Pos.Z ;
 	  }
-	  
-	  switch(Type){
-	  case LGN1:
-	    simp = Create_Simplex(vertsp[0], vertsp[1], NULL , NULL);
-	    simp->Num = Num ;
-	    simp->iEnt = Elementary ;
-	    Tree_Replace(c->Simplexes, &simp) ;
-	    //NO!!! Tree_Replace(M->Simplexes, &simp) ; 
-	    break;
-	  case TRI1:
-	    simp = Create_Simplex(vertsp[0], vertsp[1], vertsp[2], NULL);
-	    simp->Num = Num ;
-	    simp->iEnt = Elementary ;
-	    Tree_Replace(s->Simplexes, &simp) ;
-	    replace = Tree_Replace(M->Simplexes, &simp) ;
-	    if(!replace) M->Statistics[7]++;
-	    break;
-	  case QUA1:
-	    simp = Create_Quadrangle(vertsp[0], vertsp[1], vertsp[2], vertsp[3]);
-	    simp->Num = Num ;
-	    simp->iEnt = Elementary ;
-	    Tree_Replace(s->Simplexes, &simp) ;
-	    replace = Tree_Replace(M->Simplexes, &simp) ;
-	    if(!replace) {
-	      M->Statistics[7]++;//since s->Simplexes holds quads, too :-(
-	      M->Statistics[8]++;
-	    }
-	    break;
-	  case TET1:
-	    simp = Create_Simplex(vertsp[0], vertsp[1], vertsp[2], vertsp[3]);
-	    simp->Num = Num ;
-	    simp->iEnt = Elementary ;
-	    Tree_Replace(v->Simplexes, &simp) ;
-	    replace = Tree_Replace(M->Simplexes, &simp) ;
-	    if(!replace) M->Statistics[9]++;
-	    break;
-	  case HEX1:
-	    hex = Create_Hexahedron(vertsp[0], vertsp[1], vertsp[2], vertsp[3],
-				    vertsp[4], vertsp[5], vertsp[6], vertsp[7]);
-	    hex->Num = Num ;
-	    hex->iEnt = Elementary ;
-	    replace = Tree_Replace(v->Hexahedra, &hex) ;
-	    if(!replace) M->Statistics[10]++;
-	    break;
-	  case PRI1:
-	    pri = Create_Prism(vertsp[0], vertsp[1], vertsp[2], 
-			       vertsp[3], vertsp[4], vertsp[5]);
-	    pri->Num = Num ;
-	    pri->iEnt = Elementary ;
-	    replace = Tree_Replace(v->Prisms, &pri) ;
-	    if(!replace) M->Statistics[11]++;
-	    break;
-	  case PYR1:
-	    pyr = Create_Pyramid(vertsp[0], vertsp[1], vertsp[2], 
-				 vertsp[3], vertsp[4]);
-	    pyr->Num = Num ;
-	    pyr->iEnt = Elementary ;
-	    replace = Tree_Replace(v->Pyramids, &pyr) ;
-	    if(!replace) M->Statistics[12]++;
-	    break;
-	  case PNT:
-	    break;
-	  default :
-	    Msg(WARNING, "Unknown type of element in Read_Mesh");
-	    break;
+	  vert->Pos.X /= (double) Nbr_Nodes;
+	  vert->Pos.Y /= (double) Nbr_Nodes;
+	  vert->Pos.Z /= (double) Nbr_Nodes;
+	  if((vertspp = (Vertex**)Tree_PQuery(Duplicates, &vert)))
+	    Msg(GERROR, "Elements %d and %d have identical barycenters", 
+		Num, (*vertspp)->Num);
+	  else
+	    Tree_Add(Duplicates, &vert);
+	}
+	
+	switch(Type){
+	case LGN1:
+	  simp = Create_Simplex(vertsp[0], vertsp[1], NULL , NULL);
+	  simp->Num = Num ;
+	  simp->iEnt = Elementary ;
+	  Tree_Replace(c->Simplexes, &simp) ;
+	  //NO!!! Tree_Replace(M->Simplexes, &simp) ; 
+	  break;
+	case TRI1:
+	  simp = Create_Simplex(vertsp[0], vertsp[1], vertsp[2], NULL);
+	  simp->Num = Num ;
+	  simp->iEnt = Elementary ;
+	  Tree_Replace(s->Simplexes, &simp) ;
+	  replace = Tree_Replace(M->Simplexes, &simp) ;
+	  if(!replace) M->Statistics[7]++;
+	  break;
+	case QUA1:
+	  simp = Create_Quadrangle(vertsp[0], vertsp[1], vertsp[2], vertsp[3]);
+	  simp->Num = Num ;
+	  simp->iEnt = Elementary ;
+	  Tree_Replace(s->Simplexes, &simp) ;
+	  replace = Tree_Replace(M->Simplexes, &simp) ;
+	  if(!replace) {
+	    M->Statistics[7]++;//since s->Simplexes holds quads, too :-(
+	    M->Statistics[8]++;
 	  }
+	  break;
+	case TET1:
+	  simp = Create_Simplex(vertsp[0], vertsp[1], vertsp[2], vertsp[3]);
+	  simp->Num = Num ;
+	  simp->iEnt = Elementary ;
+	  Tree_Replace(v->Simplexes, &simp) ;
+	  replace = Tree_Replace(M->Simplexes, &simp) ;
+	  if(!replace) M->Statistics[9]++;
+	  break;
+	case HEX1:
+	  hex = Create_Hexahedron(vertsp[0], vertsp[1], vertsp[2], vertsp[3],
+				  vertsp[4], vertsp[5], vertsp[6], vertsp[7]);
+	  hex->Num = Num ;
+	  hex->iEnt = Elementary ;
+	  replace = Tree_Replace(v->Hexahedra, &hex) ;
+	  if(!replace) M->Statistics[10]++;
+	  break;
+	case PRI1:
+	  pri = Create_Prism(vertsp[0], vertsp[1], vertsp[2], 
+			     vertsp[3], vertsp[4], vertsp[5]);
+	  pri->Num = Num ;
+	  pri->iEnt = Elementary ;
+	  replace = Tree_Replace(v->Prisms, &pri) ;
+	  if(!replace) M->Statistics[11]++;
+	  break;
+	case PYR1:
+	  pyr = Create_Pyramid(vertsp[0], vertsp[1], vertsp[2], 
+			       vertsp[3], vertsp[4]);
+	  pyr->Num = Num ;
+	  pyr->iEnt = Elementary ;
+	  replace = Tree_Replace(v->Pyramids, &pyr) ;
+	  if(!replace) M->Statistics[12]++;
+	  break;
+	case PNT:
+	  break;
+	default :
+	  Msg(WARNING, "Unknown type of element in Read_Mesh");
+	  break;
 	}
       }
 
-- 
GitLab