From a79488788cce6b32a8486e1a4de6f07577a5eafb Mon Sep 17 00:00:00 2001
From: Christophe Geuzaine <cgeuzaine@ulg.ac.be>
Date: Fri, 9 Feb 2007 08:38:04 +0000
Subject: [PATCH] - make it easier to build universal binaries on Mac - remove
 unused arg in transform functions (an prepare the terrain for periodic
 meshes)

---
 Geo/Geo.cpp         | 21 +++++++++------------
 Geo/Geo.h           |  8 ++++----
 Makefile            | 12 +++++++++---
 Parser/Gmsh.tab.cpp | 10 +++++-----
 Parser/Gmsh.y       | 10 +++++-----
 Parser/Gmsh.yy.cpp  |  4 ++--
 doc/TODO            | 15 ++++++++++++++-
 doc/gmsh.html       |  2 +-
 8 files changed, 49 insertions(+), 33 deletions(-)

diff --git a/Geo/Geo.cpp b/Geo/Geo.cpp
index a0166cf80f..ad13178ebf 100644
--- a/Geo/Geo.cpp
+++ b/Geo/Geo.cpp
@@ -1,4 +1,4 @@
-// $Id: Geo.cpp,v 1.78 2007-02-03 22:04:42 geuzaine Exp $
+// $Id: Geo.cpp,v 1.79 2007-02-09 08:38:04 geuzaine Exp $
 //
 // Copyright (C) 1997-2007 C. Geuzaine, J.-F. Remacle
 //
@@ -1731,8 +1731,7 @@ void ApplicationOnShapes(double matrix[4][4], List_T * ListShapes)
   List_Reset(ListOfTransformedPoints);
 }
 
-void TranslateShapes(double X, double Y, double Z,
-                     List_T * ListShapes, int final)
+void TranslateShapes(double X, double Y, double Z, List_T * ListShapes)
 {
   double T[3], matrix[4][4];
 
@@ -1742,12 +1741,11 @@ void TranslateShapes(double X, double Y, double Z,
   SetTranslationMatrix(matrix, T);
   ApplicationOnShapes(matrix, ListShapes);
 
-  if(CTX.geom.auto_coherence && final)
+  if(CTX.geom.auto_coherence)
     ReplaceAllDuplicates();
 }
 
-void DilatShapes(double X, double Y, double Z, double A,
-                 List_T * ListShapes, int final)
+void DilatShapes(double X, double Y, double Z, double A, List_T * ListShapes)
 {
   double T[3], matrix[4][4];
 
@@ -1757,13 +1755,13 @@ void DilatShapes(double X, double Y, double Z, double A,
   SetDilatationMatrix(matrix, T, A);
   ApplicationOnShapes(matrix, ListShapes);
 
-  if(CTX.geom.auto_coherence && final)
+  if(CTX.geom.auto_coherence)
     ReplaceAllDuplicates();
 }
 
 void RotateShapes(double Ax, double Ay, double Az,
                   double Px, double Py, double Pz,
-                  double alpha, List_T * ListShapes, int final)
+                  double alpha, List_T * ListShapes)
 {
   double A[3], T[3], matrix[4][4];
 
@@ -1785,19 +1783,18 @@ void RotateShapes(double Ax, double Ay, double Az,
   SetTranslationMatrix(matrix, T);
   ApplicationOnShapes(matrix, ListShapes);
 
-  if(CTX.geom.auto_coherence && final)
+  if(CTX.geom.auto_coherence)
     ReplaceAllDuplicates();
 }
 
-void SymmetryShapes(double A, double B, double C,
-                    double D, List_T * ListShapes, int final)
+void SymmetryShapes(double A, double B, double C, double D, List_T * ListShapes)
 {
   double matrix[4][4];
 
   SetSymmetryMatrix(matrix, A, B, C, D);
   ApplicationOnShapes(matrix, ListShapes);
 
-  if(CTX.geom.auto_coherence && final)
+  if(CTX.geom.auto_coherence)
     ReplaceAllDuplicates();
 }
 
diff --git a/Geo/Geo.h b/Geo/Geo.h
index 6870eaacbf..eaf7f367ec 100644
--- a/Geo/Geo.h
+++ b/Geo/Geo.h
@@ -266,14 +266,14 @@ Volume *FindVolume(int inum);
 PhysicalGroup *FindPhysicalGroup(int inum, int type);
 
 void TranslateShapes(double X,double Y,double Z,
-                     List_T *ListShapes, int final);
+                     List_T *ListShapes);
 void DilatShapes(double X,double Y,double Z, double A,
-                 List_T *ListShapes, int final);
+                 List_T *ListShapes);
 void RotateShapes(double Ax,double Ay,double Az,
 		  double Px,double Py, double Pz,
-		  double alpha, List_T *ListShapes, int final);
+		  double alpha, List_T *ListShapes);
 void SymmetryShapes(double A,double B,double C,
-		    double D, List_T *ListShapes, int final);
+		    double D, List_T *ListShapes);
 void CopyShape(int Type, int Num, int *New);
 void DeleteShape(int Type, int Num);
 void ColorShape(int Type, int Num, unsigned int Color);
diff --git a/Makefile b/Makefile
index e6cae38143..5426e4b475 100644
--- a/Makefile
+++ b/Makefile
@@ -1,4 +1,4 @@
-# $Id: Makefile,v 1.425 2007-01-25 15:50:57 geuzaine Exp $
+# $Id: Makefile,v 1.426 2007-02-09 08:38:04 geuzaine Exp $
 #
 # Copyright (C) 1997-2007 C. Geuzaine, J.-F. Remacle
 #
@@ -23,7 +23,7 @@ include variables
 
 GMSH_MAJOR_VERSION = 2
 GMSH_MINOR_VERSION = 0
-GMSH_PATCH_VERSION = 0
+GMSH_PATCH_VERSION = 1
 GMSH_EXTRA_VERSION = "-cvs"
 
 GMSH_VERSION = ${GMSH_MAJOR_VERSION}.${GMSH_MINOR_VERSION}.${GMSH_PATCH_VERSION}${GMSH_EXTRA_VERSION}
@@ -42,6 +42,12 @@ link: variables
 	${LINKER} ${OPTIM} -o bin/gmsh ${GMSH_LIBS}
 	${POSTBUILD}
 
+link-mac-universal: variables
+	${LINKER} -arch i386 ${OPTIM} -o bin/gmsh_i386 ${GMSH_LIBS}
+	${LINKER} -arch ppc ${OPTIM} -o bin/gmsh_ppc ${GMSH_LIBS}
+	lipo -create bin/gmsh_i386 bin/gmsh_ppc -output bin/gmsh
+	rm -f bin/gmsh_i386 bin/gmsh_ppc
+
 install: variables
 	mkdir -p ${bindir}
 	cp -f bin/gmsh${EXEEXT} ${bindir}
@@ -311,7 +317,7 @@ distrib-win:
 
 distrib-mac:
 	make distrib-pre
-	make all
+	make variables initialtag compile link-mac-universal
 	make package-mac
 	make distrib-post
 	${POSTBUILD}
diff --git a/Parser/Gmsh.tab.cpp b/Parser/Gmsh.tab.cpp
index e12208fea8..ae99531c7f 100644
--- a/Parser/Gmsh.tab.cpp
+++ b/Parser/Gmsh.tab.cpp
@@ -121,7 +121,7 @@
 
 #line 1 "Gmsh.y"
 
-// $Id: Gmsh.tab.cpp,v 1.302 2007-02-02 23:50:34 geuzaine Exp $
+// $Id: Gmsh.tab.cpp,v 1.303 2007-02-09 08:38:04 geuzaine Exp $
 //
 // Copyright (C) 1997-2007 C. Geuzaine, J.-F. Remacle
 //
@@ -4204,28 +4204,28 @@ case 107:
 case 108:
 #line 1589 "Gmsh.y"
 {
-      TranslateShapes(yyvsp[-3].v[0], yyvsp[-3].v[1], yyvsp[-3].v[2], yyvsp[-1].l, 1);
+      TranslateShapes(yyvsp[-3].v[0], yyvsp[-3].v[1], yyvsp[-3].v[2], yyvsp[-1].l);
       yyval.l = yyvsp[-1].l;
     ;
     break;}
 case 109:
 #line 1594 "Gmsh.y"
 {
-      RotateShapes(yyvsp[-8].v[0], yyvsp[-8].v[1], yyvsp[-8].v[2], yyvsp[-6].v[0], yyvsp[-6].v[1], yyvsp[-6].v[2], yyvsp[-4].d, yyvsp[-1].l, 1);
+      RotateShapes(yyvsp[-8].v[0], yyvsp[-8].v[1], yyvsp[-8].v[2], yyvsp[-6].v[0], yyvsp[-6].v[1], yyvsp[-6].v[2], yyvsp[-4].d, yyvsp[-1].l);
       yyval.l = yyvsp[-1].l;
     ;
     break;}
 case 110:
 #line 1599 "Gmsh.y"
 {
-      SymmetryShapes(yyvsp[-3].v[0], yyvsp[-3].v[1], yyvsp[-3].v[2], yyvsp[-3].v[3], yyvsp[-1].l, 1);
+      SymmetryShapes(yyvsp[-3].v[0], yyvsp[-3].v[1], yyvsp[-3].v[2], yyvsp[-3].v[3], yyvsp[-1].l);
       yyval.l = yyvsp[-1].l;
     ;
     break;}
 case 111:
 #line 1604 "Gmsh.y"
 {
-      DilatShapes(yyvsp[-6].v[0], yyvsp[-6].v[1], yyvsp[-6].v[2], yyvsp[-4].d, yyvsp[-1].l, 1);
+      DilatShapes(yyvsp[-6].v[0], yyvsp[-6].v[1], yyvsp[-6].v[2], yyvsp[-4].d, yyvsp[-1].l);
       yyval.l = yyvsp[-1].l;
     ;
     break;}
diff --git a/Parser/Gmsh.y b/Parser/Gmsh.y
index f22e4b887b..557486cfe0 100644
--- a/Parser/Gmsh.y
+++ b/Parser/Gmsh.y
@@ -1,5 +1,5 @@
 %{
-// $Id: Gmsh.y,v 1.259 2007-02-02 23:50:37 geuzaine Exp $
+// $Id: Gmsh.y,v 1.260 2007-02-09 08:38:04 geuzaine Exp $
 //
 // Copyright (C) 1997-2007 C. Geuzaine, J.-F. Remacle
 //
@@ -1587,22 +1587,22 @@ Shape :
 Transform :
     tTranslate VExpr '{' MultipleShape '}'
     {
-      TranslateShapes($2[0], $2[1], $2[2], $4, 1);
+      TranslateShapes($2[0], $2[1], $2[2], $4);
       $$ = $4;
     }
   | tRotate '{' VExpr ',' VExpr ',' FExpr '}' '{' MultipleShape '}'
     {
-      RotateShapes($3[0], $3[1], $3[2], $5[0], $5[1], $5[2], $7, $10, 1);
+      RotateShapes($3[0], $3[1], $3[2], $5[0], $5[1], $5[2], $7, $10);
       $$ = $10;
     }
   | tSymmetry  VExpr   '{' MultipleShape '}'
     {
-      SymmetryShapes($2[0], $2[1], $2[2], $2[3], $4, 1);
+      SymmetryShapes($2[0], $2[1], $2[2], $2[3], $4);
       $$ = $4;
     }
   | tDilate '{' VExpr ',' FExpr '}' '{' MultipleShape '}'
     {
-      DilatShapes($3[0], $3[1], $3[2], $5, $8, 1);
+      DilatShapes($3[0], $3[1], $3[2], $5, $8);
       $$ = $8;
     }
 ;
diff --git a/Parser/Gmsh.yy.cpp b/Parser/Gmsh.yy.cpp
index 316cd14836..bc76119df2 100644
--- a/Parser/Gmsh.yy.cpp
+++ b/Parser/Gmsh.yy.cpp
@@ -2,7 +2,7 @@
 /* A lexical scanner generated by flex */
 
 /* Scanner skeleton version:
- * $Header: /cvsroot/gmsh/Parser/Gmsh.yy.cpp,v 1.301 2007-02-02 23:50:38 geuzaine Exp $
+ * $Header: /cvsroot/gmsh/Parser/Gmsh.yy.cpp,v 1.302 2007-02-09 08:38:04 geuzaine Exp $
  */
 
 #define FLEX_SCANNER
@@ -720,7 +720,7 @@ char *yytext;
 #line 1 "Gmsh.l"
 #define INITIAL 0
 #line 2 "Gmsh.l"
-// $Id: Gmsh.yy.cpp,v 1.301 2007-02-02 23:50:38 geuzaine Exp $
+// $Id: Gmsh.yy.cpp,v 1.302 2007-02-09 08:38:04 geuzaine Exp $
 //
 // Copyright (C) 1997-2007 C. Geuzaine, J.-F. Remacle
 //
diff --git a/doc/TODO b/doc/TODO
index 7ed15e1025..36f01f82ab 100644
--- a/doc/TODO
+++ b/doc/TODO
@@ -1,4 +1,17 @@
-$Id: TODO,v 1.46 2007-02-05 13:33:32 geuzaine Exp $
+$Id: TODO,v 1.47 2007-02-09 08:38:04 geuzaine Exp $
+
+********************************************************************
+
+interface GModel in surface/volume creation in the parser (so we can
+define a volume from iges surfaces, etc.)
+
+********************************************************************
+
+interface duplicate entity removal from opencascade
+
+********************************************************************
+
+interface GModel in surface/volume creation in the parser
 
 ********************************************************************
 
diff --git a/doc/gmsh.html b/doc/gmsh.html
index 795901f261..497d47f8d9 100644
--- a/doc/gmsh.html
+++ b/doc/gmsh.html
@@ -122,7 +122,7 @@ archives.
 <ul>
 <li><a href="/gmsh/bin/Windows/gmsh-2.0.0-Windows.zip">Windows (NT, 2000, XP)</a>
 <li><a href="/gmsh/bin/Linux/gmsh-2.0.0-Linux.tgz">Linux (Intel, glibc 2.3)</a> 
-<li><a href="/gmsh/bin/MacOSX/gmsh-2.0.0-MacOSX.tgz">Mac OS X (Intel, 10.4)</a>
+<li><a href="/gmsh/bin/MacOSX/gmsh-2.0.1-MacOSX.tgz">Mac OS X (Universal, 10.4)</a>
 <li><a href="/gmsh/src/gmsh-2.0.0-source.tgz">Source (all platforms)</a>
     <a href="#build-footnote" name="build-footmark"><sup>2</sup></a>
 </ul>
-- 
GitLab