From ab06c9468267206812ae75aeb293040402c2ba31 Mon Sep 17 00:00:00 2001
From: Jean-Francois Remacle <jean-francois.remacle@uclouvain.be>
Date: Thu, 14 Sep 2006 15:23:30 +0000
Subject: [PATCH] *** empty log message ***

---
 Common/Makefile                       |  44 ++--
 DataStr/Makefile                      |   8 +-
 Fltk/Makefile                         |  36 ++--
 Geo/MElement.h                        |  66 +++++-
 Mesh/2D_DivAndConq.cpp                |  31 +--
 Mesh/BDS.cpp                          | 212 ++++---------------
 Mesh/BDS.h                            |  18 +-
 Mesh/meshGFace.cpp                    |  63 ++++--
 Mesh/meshGRegion.cpp                  |  34 ++-
 Mesh/meshGRegionDelaunayInsertion.cpp | 294 ++++++++++++++++++++++----
 Mesh/meshGRegionDelaunayInsertion.h   |  56 +++--
 Parallel/Makefile                     |   3 +-
 benchmarks/3d/Cube-01.geo             |   2 +-
 benchmarks/3d/Cube-05.geo             |   2 +-
 benchmarks/3d/naca12.geo              |  16 +-
 contrib/ANN/Makefile                  |  16 +-
 contrib/MathEval/Makefile             |   8 +-
 contrib/Metis/Makefile                |  54 +----
 contrib/Netgen/Makefile               | 101 +--------
 19 files changed, 547 insertions(+), 517 deletions(-)

diff --git a/Common/Makefile b/Common/Makefile
index 4286365aa1..6289b80363 100644
--- a/Common/Makefile
+++ b/Common/Makefile
@@ -1,4 +1,4 @@
-# $Id: Makefile,v 1.108 2006-08-26 13:34:43 geuzaine Exp $
+# $Id: Makefile,v 1.109 2006-09-14 15:23:28 remacle Exp $
 #
 # Copyright (C) 1997-2006 C. Geuzaine, J.-F. Remacle
 #
@@ -64,46 +64,45 @@ depend:
 	rm -f Makefile.new
 
 # DO NOT DELETE THIS LINE
-# 1 "/Users/geuzaine/.gmsh/Common//"
 Context.o: Context.cpp Gmsh.h Message.h ../DataStr/Malloc.h \
   ../DataStr/List.h ../DataStr/Tree.h ../DataStr/avl.h ../DataStr/Tools.h \
   ../DataStr/List.h ../DataStr/Tree.h ../Numeric/Numeric.h Context.h \
   DefaultOptions.h GmshDefines.h Options.h Views.h ColorTable.h \
-  VertexArray.h SmoothNormals.h AdaptiveViews.h GmshMatrix.h Trackball.h
-# 1 "/Users/geuzaine/.gmsh/Common//"
+  VertexArray.h SmoothNormals.h AdaptiveViews.h GmshMatrix.h \
+  gsl/gsl_linalg.h gsl/gsl_matrix.h gsl/gsl_vector.h gsl/gsl_blas.h \
+  Trackball.h
 AdaptiveViews.o: AdaptiveViews.cpp AdaptiveViews.h ../DataStr/List.h \
-  GmshMatrix.h ../Plugin/Plugin.h ../Common/Options.h ../Common/Message.h \
-  ../Common/Views.h ../Common/ColorTable.h ../Common/VertexArray.h \
-  ../Common/SmoothNormals.h ../Numeric/Numeric.h \
+  GmshMatrix.h gsl/gsl_linalg.h gsl/gsl_matrix.h gsl/gsl_vector.h \
+  gsl/gsl_blas.h ../Plugin/Plugin.h ../Common/Options.h \
+  ../Common/Message.h ../Common/Views.h ../Common/ColorTable.h \
+  ../Common/VertexArray.h ../Common/SmoothNormals.h ../Numeric/Numeric.h \
   ../Common/AdaptiveViews.h ../Common/GmshMatrix.h OS.h
-# 1 "/Users/geuzaine/.gmsh/Common//"
 Views.o: Views.cpp Gmsh.h Message.h ../DataStr/Malloc.h ../DataStr/List.h \
   ../DataStr/Tree.h ../DataStr/avl.h ../DataStr/Tools.h ../DataStr/List.h \
   ../DataStr/Tree.h ../Numeric/Numeric.h Views.h ColorTable.h \
-  VertexArray.h SmoothNormals.h AdaptiveViews.h GmshMatrix.h Context.h \
-  Options.h
-# 1 "/Users/geuzaine/.gmsh/Common//"
+  VertexArray.h SmoothNormals.h AdaptiveViews.h GmshMatrix.h \
+  gsl/gsl_linalg.h gsl/gsl_matrix.h gsl/gsl_vector.h gsl/gsl_blas.h \
+  Context.h Options.h
 ViewsIO.o: ViewsIO.cpp Gmsh.h Message.h ../DataStr/Malloc.h \
   ../DataStr/List.h ../DataStr/Tree.h ../DataStr/avl.h ../DataStr/Tools.h \
   ../DataStr/List.h ../DataStr/Tree.h ../Numeric/Numeric.h Views.h \
   ColorTable.h VertexArray.h SmoothNormals.h AdaptiveViews.h GmshMatrix.h \
+  gsl/gsl_linalg.h gsl/gsl_matrix.h gsl/gsl_vector.h gsl/gsl_blas.h \
   Context.h
-# 1 "/Users/geuzaine/.gmsh/Common//"
 Octree.o: Octree.cpp Octree.h OctreeInternals.h
-# 1 "/Users/geuzaine/.gmsh/Common//"
 OctreeInternals.o: OctreeInternals.cpp Message.h OctreeInternals.h
-# 1 "/Users/geuzaine/.gmsh/Common//"
 OctreePost.o: OctreePost.cpp Octree.h OctreeInternals.h OctreePost.h \
   ../DataStr/List.h Views.h ColorTable.h VertexArray.h SmoothNormals.h \
-  ../Numeric/Numeric.h AdaptiveViews.h GmshMatrix.h Message.h \
+  ../Numeric/Numeric.h AdaptiveViews.h GmshMatrix.h gsl/gsl_linalg.h \
+  gsl/gsl_matrix.h gsl/gsl_vector.h gsl/gsl_blas.h Message.h \
   ShapeFunctions.h
-# 1 "/Users/geuzaine/.gmsh/Common//"
 Options.o: Options.cpp Gmsh.h Message.h ../DataStr/Malloc.h \
   ../DataStr/List.h ../DataStr/Tree.h ../DataStr/avl.h ../DataStr/Tools.h \
   ../DataStr/List.h ../DataStr/Tree.h GmshUI.h GmshDefines.h \
   ../Graphics/Draw.h ../Common/Views.h ../Common/ColorTable.h \
   ../Common/VertexArray.h ../Common/SmoothNormals.h ../Numeric/Numeric.h \
-  ../Common/AdaptiveViews.h ../Common/GmshMatrix.h Context.h Options.h \
+  ../Common/AdaptiveViews.h ../Common/GmshMatrix.h gsl/gsl_linalg.h \
+  gsl/gsl_matrix.h gsl/gsl_vector.h gsl/gsl_blas.h Context.h Options.h \
   ../Plugin/PluginManager.h ../Plugin/Plugin.h ../Common/Options.h \
   ../Common/Message.h ../Fltk/Solvers.h ../Fltk/GUI.h \
   ../Fltk/Opengl_Window.h ../Mesh/Mesh.h ../Common/GmshDefines.h \
@@ -114,13 +113,13 @@ Options.o: Options.cpp Gmsh.h Message.h ../DataStr/Malloc.h \
   ../Mesh/Simplex.h ../Mesh/Mesh.h ../Mesh/Matrix.h \
   ../Fltk/Colorbar_Window.h ../Common/GmshUI.h ../Fltk/Popup_Button.h \
   ../Fltk/SpherePosition_Widget.h
-# 1 "/Users/geuzaine/.gmsh/Common//"
 CommandLine.o: CommandLine.cpp Gmsh.h Message.h ../DataStr/Malloc.h \
   ../DataStr/List.h ../DataStr/Tree.h ../DataStr/avl.h ../DataStr/Tools.h \
   ../DataStr/List.h ../DataStr/Tree.h GmshUI.h GmshDefines.h \
   GmshVersion.h CommandLine.h ../Numeric/Numeric.h Context.h Options.h \
   ../Geo/Geo.h Views.h ColorTable.h VertexArray.h SmoothNormals.h \
-  AdaptiveViews.h GmshMatrix.h ../Parser/OpenFile.h \
+  AdaptiveViews.h GmshMatrix.h gsl/gsl_linalg.h gsl/gsl_matrix.h \
+  gsl/gsl_vector.h gsl/gsl_blas.h ../Parser/OpenFile.h \
   ../Parser/CreateFile.h ../Parser/Parser.h ../Geo/GModel.h \
   ../Geo/GVertex.h ../Geo/GEntity.h ../Geo/Range.h ../Geo/SPoint3.h \
   ../Geo/SBoundingBox3d.h ../Geo/SPoint3.h ../Common/GmshDefines.h \
@@ -133,14 +132,11 @@ CommandLine.o: CommandLine.cpp Gmsh.h Message.h ../DataStr/Malloc.h \
   ../Geo/SVector3.h ../Geo/Pair.h ../Geo/GRegion.h ../Geo/GEntity.h \
   ../Geo/MElement.h ../Geo/SBoundingBox3d.h ../Common/SmoothNormals.h \
   OS.h
-# 1 "/Users/geuzaine/.gmsh/Common//"
 OS.o: OS.cpp Message.h
-# 1 "/Users/geuzaine/.gmsh/Common//"
 ColorTable.o: ColorTable.cpp Gmsh.h Message.h ../DataStr/Malloc.h \
   ../DataStr/List.h ../DataStr/Tree.h ../DataStr/avl.h ../DataStr/Tools.h \
   ../DataStr/List.h ../DataStr/Tree.h ColorTable.h Context.h \
   ../Numeric/Numeric.h
-# 1 "/Users/geuzaine/.gmsh/Common//"
 Visibility.o: Visibility.cpp Visibility.h GmshDefines.h ../Geo/GVertex.h \
   ../Geo/GEntity.h ../Geo/Range.h ../Geo/SPoint3.h \
   ../Geo/SBoundingBox3d.h ../Geo/SPoint3.h ../Common/GmshDefines.h \
@@ -155,17 +151,13 @@ Visibility.o: Visibility.cpp Visibility.h GmshDefines.h ../Geo/GVertex.h \
   ../Geo/GModel.h ../Geo/GVertex.h ../Geo/GEdge.h ../Geo/GFace.h \
   ../Geo/GRegion.h ../Geo/SBoundingBox3d.h ../Common/SmoothNormals.h \
   ../Parser/Parser.h ../DataStr/Tree.h ../DataStr/avl.h
-# 1 "/Users/geuzaine/.gmsh/Common//"
 Trackball.o: Trackball.cpp Trackball.h
-# 1 "/Users/geuzaine/.gmsh/Common//"
 VertexArray.o: VertexArray.cpp VertexArray.h Context.h ../DataStr/List.h \
   ../Numeric/Numeric.h
-# 1 "/Users/geuzaine/.gmsh/Common//"
 SmoothNormals.o: SmoothNormals.cpp Gmsh.h Message.h ../DataStr/Malloc.h \
   ../DataStr/List.h ../DataStr/Tree.h ../DataStr/avl.h ../DataStr/Tools.h \
   ../DataStr/List.h ../DataStr/Tree.h ../Numeric/Numeric.h \
   SmoothNormals.h
-# 1 "/Users/geuzaine/.gmsh/Common//"
 License.o: License.cpp Gmsh.h Message.h ../DataStr/Malloc.h \
   ../DataStr/List.h ../DataStr/Tree.h ../DataStr/avl.h ../DataStr/Tools.h \
   ../DataStr/List.h ../DataStr/Tree.h
diff --git a/DataStr/Makefile b/DataStr/Makefile
index 5819f6a3e1..6cb1d2fbc8 100644
--- a/DataStr/Makefile
+++ b/DataStr/Makefile
@@ -1,4 +1,4 @@
-# $Id: Makefile,v 1.34 2006-08-04 14:28:01 geuzaine Exp $
+# $Id: Makefile,v 1.35 2006-09-14 15:23:28 remacle Exp $
 #
 # Copyright (C) 1997-2006 C. Geuzaine, J.-F. Remacle
 #
@@ -55,15 +55,9 @@ depend:
 	rm -f Makefile.new
 
 # DO NOT DELETE THIS LINE
-# 1 "/Users/geuzaine/.gmsh/DataStr//"
 List.o: List.cpp Malloc.h List.h ../Common/Message.h SafeIO.h
-# 1 "/Users/geuzaine/.gmsh/DataStr//"
 Malloc.o: Malloc.cpp Malloc.h ../Common/Message.h
-# 1 "/Users/geuzaine/.gmsh/DataStr//"
 SafeIO.o: SafeIO.cpp SafeIO.h ../Common/Message.h
-# 1 "/Users/geuzaine/.gmsh/DataStr//"
 Tree.o: Tree.cpp Malloc.h Tree.h avl.h ../Common/Message.h
-# 1 "/Users/geuzaine/.gmsh/DataStr//"
 avl.o: avl.cpp avl.h Malloc.h
-# 1 "/Users/geuzaine/.gmsh/DataStr//"
 Tools.o: Tools.cpp Tools.h List.h Tree.h avl.h
diff --git a/Fltk/Makefile b/Fltk/Makefile
index e09af4d36d..18ab6e6126 100644
--- a/Fltk/Makefile
+++ b/Fltk/Makefile
@@ -1,4 +1,4 @@
-# $Id: Makefile,v 1.105 2006-08-29 02:27:26 geuzaine Exp $
+# $Id: Makefile,v 1.106 2006-09-14 15:23:28 remacle Exp $
 #
 # Copyright (C) 1997-2006 C. Geuzaine, J.-F. Remacle
 #
@@ -63,7 +63,6 @@ depend:
 	rm -f Makefile.new
 
 # DO NOT DELETE THIS LINE
-# 1 "/Users/geuzaine/.gmsh/Fltk//"
 Main.o: Main.cpp GUI.h Opengl_Window.h ../Mesh/Mesh.h \
   ../Common/GmshDefines.h ../DataStr/List.h ../DataStr/Tree.h \
   ../DataStr/avl.h ../Mesh/Vertex.h ../Mesh/Element.h ../Mesh/Vertex.h \
@@ -77,7 +76,8 @@ Main.o: Main.cpp GUI.h Opengl_Window.h ../Mesh/Mesh.h \
   ../DataStr/List.h ../DataStr/Tree.h ../Geo/Geo.h ../Parser/CreateFile.h \
   ../Graphics/Draw.h ../Common/Views.h ../Common/ColorTable.h \
   ../Common/VertexArray.h ../Common/SmoothNormals.h ../Numeric/Numeric.h \
-  ../Common/AdaptiveViews.h ../Common/GmshMatrix.h ../Common/Context.h \
+  ../Common/AdaptiveViews.h ../Common/GmshMatrix.h gsl/gsl_linalg.h \
+  gsl/gsl_matrix.h gsl/gsl_vector.h gsl/gsl_blas.h ../Common/Context.h \
   ../Common/Options.h ../Parser/Parser.h ../Parser/OpenFile.h \
   ../Common/CommandLine.h Solvers.h ../Plugin/PluginManager.h \
   ../Plugin/Plugin.h ../Geo/gmshModel.h ../Geo/GModel.h ../Geo/GVertex.h \
@@ -91,7 +91,6 @@ Main.o: Main.cpp GUI.h Opengl_Window.h ../Mesh/Mesh.h \
   ../Geo/MElement.h ../Geo/SPoint2.h ../Geo/SVector3.h ../Geo/Pair.h \
   ../Geo/GRegion.h ../Geo/GEntity.h ../Geo/MElement.h \
   ../Geo/SBoundingBox3d.h
-# 1 "/Users/geuzaine/.gmsh/Fltk//"
 Message.o: Message.cpp ../Common/Gmsh.h ../Common/Message.h \
   ../DataStr/Malloc.h ../DataStr/List.h ../DataStr/Tree.h \
   ../DataStr/avl.h ../DataStr/Tools.h ../DataStr/List.h ../DataStr/Tree.h \
@@ -104,14 +103,14 @@ Message.o: Message.cpp ../Common/Gmsh.h ../Common/Message.h \
   ../Mesh/Simplex.h ../Mesh/Mesh.h ../Mesh/Matrix.h Colorbar_Window.h \
   ../Common/ColorTable.h Popup_Button.h SpherePosition_Widget.h \
   GUI_Extras.h ../Common/OS.h
-# 1 "/Users/geuzaine/.gmsh/Fltk//"
 GUI.o: GUI.cpp ../Common/Gmsh.h ../Common/Message.h ../DataStr/Malloc.h \
   ../DataStr/List.h ../DataStr/Tree.h ../DataStr/avl.h ../DataStr/Tools.h \
   ../DataStr/List.h ../DataStr/Tree.h ../Common/GmshUI.h \
   ../Numeric/Numeric.h ../Common/Context.h ../Common/Options.h \
   ../Graphics/Draw.h ../Common/Views.h ../Common/ColorTable.h \
   ../Common/VertexArray.h ../Common/SmoothNormals.h \
-  ../Common/AdaptiveViews.h ../Common/GmshMatrix.h GUI.h Opengl_Window.h \
+  ../Common/AdaptiveViews.h ../Common/GmshMatrix.h gsl/gsl_linalg.h \
+  gsl/gsl_matrix.h gsl/gsl_vector.h gsl/gsl_blas.h GUI.h Opengl_Window.h \
   ../Mesh/Mesh.h ../Common/GmshDefines.h ../Mesh/Vertex.h \
   ../Mesh/Element.h ../Mesh/Vertex.h ../Mesh/Simplex.h ../Mesh/Vertex.h \
   ../Mesh/Element.h ../Mesh/Face.h ../Mesh/Vertex.h ../Mesh/Element.h \
@@ -121,7 +120,6 @@ GUI.o: GUI.cpp ../Common/Gmsh.h ../Common/Message.h ../DataStr/Malloc.h \
   Popup_Button.h SpherePosition_Widget.h Callbacks.h Bitmaps.h \
   Win32Icon.h ../Parser/OpenFile.h ../Common/CommandLine.h Solvers.h \
   ../Plugin/PluginManager.h ../Plugin/Plugin.h Shortcut_Window.h
-# 1 "/Users/geuzaine/.gmsh/Fltk//"
 GUI_Extras.o: GUI_Extras.cpp ../Common/Gmsh.h ../Common/Message.h \
   ../DataStr/Malloc.h ../DataStr/List.h ../DataStr/Tree.h \
   ../DataStr/avl.h ../DataStr/Tools.h ../DataStr/List.h ../DataStr/Tree.h \
@@ -135,8 +133,8 @@ GUI_Extras.o: GUI_Extras.cpp ../Common/Gmsh.h ../Common/Message.h \
   ../Common/Context.h ../Graphics/Draw.h ../Common/Views.h \
   ../Common/ColorTable.h ../Common/VertexArray.h \
   ../Common/SmoothNormals.h ../Numeric/Numeric.h \
-  ../Common/AdaptiveViews.h ../Common/GmshMatrix.h
-# 1 "/Users/geuzaine/.gmsh/Fltk//"
+  ../Common/AdaptiveViews.h ../Common/GmshMatrix.h gsl/gsl_linalg.h \
+  gsl/gsl_matrix.h gsl/gsl_vector.h gsl/gsl_blas.h
 Callbacks.o: Callbacks.cpp ../Common/Gmsh.h ../Common/Message.h \
   ../DataStr/Malloc.h ../DataStr/List.h ../DataStr/Tree.h \
   ../DataStr/avl.h ../DataStr/Tools.h ../DataStr/List.h ../DataStr/Tree.h \
@@ -149,7 +147,8 @@ Callbacks.o: Callbacks.cpp ../Common/Gmsh.h ../Common/Message.h \
   ../Mesh/Matrix.h ../Geo/ExtrudeParams.h ../Geo/ExtractContour.h \
   ../Graphics/Draw.h ../Common/Views.h ../Common/ColorTable.h \
   ../Common/VertexArray.h ../Common/SmoothNormals.h ../Numeric/Numeric.h \
-  ../Common/AdaptiveViews.h ../Common/GmshMatrix.h \
+  ../Common/AdaptiveViews.h ../Common/GmshMatrix.h gsl/gsl_linalg.h \
+  gsl/gsl_matrix.h gsl/gsl_vector.h gsl/gsl_blas.h \
   ../Graphics/SelectBuffer.h ../Geo/GVertex.h ../Geo/GEntity.h \
   ../Geo/Range.h ../Geo/SPoint3.h ../Geo/SBoundingBox3d.h \
   ../Geo/SPoint3.h ../Geo/MVertex.h ../Geo/SPoint3.h ../Geo/GPoint.h \
@@ -167,7 +166,6 @@ Callbacks.o: Callbacks.cpp ../Common/Gmsh.h ../Common/Message.h \
   ../Common/GmshDefines.h Solvers.h ../Common/OS.h ../Geo/GModel.h \
   ../Geo/GVertex.h ../Geo/GEdge.h ../Geo/GFace.h ../Geo/GRegion.h \
   ../Geo/SBoundingBox3d.h
-# 1 "/Users/geuzaine/.gmsh/Fltk//"
 Opengl.o: Opengl.cpp ../Common/Gmsh.h ../Common/Message.h \
   ../DataStr/Malloc.h ../DataStr/List.h ../DataStr/Tree.h \
   ../DataStr/avl.h ../DataStr/Tools.h ../DataStr/List.h ../DataStr/Tree.h \
@@ -175,8 +173,9 @@ Opengl.o: Opengl.cpp ../Common/Gmsh.h ../Common/Message.h \
   ../Geo/Geo.h ../Graphics/Draw.h ../Common/Views.h \
   ../Common/ColorTable.h ../Common/VertexArray.h \
   ../Common/SmoothNormals.h ../Common/AdaptiveViews.h \
-  ../Common/GmshMatrix.h ../Graphics/SelectBuffer.h ../Geo/GVertex.h \
-  ../Geo/GEntity.h ../Geo/Range.h ../Geo/SPoint3.h \
+  ../Common/GmshMatrix.h gsl/gsl_linalg.h gsl/gsl_matrix.h \
+  gsl/gsl_vector.h gsl/gsl_blas.h ../Graphics/SelectBuffer.h \
+  ../Geo/GVertex.h ../Geo/GEntity.h ../Geo/Range.h ../Geo/SPoint3.h \
   ../Geo/SBoundingBox3d.h ../Geo/SPoint3.h ../Common/GmshDefines.h \
   ../Geo/MVertex.h ../Geo/SPoint3.h ../Geo/GPoint.h ../Geo/GEdge.h \
   ../Geo/GEntity.h ../Geo/GVertex.h ../Geo/SVector3.h ../Geo/SPoint3.h \
@@ -192,7 +191,6 @@ Opengl.o: Opengl.cpp ../Common/Gmsh.h ../Common/Message.h \
   ../Mesh/Metric.h ../Mesh/Vertex.h ../Mesh/Simplex.h ../Mesh/Mesh.h \
   ../Mesh/Matrix.h Colorbar_Window.h Popup_Button.h \
   SpherePosition_Widget.h ../Graphics/gl2ps.h
-# 1 "/Users/geuzaine/.gmsh/Fltk//"
 Opengl_Window.o: Opengl_Window.cpp ../Common/Gmsh.h ../Common/Message.h \
   ../DataStr/Malloc.h ../DataStr/List.h ../DataStr/Tree.h \
   ../DataStr/avl.h ../DataStr/Tools.h ../DataStr/List.h ../DataStr/Tree.h \
@@ -200,8 +198,9 @@ Opengl_Window.o: Opengl_Window.cpp ../Common/Gmsh.h ../Common/Message.h \
   ../Geo/Geo.h ../Graphics/Draw.h ../Common/Views.h \
   ../Common/ColorTable.h ../Common/VertexArray.h \
   ../Common/SmoothNormals.h ../Common/AdaptiveViews.h \
-  ../Common/GmshMatrix.h ../Graphics/SelectBuffer.h ../Geo/GVertex.h \
-  ../Geo/GEntity.h ../Geo/Range.h ../Geo/SPoint3.h \
+  ../Common/GmshMatrix.h gsl/gsl_linalg.h gsl/gsl_matrix.h \
+  gsl/gsl_vector.h gsl/gsl_blas.h ../Graphics/SelectBuffer.h \
+  ../Geo/GVertex.h ../Geo/GEntity.h ../Geo/Range.h ../Geo/SPoint3.h \
   ../Geo/SBoundingBox3d.h ../Geo/SPoint3.h ../Common/GmshDefines.h \
   ../Geo/MVertex.h ../Geo/SPoint3.h ../Geo/GPoint.h ../Geo/GEdge.h \
   ../Geo/GEntity.h ../Geo/GVertex.h ../Geo/SVector3.h ../Geo/SPoint3.h \
@@ -217,7 +216,6 @@ Opengl_Window.o: Opengl_Window.cpp ../Common/Gmsh.h ../Common/Message.h \
   ../Mesh/Metric.h ../Mesh/Vertex.h ../Mesh/Simplex.h ../Mesh/Mesh.h \
   ../Mesh/Matrix.h Colorbar_Window.h Popup_Button.h \
   SpherePosition_Widget.h
-# 1 "/Users/geuzaine/.gmsh/Fltk//"
 Colorbar_Window.o: Colorbar_Window.cpp ../Common/Gmsh.h \
   ../Common/Message.h ../DataStr/Malloc.h ../DataStr/List.h \
   ../DataStr/Tree.h ../DataStr/avl.h ../DataStr/Tools.h ../DataStr/List.h \
@@ -230,7 +228,6 @@ Colorbar_Window.o: Colorbar_Window.cpp ../Common/Gmsh.h \
   ../Mesh/Simplex.h ../Mesh/Mesh.h ../Mesh/Matrix.h Colorbar_Window.h \
   ../Common/ColorTable.h Popup_Button.h SpherePosition_Widget.h \
   ../Common/Context.h
-# 1 "/Users/geuzaine/.gmsh/Fltk//"
 Solvers.o: Solvers.cpp ../Common/Gmsh.h ../Common/Message.h \
   ../DataStr/Malloc.h ../DataStr/List.h ../DataStr/Tree.h \
   ../DataStr/avl.h ../DataStr/Tools.h ../DataStr/List.h ../DataStr/Tree.h \
@@ -244,4 +241,5 @@ Solvers.o: Solvers.cpp ../Common/Gmsh.h ../Common/Message.h \
   ../Common/ColorTable.h Popup_Button.h SpherePosition_Widget.h \
   ../Graphics/Draw.h ../Common/Views.h ../Common/ColorTable.h \
   ../Common/VertexArray.h ../Common/SmoothNormals.h ../Numeric/Numeric.h \
-  ../Common/AdaptiveViews.h ../Common/GmshMatrix.h ../Common/Context.h
+  ../Common/AdaptiveViews.h ../Common/GmshMatrix.h gsl/gsl_linalg.h \
+  gsl/gsl_matrix.h gsl/gsl_vector.h gsl/gsl_blas.h ../Common/Context.h
diff --git a/Geo/MElement.h b/Geo/MElement.h
index 4cea2e14de..07f92c7504 100644
--- a/Geo/MElement.h
+++ b/Geo/MElement.h
@@ -477,9 +477,9 @@ class MTetrahedron : public MElement {
   {
     MVertex *tmp = _v[0]; _v[0] = _v[1]; _v[1] = tmp;
   }
-  virtual double getVolume()
-  { 
-    double mat[3][3];
+
+  virtual void  getMat(double mat[3][3])
+  {
     mat[0][0] = _v[1]->x() - _v[0]->x();
     mat[0][1] = _v[2]->x() - _v[0]->x();
     mat[0][2] = _v[3]->x() - _v[0]->x();
@@ -489,11 +489,71 @@ class MTetrahedron : public MElement {
     mat[2][0] = _v[1]->z() - _v[0]->z();
     mat[2][1] = _v[2]->z() - _v[0]->z();
     mat[2][2] = _v[3]->z() - _v[0]->z();
+  }
+  virtual double getVolume()
+  { 
+    double mat[3][3];
+    getMat(mat);
     return det3x3(mat) / 6.;
   }
   virtual int getVolumeSign(){ return sign(getVolume()); }
   virtual double gammaShapeMeasure();
   virtual double etaShapeMeasure();
+
+  // returns true if the point lies inside the tet
+  inline bool invertmapping ( double *p, double *uvw, double tol = 1.e-8 )
+    {
+      double mat[3][3];
+      double b[3], dum;
+      
+      getMat(mat);
+
+      b[0] = p[0] - getVertex(0)->x();
+      b[1] = p[1] - getVertex(0)->y();
+      b[2] = p[2] - getVertex(0)->z();
+      
+      sys3x3(mat, b, uvw, &dum);
+      if(uvw[0] >= -tol && uvw[1] >= -tol && uvw[2] >= -tol &&
+	 uvw[0] <= 1. + tol && uvw[1] <= 1. + tol && uvw[2] <= 1. + tol &&
+	 1. - uvw[0] - uvw[1] - uvw[2] > -tol) {
+	return true;
+      }
+      return false;
+    }
+
+  inline void circumcenter ( double *res )
+  {
+    double mat[3][3], b[3], dum;
+    int i;
+
+    double X[4] = {_v[0]->x(),_v[1]->x(),_v[2]->x(),_v[3]->x()};
+    double Y[4] = {_v[0]->y(),_v[1]->y(),_v[2]->y(),_v[3]->y()};
+    double Z[4] = {_v[0]->z(),_v[1]->z(),_v[2]->z(),_v[3]->z()};
+    
+    b[0] = X[1] * X[1] - X[0] * X[0] +
+      Y[1] * Y[1] - Y[0] * Y[0] + Z[1] * Z[1] - Z[0] * Z[0];
+    b[1] = X[2] * X[2] - X[1] * X[1] +
+      Y[2] * Y[2] - Y[1] * Y[1] + Z[2] * Z[2] - Z[1] * Z[1];
+    b[2] = X[3] * X[3] - X[2] * X[2] +
+      Y[3] * Y[3] - Y[2] * Y[2] + Z[3] * Z[3] - Z[2] * Z[2];
+    
+    for(i = 0; i < 3; i++)
+      b[i] *= 0.5;
+
+    mat[0][0] = X[1] - X[0];
+    mat[0][1] = Y[1] - Y[0];
+    mat[0][2] = Z[1] - Z[0];
+    mat[1][0] = X[2] - X[1];
+    mat[1][1] = Y[2] - Y[1];
+    mat[1][2] = Z[2] - Z[1];
+    mat[2][0] = X[3] - X[2];
+    mat[2][1] = Y[3] - Y[2];
+    mat[2][2] = Z[3] - Z[2];
+   
+    if(!sys3x3(mat, b, res, &dum)) {
+      res[0] = res[1] = res[2] = 10.0e10;
+    }
+  }
 };
 
 class MTetrahedron10 : public MTetrahedron {
diff --git a/Mesh/2D_DivAndConq.cpp b/Mesh/2D_DivAndConq.cpp
index 94ed2fad21..fc0b4a5b1f 100644
--- a/Mesh/2D_DivAndConq.cpp
+++ b/Mesh/2D_DivAndConq.cpp
@@ -1,4 +1,4 @@
-// $Id: 2D_DivAndConq.cpp,v 1.24 2006-09-11 20:18:23 remacle Exp $
+// $Id: 2D_DivAndConq.cpp,v 1.25 2006-09-14 15:23:29 remacle Exp $
 //
 // Copyright (C) 1997-2006 C. Geuzaine, J.-F. Remacle
 //
@@ -394,7 +394,7 @@ int CircumCircle(double x1, double y1, double x2, double y2, double x3,
   return (1);
 }
 
-// we should use robust predicates here, let's give it at try...
+// Again, we use robust predicates here
 
 
 int Is_right_of(PointNumero x, PointNumero y, PointNumero check)
@@ -404,28 +404,11 @@ int Is_right_of(PointNumero x, PointNumero y, PointNumero check)
 
 int Is_left_of(PointNumero x, PointNumero y, PointNumero check)
 {
-
-  //  double pa[2] = {(double)pPointArray[x].where.h, (double)pPointArray[x].where.v};
-  //  double pb[2] = {(double)pPointArray[y].where.h, (double)pPointArray[y].where.v};
-  //  double pc[2] = {(double)pPointArray[check].where.h, (double)pPointArray[check].where.v};
-
-  //  double result gmsh::orient2d(pa, pb, pc);
-
-  //  return result > 0;
-
-  static double xx, yy, alpha, beta;
-
-  yy = (double)(pPointArray[y].where.v - pPointArray[x].where.v);
-  xx = (double)(pPointArray[y].where.h - pPointArray[x].where.h);
-  alpha = atan2(yy, xx);
-
-  yy = (double)(pPointArray[check].where.v - pPointArray[x].where.v);
-  xx = (double)(pPointArray[check].where.h - pPointArray[x].where.h);
-  beta = atan2(yy, xx) - alpha;
-  if(beta <= 0)
-    beta += Deux_Pi;
-
-  return ((beta >= 0) && (beta <= Pi));
+  double pa[2] = {(double)pPointArray[x].where.h, (double)pPointArray[x].where.v};
+  double pb[2] = {(double)pPointArray[y].where.h, (double)pPointArray[y].where.v};
+  double pc[2] = {(double)pPointArray[check].where.h, (double)pPointArray[check].where.v};
+  double result = gmsh::orient2d(pa, pb, pc);
+  return result > 0;
 }
 
 /* This routine insert the point 'newPoint' in the list dlist,
diff --git a/Mesh/BDS.cpp b/Mesh/BDS.cpp
index 69f8c02661..1f1941b9b0 100644
--- a/Mesh/BDS.cpp
+++ b/Mesh/BDS.cpp
@@ -1,4 +1,4 @@
-// $Id: BDS.cpp,v 1.61 2006-09-01 10:10:05 remacle Exp $
+// $Id: BDS.cpp,v 1.62 2006-09-14 15:23:29 remacle Exp $
 //
 // Copyright (C) 1997-2006 C. Geuzaine, J.-F. Remacle
 //
@@ -55,129 +55,6 @@ BDS_Vector::BDS_Vector(const BDS_Point & p2, const BDS_Point & p1)
 {
 }
 
-double dist_droites_gauches(BDS_Point * p1, BDS_Point * p2,
-                            BDS_Point * p3, BDS_Point * p4)
-{
-  BDS_Vector u1(*p2, *p1);
-  BDS_Vector u2(*p4, *p3);
-  BDS_Vector a(*p2, *p4);
-  BDS_Vector u1xu2 = u1 % u2;
-  double x = sqrt(u1xu2 * u1xu2);
-  // les droites sont paralleles
-  if(x == 0) {
-    return 1.e18;
-  }
-  // les droites sont gauches
-  else {
-    double y = fabs((a % u1) * u2);
-    return y / x;
-  }
-}
-
-bool proj_point_triangle(double xa, double ya, double za,
-                         const BDS_Vector & n,
-                         BDS_Face * t, double &x, double &y, double &z)
-{
-  const double eps_prec = 1.e-10;
-  //  BDS_Vector n = t->N();
-  double mat[3][3];
-  double b[3];
-  double res[2];
-  double det;
-  BDS_Point *pts[4];
-  t->getNodes(pts);
-
-  mat[0][0] = pts[1]->X - pts[0]->X;
-  mat[0][1] = pts[2]->X - pts[0]->X;
-  mat[0][2] = -n.x;
-
-  mat[1][0] = pts[1]->Y - pts[0]->Y;
-  mat[1][1] = pts[2]->Y - pts[0]->Y;
-  mat[1][2] = -n.y;
-
-  mat[2][0] = pts[1]->Z - pts[0]->Z;
-  mat[2][1] = pts[2]->Z - pts[0]->Z;
-  mat[2][2] = -n.z;
-
-  b[0] = xa - pts[0]->X;
-  b[1] = ya - pts[0]->Y;
-  b[2] = za - pts[0]->Z;
-  if(!sys3x3(mat, b, res, &det))
-    return false;
-
-  // coordonnees dans la face
-  if(res[0] >= 1.0 + eps_prec || res[0] <= -eps_prec)
-    return false;
-  if(res[1] >= 1.0 + eps_prec || res[1] <= -eps_prec)
-    return false;
-  if(res[1] >= 1. + eps_prec - res[0])
-    return false;
-
-  x = xa + res[2] * n.x;
-  y = ya + res[2] * n.y;
-  z = za + res[2] * n.z;
-  return true;
-}
-
-void proj_point_plane(double xa, double ya, double za,
-                      BDS_Point * p1, BDS_Point * p2, BDS_Point * p3,
-                      double &x, double &y, double &z)
-{
-  // plane ax+by+cz+1 = 0;
-
-  double mat[3][3];
-  mat[0][0] = p1->X;
-  mat[0][1] = p1->Y;
-  mat[0][2] = p1->Z;
-  mat[1][0] = p2->X;
-  mat[1][1] = p2->Y;
-  mat[1][2] = p2->Z;
-  mat[2][0] = p3->X;
-  mat[2][1] = p3->Y;
-  mat[2][2] = p3->Z;
-  double b[3] = { -1, -1, -1 };
-  double pl[3], det;
-  sys3x3(mat, b, pl, &det);
-  double n[3] = { pl[0], pl[1], pl[2] };
-  //    norme(n);
-  // pp(x,y,z) = p + k n
-  // pp belongs to the plane
-  // a x + b y + c z + 1 = 0
-  // x = xa + k nx
-  // y = ya + k ny
-  // z = za + k nz
-  // a(xa + k nx) + b( ya + k ny ) + c(  za + k nz ) + 1 = 0
-  // k = - ( a xa + b ya + c za + 1) / (a nx + b ny + c nz )
-  double k =
-    -(pl[0] * xa + pl[1] * ya + pl[2] * za + 1) / (pl[0] * n[0] +
-                                                   pl[1] * n[1] +
-                                                   pl[2] * n[2]);
-  x = xa + k * n[0];
-  y = ya + k * n[1];
-  z = za + k * n[2];
-}
-
-void print_face(BDS_Face * t)
-{
-  BDS_Point *pts[4];
-  t->getNodes(pts);
-  printf("face %p with nodes %d %d %d and edges %p (%d %d) %p (%d %d) %p (%d %d)\n",
-	 (void *)t, pts[0]->iD, pts[1]->iD, pts[2]->iD, (void *)t->e1,
-	 t->e1->p1->iD, t->e1->p2->iD, (void *)t->e2, t->e2->p1->iD,
-	 t->e2->p2->iD, (void *)t->e3, t->e3->p1->iD, t->e3->p2->iD);
-}
-
-void print_edge(BDS_Edge * e)
-{
-  printf("edge %p with nodes %d %d ------------------\n", (void *)e,
-         e->p1->iD, e->p2->iD);
-  printf("faces : \n ");
-  for(int i = 0; i < e->numfaces(); ++i)
-    print_face(e->faces(i));
-
-  printf("----------------------------------------------\n ");
-}
-
 void vector_triangle(BDS_Point * p1, BDS_Point * p2, BDS_Point * p3,
                      double c[3])
 {
@@ -279,9 +156,6 @@ BDS_Point *BDS_Mesh::add_point(int num, double u, double v, GFace *gf)
   pp->u = u;
   pp->v = v;
   points.insert(pp);
-  //  double curvature = gf->curvature (SPoint2(u,v));
-  //  pp->radius() = (curvature ==0.0) ? 1.e22:1./curvature;
-  //  pp->radius() = curvature;
   MAXPOINTNUMBER = (MAXPOINTNUMBER < num) ? num : MAXPOINTNUMBER;
   return pp;
 }
@@ -794,31 +668,26 @@ void BDS_Mesh::split_edge(BDS_Edge * e, BDS_Point *mid)
   op[1]->config_modified = true;
 }
 
-bool BDS_SwapEdgeTestParametric::operator () (BDS_Edge *e,
-					      BDS_Point *p1,BDS_Point *p2,BDS_Point *p3,
-					      BDS_Point *q1,BDS_Point *q2,BDS_Point *q3) const
-{
-  //  return false;
-  double s1 = fabs(surface_triangle_param ( p1,p2,p3));
-  double s2 = fabs(surface_triangle_param ( q1,q2,q3));  
-  BDS_Point * pf1[4];
-  BDS_Point * pf2[4];
-  e->faces(0)->getNodes(pf1);
-  e->faces(1)->getNodes(pf2);
-  double n1 = fabs(surface_triangle_param ( pf1[0],pf1[1],pf1[2]));					    
-  double n2 = fabs(surface_triangle_param ( pf2[0],pf2[1],pf2[2]));					    
-
-  if (s1 < 1.e-2 * (n1+n2))return false;
-  if (s2 < 1.e-2 * (n1+n2))return false;
-  if (fabs(s1+s2 - n1-n2) > 1.e-8 * (s1+s2))return false;
-
-  return true;
-}
 
 
 // This function does actually the swap without taking into account
 // the feasability of the operation. Those conditions have to be
 // taken into account before doing the edge swap
+
+bool BDS_SwapEdgeTestParametric::operator () (BDS_Point *_p1,BDS_Point *_p2,
+					      BDS_Point *_q1,BDS_Point *_q2) const
+{
+  double p1[2] =  {_p1->u,_p1->v};
+  double p2[2] =  {_p2->u,_p2->v};
+  double op1[2] = {_q1->u,_q1->v};
+  double op2[2] = {_q2->u,_q2->v};
+
+  double ori_t1 = gmsh::orient2d(op1, p1, op2);
+  double ori_t2 = gmsh::orient2d(op1,op2, p2);
+
+  return (ori_t1 * ori_t2 > 0);
+}
+
 bool BDS_Mesh::swap_edge(BDS_Edge * e, const BDS_SwapEdgeTest &theTest)
 {
 
@@ -871,14 +740,8 @@ bool BDS_Mesh::swap_edge(BDS_Edge * e, const BDS_SwapEdgeTest &theTest)
     }
   }
 
-  if(orientation == 1) {
-    if (!theTest ( e, p1, op[1], op[0] , op[1], p2, op[0]))
-      return false;
-  }
-  else {
-    if (!theTest ( e, p1, op[0], op[1] , op[1], op[0], p2))
-      return false;
-  }
+  if (!theTest ( p1, p2, op[0],op[1]))
+    return false;
 
   BDS_Edge *p1_op1 = find_edge(p1, op[0], e->faces(0));
   BDS_Edge *op1_p2 = find_edge(op[0], p2, e->faces(0));
@@ -1100,22 +963,37 @@ bool BDS_Mesh::collapse_edge_parametric(BDS_Edge * e, BDS_Point * p)
 }
 
 
-
+// use robust predicates for not allowing to revert a triangle
+// by moving one of its vertices 
 bool test_move_point_parametric_triangle (BDS_Point * p, double u, double v, BDS_Face *t)
 {       
   BDS_Point *pts[4];
   t->getNodes(pts);
-  double U = p->u;
-  double V = p->v;
-  p->u = u;
-  p->v = v;
-  double s_after = surface_triangle_param(pts[0], pts[1], pts[2]);
-  p->u = U;
-  p->v = V;
-  double s_before = surface_triangle_param(pts[0], pts[1], pts[2]);
-  if(s_after*s_before <= 0) return false;
-  if(fabs(s_after) < 1.e-4 * fabs(s_before)) return false;
-  return true;
+
+  double pa[2] = { pts[0]->u,pts[0]->v};
+  double pb[2] = { pts[1]->u,pts[1]->v};
+  double pc[2] = { pts[2]->u,pts[2]->v};
+
+  double a[2] = {pb[0]-pa[0],pb[1]-pa[1]};
+  double b[2] = {pc[0]-pa[0],pc[1]-pa[1]};
+
+  double area_init = fabs(a[1] * b[2] - a[2] * b[1]);
+  double ori_init = gmsh::orient2d(pa, pb, pc);
+
+  if (p == pts[0])
+    {pa[0]=u;pa[1]=v;}
+  else if (p == pts[1])
+    {pb[0]=u;pb[1]=v;}
+  else if (p == pts[2])
+    {pc[0]=u;pc[1]=v;}
+  else
+    throw;
+
+  double area_final = fabs(a[1] * b[2] - a[2] * b[1]);
+  if (area_final < 0.1 * area_init)return false;
+  double ori_final = gmsh::orient2d(pa, pb, pc);
+
+  return ori_init*ori_final > 0;
 }
 
 bool BDS_Mesh::smooth_point_parametric(BDS_Point * p, GFace *gf)
diff --git a/Mesh/BDS.h b/Mesh/BDS.h
index 3048a9416e..fb165472f7 100644
--- a/Mesh/BDS.h
+++ b/Mesh/BDS.h
@@ -359,25 +359,15 @@ public:
 class BDS_SwapEdgeTest
 {
  public:
-  virtual bool operator() (BDS_Edge *e,
-			   BDS_Point *p1,BDS_Point *p2,BDS_Point *p3,
-			   BDS_Point *q1,BDS_Point *q2,BDS_Point *q3) const = 0; 
-};
-
-class BDS_SwapEdgeTestPlanar : public BDS_SwapEdgeTest
-{
- public:
-  virtual bool operator() (BDS_Edge *e,
-			   BDS_Point *p1,BDS_Point *p2,BDS_Point *p3,
-			   BDS_Point *q1,BDS_Point *q2,BDS_Point *q3) const;
+  virtual bool operator() (BDS_Point *p1,BDS_Point *p2,
+			   BDS_Point *q1,BDS_Point *q2) const = 0; 
 };
 
 class BDS_SwapEdgeTestParametric : public BDS_SwapEdgeTest
 {
  public:
-  virtual bool operator() (BDS_Edge *e,
-			   BDS_Point *p1,BDS_Point *p2,BDS_Point *p3,
-			   BDS_Point *q1,BDS_Point *q2,BDS_Point *q3) const;
+  virtual bool operator() (BDS_Point *p1,BDS_Point *p2,
+			   BDS_Point *q1,BDS_Point *q2) const ; 
 };
 
 class BDS_Mesh 
diff --git a/Mesh/meshGFace.cpp b/Mesh/meshGFace.cpp
index 8c1067414d..234798e05b 100644
--- a/Mesh/meshGFace.cpp
+++ b/Mesh/meshGFace.cpp
@@ -1,4 +1,4 @@
-// $Id: meshGFace.cpp,v 1.13 2006-09-11 15:23:54 remacle Exp $
+// $Id: meshGFace.cpp,v 1.14 2006-09-14 15:23:29 remacle Exp $
 //
 // Copyright (C) 1997-2006 C. Geuzaine, J.-F. Remacle
 //
@@ -248,6 +248,31 @@ bool edgeSwapTest(BDS_Edge *e)
 }
 
 
+
+int edgeSwapTestQuality(BDS_Edge *e, double fact = 1.1)
+{
+   BDS_Point *op[2];
+
+   if (!e->p1->config_modified && ! e->p2->config_modified) return false;   
+   
+   if (e->numfaces() != 2)return false;
+
+   e->oppositeof (op);
+  
+   double qa1 = quality_triangle ( e->p1 , e->p2 , op[0] );
+   double qa2 = quality_triangle ( e->p1 , e->p2 , op[1] );
+   double qb1 = quality_triangle ( e->p1 , op[0] , op[1] );
+   double qb2 = quality_triangle ( e->p2 , op[0] , op[1] );
+   double qa = (qa1<qa2)?qa1:qa2; 
+   double qb = (qb1<qb2)?qb1:qb2;   
+   if (qb > fact*qa) return 1;
+   if (qb < qa/fact) return -1;
+   return 0;
+   
+}
+
+
+
 void OptimizeMesh ( GFace *gf, BDS_Mesh &m , const int NIT)
 {
   // optimize
@@ -278,11 +303,8 @@ void OptimizeMesh ( GFace *gf, BDS_Mesh &m , const int NIT)
 	  if (!(*it)->deleted && (*it)->numfaces() == 2)
 	    {
 	      BDS_Point *op[2];
-	      (*it)->oppositeof(op);
-	      
-	      bool c1 = (op[0]-> edges.size() == 5 &&  op[1]-> edges.size() == 5 );
-	      bool c2 =  ((*it)->p1-> edges.size() == 7 &&  (*it)->p2-> edges.size() == 7); 
-	      if ( c1 &&  c2 ) 
+	      (*it)->oppositeof(op);	      
+	      if ( edgeSwapTestQuality(*it) == 1) 
 		m.swap_edge ( *it , BDS_SwapEdgeTestParametric());
 	    }	
 	  ++it;
@@ -391,10 +413,18 @@ void RefineMesh ( GFace *gf, BDS_Mesh &m , const int NIT)
       while (1)
 	{
 	  if (NN2++ >= NN1)break;
-	  if (!(*it)->deleted && edgeSwapTest(*it))
-	    if (m.swap_edge ( *it , BDS_SwapEdgeTestParametric()))
-	      nb_swap++;
-	  ++it;
+	  // result = -1 => forbid swap because too badly shaped elements
+	  // result = 0  => whatever
+	  // result = 1  => oblige to swap because the quality is greatly improved
+	  if (!(*it)->deleted)
+	    {
+	      int result = edgeSwapTestQuality(*it,3);
+	      if (result >= 0)
+		if(edgeSwapTest(*it) || result > 0)
+		  if (m.swap_edge ( *it , BDS_SwapEdgeTestParametric()))
+		    nb_swap++;
+	      ++it;
+	    }
 	}
 
       // collapse short edges
@@ -425,10 +455,15 @@ void RefineMesh ( GFace *gf, BDS_Mesh &m , const int NIT)
       while (1)
 	{
 	  if (NN2++ >= NN1)break;
-	  if (!(*it)->deleted && edgeSwapTest(*it))
-	    if (m.swap_edge ( *it , BDS_SwapEdgeTestParametric()))
-	      nb_swap++;
-	  ++it;
+	  if (!(*it)->deleted)
+	    {
+	      int result = edgeSwapTestQuality(*it,3);
+	      if (result >= 0)
+		if(edgeSwapTest(*it) || result > 0)
+		  if (m.swap_edge ( *it , BDS_SwapEdgeTestParametric()))
+		    nb_swap++;
+	      ++it;
+	    }
 	}
       // smooth resulting mesh
       //if (IT % 4 == 0 )
diff --git a/Mesh/meshGRegion.cpp b/Mesh/meshGRegion.cpp
index 72023179e2..bc1350dcb4 100644
--- a/Mesh/meshGRegion.cpp
+++ b/Mesh/meshGRegion.cpp
@@ -350,11 +350,21 @@ int intersect_line_triangle ( double X[3],
 
 }
 
+void setRand (double r[6])
+{
+  for (int i=0;i<6;i++)
+    r[i]= 0.0001*((double)rand() / (double)RAND_MAX);
+}
+
 
 void meshNormalsPointOutOfTheRegion (GRegion *gr) 
 {
   std::list<GFace*> faces = gr->faces();
   std::list<GFace*>::iterator it = faces.begin();
+
+  double rrr[6];
+  setRand(rrr);
+		   
   while (it != faces.end())
     {
       GFace *gf = (*it);      
@@ -373,9 +383,9 @@ void meshNormalsPointOutOfTheRegion (GRegion *gr)
 	  norme (v1);
 	  norme (v2);
 	  norme(N);
-	  N[0]+= 0.05*v1[0]-0.05*v2[0];
-	  N[1]+= 0.03*v1[1]-0.15*v2[1];
-	  N[2]+= 0.05*v1[2]-0.05*v2[2];
+	  N[0]+= rrr[0]*v1[0]+rrr[1]*v2[0];
+	  N[1]+= rrr[2]*v1[1]+rrr[3]*v2[1];
+	  N[2]+= rrr[4]*v1[2]+rrr[5]*v2[2];
 	  norme(N);
 	  std::list<GFace*>::iterator it_b = faces.begin();
 	  while (it_b != faces.end())
@@ -400,14 +410,21 @@ void meshNormalsPointOutOfTheRegion (GRegion *gr)
 	}
 
 
-      if (nb_intersect % 2 == 1) // odd nb of intersections: the normal points inside the region 
+      if (nb_intersect < 0) 
 	{
-	  for (unsigned int i = 0; i< gf->triangles.size(); i++)
+	  setRand(rrr);
+	}
+      else
+	{
+	  if (nb_intersect % 2 == 1) // odd nb of intersections: the normal points inside the region 
 	    {
-	      gf->triangles[i]->revert();
+	      for (unsigned int i = 0; i< gf->triangles.size(); i++)
+		{
+		  gf->triangles[i]->revert();
+		}
 	    }
+	  ++it;
 	}
-      ++it;
     }
 }
 
@@ -450,6 +467,9 @@ void meshGRegion :: operator() (GRegion *gr)
 	    (CTX.verbosity < 3)? 'Q': (CTX.verbosity > 6)? 'V': '\0');
     tetrahedralize(opts, &in, &out);
     TransferTetgenMesh(gr, in, out, numberedV);
+    // now do insertion of points
+    void insertVerticesInRegion (GRegion *gr) ;
+    insertVerticesInRegion (gr); 
     // restore the initial set of faces
     gr->set ( faces );
 
diff --git a/Mesh/meshGRegionDelaunayInsertion.cpp b/Mesh/meshGRegionDelaunayInsertion.cpp
index ee515456ac..105e83a3ee 100644
--- a/Mesh/meshGRegionDelaunayInsertion.cpp
+++ b/Mesh/meshGRegionDelaunayInsertion.cpp
@@ -1,7 +1,20 @@
 #include "meshGRegionDelaunayInsertion.h"
+#include "GRegion.h"
+#include "Numeric.h"
+#include "Message.h"
 #include <set>
 #include <algorithm>
 
+int MTet4::inCircumSphere ( const double *p ) const
+{
+  double pa[3] = {base->getVertex(0)->x(),base->getVertex(0)->y(),base->getVertex(0)->z()};
+  double pb[3] = {base->getVertex(1)->x(),base->getVertex(1)->y(),base->getVertex(1)->z()};
+  double pc[3] = {base->getVertex(2)->x(),base->getVertex(2)->y(),base->getVertex(2)->z()};
+  double pd[3] = {base->getVertex(3)->x(),base->getVertex(3)->y(),base->getVertex(3)->z()};
+  double result = gmsh::insphere(pa, pb, pc, pd, (double*)p) * gmsh::orient3d(pa, pb, pc, pd);  
+  return (result > 0) ? 1 : 0;
+}
+
 int faces[4][3] = {{0,1,2},{0,2,3},{0,1,3},{1,2,3}};
 
 struct faceXtet
@@ -15,7 +28,7 @@ struct faceXtet
     v[0] = t1->tet()->getVertex ( faces [iFac][0] );
     v[1] = t1->tet()->getVertex ( faces [iFac][1] );
     v[2] = t1->tet()->getVertex ( faces [iFac][2] );
-    std::sort ( &v[0], &v[2] );
+    std::sort ( v, v+3 );
   }
   inline bool operator < ( const faceXtet & other) const
   {
@@ -29,26 +42,29 @@ struct faceXtet
 };
 
 
-void connectTets ( std::list<MTet4*> & tets)
+template <class ITER>
+void connectTets ( ITER beg, ITER end)
 {
   std::set<faceXtet> conn;
   {
-    std::list<MTet4*>::iterator it = tets.begin ();
-    while (it != tets.end())
+    while (beg != end)
       {
-	for (int i=0;i<4;i++)
+	if (!(*beg)->isDeleted())
 	  {
-	    faceXtet fxt ( *it ,  i );
-	    std::set<faceXtet>::iterator found = conn.find (fxt);
-	    if (found == conn.end())
-	      conn.insert ( fxt );
-	    else
+	    for (int i=0;i<4;i++)
 	      {
-		found->t1->setNeigh(found->i1,*it);
-	        (*it)->setNeigh ( i, found->t1);
+		faceXtet fxt ( *beg ,  i );
+		std::set<faceXtet>::iterator found = conn.find (fxt);
+		if (found == conn.end())
+		  conn.insert ( fxt );
+		else if (found->t1 != *beg)
+		  {
+		    found->t1->setNeigh(found->i1,*beg);
+		    (*beg)->setNeigh ( i, found->t1);
+		  }
 	      }
 	  }
-	++it;
+	++beg;
       }
   }
 }
@@ -59,45 +75,110 @@ void recurFindCavity ( std::list<faceXtet> & shell,
 		       MVertex *v , 
 		       MTet4 *t)
 {
+//   Msg(INFO,"tet %d %d %d %d",t->tet()->getVertex(0)->getNum(),
+//       t->tet()->getVertex(1)->getNum(),
+//       t->tet()->getVertex(2)->getNum(),
+//       t->tet()->getVertex(3)->getNum());
+
+  // invariant : this one has to be inserted in the cavity
+  // consider this tet deleted 
+  // remove its reference to its neighbors
+  t->setDeleted(true);
+  // the cavity that has to be removed
+  // because it violates delaunay criterion
+  cavity.push_back(t);
+
   for (int i=0;i<4;i++)
     {
       MTet4 *neigh =  t->getNeigh(i) ;
-      if ( neigh && neigh->inCircumSphere ( v ) )
-	{
-	  neigh->remove ();
-	  cavity.push_back(neigh);
-	  recurFindCavity ( shell, cavity,v , neigh);
-	}
-      else if (neigh)
+      if (!neigh)
+	  shell.push_back ( faceXtet ( t, i ) );
+      else  if (!neigh->isDeleted())
 	{
-	  shell.push_back ( faceXtet ( neigh, i ) );
+	  int circ =  neigh->inCircumSphere ( v );
+	  if (circ)
+	    recurFindCavity ( shell, cavity,v , neigh);
+	  else
+	    shell.push_back ( faceXtet ( t, i ) );
 	}
     }
 }
 
-void insertVertex (std::set<MTet4*> allTets,
-		   MVertex *v , 
-		   MTet4   *t )
+int III;
+
+bool insertVertex (MVertex *v , 
+		   MTet4   *t ,
+		   std::set<MTet4*,compareTet4Ptr> &allTets)
 {
   std::list<faceXtet>  shell;
   std::list<MTet4*>  cavity; 
-  std::list<MTet4*>  new_cavity; 
-  t->remove();
-  cavity.push_back(t);
-  recurFindCavity ( shell,  cavity, v , t);
-  
-  std::list<faceXtet>::iterator it =   shell.begin();
+  std::list<MTet4*>  new_cavity;
+
+//   int NC = 0;
+//   {
+//     for (std::set<MTet4*,compareTet4Ptr>::iterator it = allTets.begin();it!=allTets.end();++it)
+//       {
+// 	if (!((*it)->isDeleted()) && (*it)->inCircumSphere ( v ))NC++;	
+//       }
+//   }
+
+  recurFindCavity ( shell,  cavity, v , t);  
+
+//     Msg(INFO,"%d %d",cavity.size(),NC);
+//     if (NC != cavity.size())throw;
+
+  // check that volume is conserved
   double newVolume = 0;
   double oldVolume = 0;
 
+  //  char name2[245];
+  //  sprintf(name2,"testv%d.pos",III);
+  //  FILE *ff2 = fopen (name2,"w");
+  //  fprintf(ff2,"View\"test\"{\n");
+
+
   std::list<MTet4*>::iterator ittet = cavity.begin();
   std::list<MTet4*>::iterator ittete = cavity.end();
   while ( ittet != ittete )
     {
-      oldVolume += (*ittet)->getVolume();
-      cavity.push_back ( *ittet );
+      oldVolume += fabs((*ittet)->getVolume());
+//       fprintf(ff2,"SS(%g,%g,%g,%g,%g,%g,%g,%g,%g,%g,%g,%g) {0,0,0,0};\n",
+// 	      (*ittet)->tet()->getVertex(0)->x(),
+// 	      (*ittet)->tet()->getVertex(0)->y(),
+// 	      (*ittet)->tet()->getVertex(0)->z(),
+// 	      (*ittet)->tet()->getVertex(1)->x(),
+// 	      (*ittet)->tet()->getVertex(1)->y(),
+// 	      (*ittet)->tet()->getVertex(1)->z(),
+// 	      (*ittet)->tet()->getVertex(2)->x(),
+// 	      (*ittet)->tet()->getVertex(2)->y(),
+// 	      (*ittet)->tet()->getVertex(2)->z(),
+// 	      (*ittet)->tet()->getVertex(3)->x(),
+// 	      (*ittet)->tet()->getVertex(3)->y(),
+// 	      (*ittet)->tet()->getVertex(3)->z());
+//       if(!(*ittet)->inCircumSphere ( v ))throw;
       ++ittet;
     }
+//   fprintf(ff2,"};\n");
+//   fclose (ff2);
+//  Msg(INFO,"cavity of size %d volume %g",cavity.size(),oldVolume);
+  // create new tetrahedron using faces that are
+  // on the border of the cavity
+  // add those to a list
+  // add also tets that are on the other side of the face
+  // in order to perform the connexions afterwards
+
+//   char name[245];
+//   sprintf(name,"test%d.pos",III);
+
+//   FILE *ff = fopen (name,"w");
+//   fprintf(ff,"View\"test\"{\n");
+
+  MTet4** newTets = new MTet4*[shell.size()];;
+  int k = 0;
+
+  std::list<faceXtet>::iterator it =   shell.begin();
+
+
 
   while (it != shell.end())
     {
@@ -105,18 +186,159 @@ void insertVertex (std::set<MTet4*> allTets,
 					   it->v[1],
 					   it->v[2],
 					   v);
+      //      Msg(INFO,"shell %d %d %d",it->v[0]->getNum(),it->v[1]->getNum(),it->v[2]->getNum());
+//            fprintf(ff,"ST(%g,%g,%g,%g,%g,%g,%g,%g,%g) {0,0,0};\n",
+// 		   it->v[0]->x(),
+// 		   it->v[0]->y(),
+// 		   it->v[0]->z(),
+// 		   it->v[1]->x(),
+// 		   it->v[1]->y(),
+// 		   it->v[1]->z(),
+// 		   it->v[2]->x(),
+// 		   it->v[2]->y(),
+// 		   it->v[2]->z());
+      
       MTet4 *t4 = new MTet4 ( t ); 
+      newTets[k++]=t4;
+      // all new tets are pushed front in order to
+      // ba able to destroy them if the cavity is not
+      // star shaped around the new vertex.
+      // here, we better use robust perdicates
+      // that implies to orient all faces and
+      // ensure that the tets are all oriented the same.
       new_cavity.push_back (t4);
-      new_cavity.push_back (it->t1);
-      newVolume += t4->getVolume();
+      MTet4 *otherSide = it->t1->getNeigh(it->i1);
+
+      if (otherSide)
+      	new_cavity.push_back (otherSide);
+      //      if (!it->t1->isDeleted())throw;
+      newVolume += fabs(t4->getVolume());
       ++it;
     }
+//   fprintf(ff,"};\n");
+//   fclose (ff);
+//  Msg(INFO,"new cavity of vol %g (%d boundaries)",newVolume,shell.size());
+  // OK, the cavity is star shaped
   if (fabs(oldVolume - newVolume) < 1.e-10 * oldVolume )
     {      
-      connectTets ( new_cavity );      
+      connectTets ( new_cavity.begin(),new_cavity.end() );      
+      allTets.insert(newTets,newTets+shell.size());
+      //connectTets ( allTets.begin(),allTets.end() );      
+      delete [] newTets;
+      return true;
     }
+  // The cavity is NOT star shaped
   else
     {      
-      connectTets ( cavity );      
+      for (int i=0;i<shell.size();i++)delete newTets[i];
+      delete [] newTets;      
+      ittet = cavity.begin();
+      ittete = cavity.end();  
+      while ( ittet != ittete )
+	{
+	  (*ittet)->setDeleted(false);
+	  ++ittet;
+	}
+      return false;
+    }
+}
+void insertVerticesInRegion (GRegion *gr) 
+{
+
+  std::set<MTet4*,compareTet4Ptr> allTets;
+
+  for (int i=0;i<gr->tetrahedra.size();i++)
+    {
+      allTets.insert ( new MTet4 ( gr->tetrahedra[i] ) );
+    }
+  gr->tetrahedra.clear();
+  connectTets ( allTets.begin(), allTets.end() );      
+
+//   for (std::set<MTet4*,compareTet4Ptr>::iterator it = allTets.begin();it!=allTets.end();++it)
+//     {
+//       printf("tet %d %d %d %d neigh %p %p %p %p\n",
+// 	     (*it)->tet()->getVertex(0)->getNum(),
+// 	     (*it)->tet()->getVertex(1)->getNum(),
+// 	     (*it)->tet()->getVertex(2)->getNum(),
+// 	     (*it)->tet()->getVertex(3)->getNum(),
+// 	     (*it)->getNeigh(0),(*it)->getNeigh(1),(*it)->getNeigh(2),(*it)->getNeigh(3));
+//     }
+  
+
+  Msg(INFO,"All %d tets were connected",allTets.size());
+
+  // here the classification should be done
+
+  III = 0;
+
+  while (1)
+    {
+      //      connectTets ( allTets.begin(), allTets.end() );      
+      //       for (std::set<MTet4*,compareTet4Ptr>::iterator tit =  allTets.begin();tit != allTets.end();++tit)
+      // 	if(!(*tit)->assertNeigh())throw;
+      //      double vv = 0;
+      //      for (std::set<MTet4*,compareTet4Ptr>::iterator tit =  allTets.begin();tit != allTets.end();++tit)
+      //	if (!(*tit)->isDeleted())vv+=fabs((*tit)->getVolume());      
+
+
+      MTet4 *worst = *allTets.begin();
+
+      if (worst->isDeleted())
+	{
+	  delete worst->tet();
+	  delete worst;
+	  allTets.erase(allTets.begin());
+	  //	  Msg(INFO,"Worst tet is deleted");
+	}
+      else
+	{
+	  if(III%1000 ==0)Msg(INFO,"%d points created -- Worst tet radius is %g",gr->mesh_vertices.size(),worst->getRadius());
+	  if (worst->getRadius() < .015) break;
+	  double center[3];
+	  worst->tet()->circumcenter(center);
+	  double uvw[3];
+	  bool inside = worst->tet()->invertmapping(center,uvw);
+	  if (inside)
+	    {
+	      MVertex *v = new MVertex (center[0],center[1],center[2]);
+	      // compute mesh spacing there
+	      III++;
+	      if (!insertVertex ( v  , worst, allTets))
+		{
+		  // this one does not work
+		  //		  Msg(INFO,"Point is %g %g %g %d",uvw[0], uvw[1], uvw[2],worst->inCircumSphere ( v ));
+		  allTets.erase(allTets.begin());
+		  worst->forceRadius(0);
+		  allTets.insert(worst);		  
+		  delete v;
+		}
+	      else gr->mesh_vertices.push_back(v);
+	      //	      if(III == 15)  break;
+	    }
+	  else
+	    {
+	      //      Msg(INFO,"Point is outside");
+	      allTets.erase(allTets.begin());
+	      worst->forceRadius(0);
+	      allTets.insert(worst);		  
+	    }
+	}
+    }
+  
+
+  while (1)
+    {
+      if (allTets.begin() == allTets.end() ) break;
+      MTet4 *worst = *allTets.begin();
+      if (worst->isDeleted())
+	{
+	  delete worst->tet();
+	}
+      else
+	{
+	  gr->tetrahedra.push_back(worst->tet());
+	}
+      delete worst;
+      allTets.erase(allTets.begin());      
     }
 }
diff --git a/Mesh/meshGRegionDelaunayInsertion.h b/Mesh/meshGRegionDelaunayInsertion.h
index c9236ab37d..fcdbac13a2 100644
--- a/Mesh/meshGRegionDelaunayInsertion.h
+++ b/Mesh/meshGRegionDelaunayInsertion.h
@@ -2,48 +2,78 @@
 #define _DELAUNAYINSERTION_H_
 #include "MElement.h"
 #include <list>
+#include <set>
+class GRegion;
+
 class MTet4
 {
   bool deleted;
-  double size;
+  double circum_radius;
   MTetrahedron *base;
   MTet4 *neigh[4];
  public :
+  
+  bool isDeleted () const {return deleted;}
+  void   forceRadius (double r){circum_radius=r;}
+  double getRadius ()const {return circum_radius;}
+  
   MTet4 ( MTetrahedron * t) : deleted(false), base (t)
   {
     neigh[0] = neigh[1] = neigh[2] = neigh[3] = 0;
+    double center[3];
+    base->circumcenter(center);
+    const double dx = base->getVertex(0)->x() - center[0];
+    const double dy = base->getVertex(0)->y() - center[1];
+    const double dz = base->getVertex(0)->z() - center[2];
+    circum_radius = sqrt ( dx*dx + dy*dy + dz*dz);
   } 
+
   inline MTetrahedron * tet() const {return base;}
   inline void  setNeigh (int iN , MTet4 *n) {neigh[iN]=n;}
   inline MTet4 *getNeigh (int iN ) const {return neigh[iN];}
-  double inCircumSphere ( const double *p ) const; 
-  inline double inCircumSphere ( double x, double y, double z ) const 
+  int inCircumSphere ( const double *p ) const; 
+  inline int inCircumSphere ( double x, double y, double z ) const 
   {
     const double p[3] = {x,y,z};
     return inCircumSphere ( p );
   }
-  inline double inCircumSphere ( const MVertex * v) const
+  inline int inCircumSphere ( const MVertex * v) const
   {
     return inCircumSphere ( v->x(), v->y(), v->z() );
   }
 
   double getVolume () const { return base -> getVolume() ; };
-  inline bool operator < ( const MTet4 & other) const {return size < other.size;}
-  inline void remove ()
+  inline void setDeleted (bool d)
   {
-    deleted = true;
-    for (int i=0;i<4;i++)
-      if (neigh[i])neigh[i]->remove (this); 
+    deleted = d;
   }
-  inline void remove (MTet4 *t)
+  inline bool assertNeigh() const 
+    {
+      if (deleted) return true;
+      for (int i=0;i<4;i++)
+	if (neigh[i] && (neigh[i]->isNeigh(this)==false))return false;
+      return true;
+    }
+
+  inline bool isNeigh  (const MTet4 *t) const
   {
     for (int i=0;i<4;i++)
-      if (neigh[i]==t)neigh[i]=0;
+      if (neigh[i]==t) return true;
+    return false;
   }
 
 };
 void connectTets ( std::list<MTet4*> & );
-bool insertVertex ( MVertex *v  , MTet4 *t);
-
+void insertVerticesInRegion (GRegion *gr) ;
 
+class compareTet4Ptr
+{
+ public:
+  inline bool operator () (  const MTet4 *a, const MTet4 *b ) 
+    { 
+      if (a->getRadius() > b->getRadius())return true;
+      if (a->getRadius() < b->getRadius())return false;
+      return a<b;
+   }
+};
 #endif
diff --git a/Parallel/Makefile b/Parallel/Makefile
index a12a538a76..de00697307 100644
--- a/Parallel/Makefile
+++ b/Parallel/Makefile
@@ -1,4 +1,4 @@
-# $Id: Makefile,v 1.31 2006-08-04 14:28:03 geuzaine Exp $
+# $Id: Makefile,v 1.32 2006-09-14 15:23:29 remacle Exp $
 #
 # Copyright (C) 1997-2006 C. Geuzaine, J.-F. Remacle
 #
@@ -50,7 +50,6 @@ depend:
 	rm -f Makefile.new
 
 # DO NOT DELETE THIS LINE
-# 1 "/Users/geuzaine/.gmsh/Parallel//"
 ParUtil.o: ParUtil.cpp ../Common/Gmsh.h ../Common/Message.h \
   ../DataStr/Malloc.h ../DataStr/List.h ../DataStr/Tree.h \
   ../DataStr/avl.h ../DataStr/Tools.h ../DataStr/List.h ../DataStr/Tree.h \
diff --git a/benchmarks/3d/Cube-01.geo b/benchmarks/3d/Cube-01.geo
index fdd3497130..2a823a787a 100644
--- a/benchmarks/3d/Cube-01.geo
+++ b/benchmarks/3d/Cube-01.geo
@@ -1,4 +1,4 @@
-lc = 0.3;
+lc = 0.1;
 Point(1) = {0.0,0.0,0.0,lc};         
 Point(2) = {1,0.0,0.0,lc};         
 Point(3) = {1,1,0.0,lc};         
diff --git a/benchmarks/3d/Cube-05.geo b/benchmarks/3d/Cube-05.geo
index de932c299f..84a1868e85 100644
--- a/benchmarks/3d/Cube-05.geo
+++ b/benchmarks/3d/Cube-05.geo
@@ -1,5 +1,5 @@
 lv = .1;    
-lc = .04;       
+lc = .1;       
 Point(1) = {0.0,0.0,0.0,lv};               
 Point(2) = {1,0.0,0.0,lv};               
 Point(3) = {1,1,0.0,lv};               
diff --git a/benchmarks/3d/naca12.geo b/benchmarks/3d/naca12.geo
index bd34464a5e..c9f0c0b357 100644
--- a/benchmarks/3d/naca12.geo
+++ b/benchmarks/3d/naca12.geo
@@ -405,21 +405,21 @@ Point(397) = {9.960575e-01,1.000000e+00,5.579769e-04,1.015708e-01};
 Point(398) = {9.977810e-01,1.000000e+00,3.143904e-04,1.008856e-01}; 
 Point(399) = {9.990134e-01,1.000000e+00,1.398841e-04,1.003943e-01}; 
 Point(400) = {9.997533e-01,1.000000e+00,3.498543e-05,lc}; 
-Line(1) = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 
+Spline(1) = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 
 50}; 
-Line(2) = { 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 
+Spline(2) = { 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 
 96, 97, 98, 99, 100}; 
-Line(3) = { 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 
+Spline(3) = { 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 
 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150}; 
-Line(4) = { 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 
+Spline(4) = { 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 
 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 1}; 
-Line(5) = { 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 
+Spline(5) = { 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 
 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250}; 
-Line(6) = { 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 
+Spline(6) = { 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 
 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300}; 
-Line(7) = { 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 
+Spline(7) = { 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 
 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350}; 
-Line(8) = { 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 
+Spline(8) = { 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 
 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 201}; 
 Line(9)  = { 1, 201}; 
 Line(10) = { 100, 300}; 
diff --git a/contrib/ANN/Makefile b/contrib/ANN/Makefile
index d6d9780877..c83f510ebf 100644
--- a/contrib/ANN/Makefile
+++ b/contrib/ANN/Makefile
@@ -1,4 +1,4 @@
-# $Id: Makefile,v 1.9 2006-08-04 14:28:03 geuzaine Exp $
+# $Id: Makefile,v 1.10 2006-09-14 15:23:29 remacle Exp $
 #
 # Copyright (C) 1997-2006 C. Geuzaine, J.-F. Remacle
 #
@@ -63,52 +63,38 @@ depend:
 	rm -f Makefile.new
 
 # DO NOT DELETE THIS LINE
-# 1 "/Users/geuzaine/.gmsh/contrib/ANN//"
 ANN.o: src/ANN.cpp include/ANN/ANNx.h include/ANN/ANN.h \
   include/ANN/ANNperf.h
-# 1 "/Users/geuzaine/.gmsh/contrib/ANN//"
 bd_fix_rad_search.o: src/bd_fix_rad_search.cpp src/bd_tree.h \
   include/ANN/ANNx.h include/ANN/ANN.h src/kd_tree.h \
   src/kd_fix_rad_search.h src/kd_util.h src/pr_queue_k.h \
   include/ANN/ANNperf.h
-# 1 "/Users/geuzaine/.gmsh/contrib/ANN//"
 bd_pr_search.o: src/bd_pr_search.cpp src/bd_tree.h include/ANN/ANNx.h \
   include/ANN/ANN.h src/kd_tree.h src/kd_pr_search.h src/kd_util.h \
   src/pr_queue.h include/ANN/ANNperf.h src/pr_queue_k.h
-# 1 "/Users/geuzaine/.gmsh/contrib/ANN//"
 bd_search.o: src/bd_search.cpp src/bd_tree.h include/ANN/ANNx.h \
   include/ANN/ANN.h src/kd_tree.h src/kd_search.h src/kd_util.h \
   src/pr_queue_k.h include/ANN/ANNperf.h
-# 1 "/Users/geuzaine/.gmsh/contrib/ANN//"
 bd_tree.o: src/bd_tree.cpp src/bd_tree.h include/ANN/ANNx.h \
   include/ANN/ANN.h src/kd_tree.h src/kd_util.h src/kd_split.h \
   include/ANN/ANNperf.h
-# 1 "/Users/geuzaine/.gmsh/contrib/ANN//"
 brute.o: src/brute.cpp include/ANN/ANNx.h include/ANN/ANN.h \
   src/pr_queue_k.h include/ANN/ANNperf.h
-# 1 "/Users/geuzaine/.gmsh/contrib/ANN//"
 kd_dump.o: src/kd_dump.cpp src/kd_tree.h include/ANN/ANNx.h \
   include/ANN/ANN.h src/bd_tree.h
-# 1 "/Users/geuzaine/.gmsh/contrib/ANN//"
 kd_fix_rad_search.o: src/kd_fix_rad_search.cpp src/kd_fix_rad_search.h \
   src/kd_tree.h include/ANN/ANNx.h include/ANN/ANN.h src/kd_util.h \
   src/pr_queue_k.h include/ANN/ANNperf.h
-# 1 "/Users/geuzaine/.gmsh/contrib/ANN//"
 kd_pr_search.o: src/kd_pr_search.cpp src/kd_pr_search.h src/kd_tree.h \
   include/ANN/ANNx.h include/ANN/ANN.h src/kd_util.h src/pr_queue.h \
   include/ANN/ANNperf.h src/pr_queue_k.h
-# 1 "/Users/geuzaine/.gmsh/contrib/ANN//"
 kd_search.o: src/kd_search.cpp src/kd_search.h src/kd_tree.h \
   include/ANN/ANNx.h include/ANN/ANN.h src/kd_util.h src/pr_queue_k.h \
   include/ANN/ANNperf.h
-# 1 "/Users/geuzaine/.gmsh/contrib/ANN//"
 kd_split.o: src/kd_split.cpp src/kd_tree.h include/ANN/ANNx.h \
   include/ANN/ANN.h src/kd_util.h src/kd_split.h
-# 1 "/Users/geuzaine/.gmsh/contrib/ANN//"
 kd_tree.o: src/kd_tree.cpp src/kd_tree.h include/ANN/ANNx.h \
   include/ANN/ANN.h src/kd_split.h src/kd_util.h include/ANN/ANNperf.h
-# 1 "/Users/geuzaine/.gmsh/contrib/ANN//"
 kd_util.o: src/kd_util.cpp src/kd_util.h src/kd_tree.h include/ANN/ANNx.h \
   include/ANN/ANN.h include/ANN/ANNperf.h
-# 1 "/Users/geuzaine/.gmsh/contrib/ANN//"
 perf.o: src/perf.cpp include/ANN/ANN.h include/ANN/ANNperf.h
diff --git a/contrib/MathEval/Makefile b/contrib/MathEval/Makefile
index fac24664d6..61af198f6d 100644
--- a/contrib/MathEval/Makefile
+++ b/contrib/MathEval/Makefile
@@ -1,4 +1,4 @@
-# $Id: Makefile,v 1.9 2006-08-04 14:28:03 geuzaine Exp $
+# $Id: Makefile,v 1.10 2006-09-14 15:23:30 remacle Exp $
 #
 # Copyright (C) 1997-2006 C. Geuzaine, J.-F. Remacle
 #
@@ -61,19 +61,13 @@ depend:
 	rm -f Makefile.new
 
 # DO NOT DELETE THIS LINE
-# 1 "/Users/geuzaine/.gmsh/contrib/MathEval//"
 matheval.o: matheval.cpp common.h ../../DataStr/Malloc.h matheval.h \
   node.h symbol_table.h
-# 1 "/Users/geuzaine/.gmsh/contrib/MathEval//"
 node.o: node.cpp common.h ../../DataStr/Malloc.h node.h symbol_table.h
-# 1 "/Users/geuzaine/.gmsh/contrib/MathEval//"
 scanner.yy.o: scanner.yy.cpp common.h ../../DataStr/Malloc.h node.h \
   symbol_table.h parser.tab.hpp
-# 1 "/Users/geuzaine/.gmsh/contrib/MathEval//"
 parser.tab.o: parser.tab.cpp common.h ../../DataStr/Malloc.h node.h \
   symbol_table.h
-# 1 "/Users/geuzaine/.gmsh/contrib/MathEval//"
 symbol_table.o: symbol_table.cpp common.h ../../DataStr/Malloc.h \
   symbol_table.h xmath.h
-# 1 "/Users/geuzaine/.gmsh/contrib/MathEval//"
 xmath.o: xmath.cpp xmath.h
diff --git a/contrib/Metis/Makefile b/contrib/Metis/Makefile
index e44b11fa08..c43a74c014 100644
--- a/contrib/Metis/Makefile
+++ b/contrib/Metis/Makefile
@@ -1,4 +1,4 @@
-# $Id: Makefile,v 1.9 2006-08-04 14:28:03 geuzaine Exp $
+# $Id: Makefile,v 1.10 2006-09-14 15:23:30 remacle Exp $
 #
 # Copyright (C) 1997-2006 C. Geuzaine, J.-F. Remacle
 #
@@ -101,117 +101,65 @@ depend:
 	rm -f Makefile.new
 
 # DO NOT DELETE THIS LINE
-# 1 "/Users/geuzaine/.gmsh/contrib/Metis//"
 balance.o: balance.c metis.h defs.h struct.h macros.h rename.h proto.h
-# 1 "/Users/geuzaine/.gmsh/contrib/Metis//"
 fm.o: fm.c metis.h defs.h struct.h macros.h rename.h proto.h
-# 1 "/Users/geuzaine/.gmsh/contrib/Metis//"
 kwayfm.o: kwayfm.c metis.h defs.h struct.h macros.h rename.h proto.h
-# 1 "/Users/geuzaine/.gmsh/contrib/Metis//"
 mcoarsen.o: mcoarsen.c metis.h defs.h struct.h macros.h rename.h proto.h
-# 1 "/Users/geuzaine/.gmsh/contrib/Metis//"
 minitpart2.o: minitpart2.c metis.h defs.h struct.h macros.h rename.h \
   proto.h
-# 1 "/Users/geuzaine/.gmsh/contrib/Metis//"
 mpmetis.o: mpmetis.c metis.h defs.h struct.h macros.h rename.h proto.h
-# 1 "/Users/geuzaine/.gmsh/contrib/Metis//"
 pmetis.o: pmetis.c metis.h defs.h struct.h macros.h rename.h proto.h
-# 1 "/Users/geuzaine/.gmsh/contrib/Metis//"
 subdomains.o: subdomains.c metis.h defs.h struct.h macros.h rename.h \
   proto.h
-# 1 "/Users/geuzaine/.gmsh/contrib/Metis//"
 bucketsort.o: bucketsort.c metis.h defs.h struct.h macros.h rename.h \
   proto.h
-# 1 "/Users/geuzaine/.gmsh/contrib/Metis//"
 fortran.o: fortran.c metis.h defs.h struct.h macros.h rename.h proto.h
-# 1 "/Users/geuzaine/.gmsh/contrib/Metis//"
 kwayrefine.o: kwayrefine.c metis.h defs.h struct.h macros.h rename.h \
   proto.h
-# 1 "/Users/geuzaine/.gmsh/contrib/Metis//"
 memory.o: memory.c metis.h defs.h struct.h macros.h rename.h proto.h
-# 1 "/Users/geuzaine/.gmsh/contrib/Metis//"
 minitpart.o: minitpart.c metis.h defs.h struct.h macros.h rename.h \
   proto.h
-# 1 "/Users/geuzaine/.gmsh/contrib/Metis//"
 mrefine2.o: mrefine2.c metis.h defs.h struct.h macros.h rename.h proto.h
-# 1 "/Users/geuzaine/.gmsh/contrib/Metis//"
 pqueue.o: pqueue.c metis.h defs.h struct.h macros.h rename.h proto.h
-# 1 "/Users/geuzaine/.gmsh/contrib/Metis//"
 timing.o: timing.c metis.h defs.h struct.h macros.h rename.h proto.h
-# 1 "/Users/geuzaine/.gmsh/contrib/Metis//"
 ccgraph.o: ccgraph.c metis.h defs.h struct.h macros.h rename.h proto.h
-# 1 "/Users/geuzaine/.gmsh/contrib/Metis//"
 frename.o: frename.c metis.h defs.h struct.h macros.h rename.h proto.h
-# 1 "/Users/geuzaine/.gmsh/contrib/Metis//"
 kwayvolfm.o: kwayvolfm.c metis.h defs.h struct.h macros.h rename.h \
   proto.h
-# 1 "/Users/geuzaine/.gmsh/contrib/Metis//"
 mesh.o: mesh.c metis.h defs.h struct.h macros.h rename.h proto.h
-# 1 "/Users/geuzaine/.gmsh/contrib/Metis//"
 mkmetis.o: mkmetis.c metis.h defs.h struct.h macros.h rename.h proto.h
-# 1 "/Users/geuzaine/.gmsh/contrib/Metis//"
 mrefine.o: mrefine.c metis.h defs.h struct.h macros.h rename.h proto.h
-# 1 "/Users/geuzaine/.gmsh/contrib/Metis//"
 refine.o: refine.c metis.h defs.h struct.h macros.h rename.h proto.h
-# 1 "/Users/geuzaine/.gmsh/contrib/Metis//"
 util.o: util.c metis.h defs.h struct.h macros.h rename.h proto.h
-# 1 "/Users/geuzaine/.gmsh/contrib/Metis//"
 coarsen.o: coarsen.c metis.h defs.h struct.h macros.h rename.h proto.h
-# 1 "/Users/geuzaine/.gmsh/contrib/Metis//"
 graph.o: graph.c metis.h defs.h struct.h macros.h rename.h proto.h
-# 1 "/Users/geuzaine/.gmsh/contrib/Metis//"
 kwayvolrefine.o: kwayvolrefine.c metis.h defs.h struct.h macros.h \
   rename.h proto.h
-# 1 "/Users/geuzaine/.gmsh/contrib/Metis//"
 meshpart.o: meshpart.c metis.h defs.h struct.h macros.h rename.h proto.h
-# 1 "/Users/geuzaine/.gmsh/contrib/Metis//"
 mkwayfmh.o: mkwayfmh.c metis.h defs.h struct.h macros.h rename.h proto.h
-# 1 "/Users/geuzaine/.gmsh/contrib/Metis//"
 mutil.o: mutil.c metis.h defs.h struct.h macros.h rename.h proto.h
-# 1 "/Users/geuzaine/.gmsh/contrib/Metis//"
 separator.o: separator.c metis.h defs.h struct.h macros.h rename.h \
   proto.h
-# 1 "/Users/geuzaine/.gmsh/contrib/Metis//"
 compress.o: compress.c metis.h defs.h struct.h macros.h rename.h proto.h
-# 1 "/Users/geuzaine/.gmsh/contrib/Metis//"
 initpart.o: initpart.c metis.h defs.h struct.h macros.h rename.h proto.h
-# 1 "/Users/geuzaine/.gmsh/contrib/Metis//"
 match.o: match.c metis.h defs.h struct.h macros.h rename.h proto.h
-# 1 "/Users/geuzaine/.gmsh/contrib/Metis//"
 mfm2.o: mfm2.c metis.h defs.h struct.h macros.h rename.h proto.h
-# 1 "/Users/geuzaine/.gmsh/contrib/Metis//"
 mkwayrefine.o: mkwayrefine.c metis.h defs.h struct.h macros.h rename.h \
   proto.h
-# 1 "/Users/geuzaine/.gmsh/contrib/Metis//"
 myqsort.o: myqsort.c metis.h defs.h struct.h macros.h rename.h proto.h
-# 1 "/Users/geuzaine/.gmsh/contrib/Metis//"
 sfm.o: sfm.c metis.h defs.h struct.h macros.h rename.h proto.h
-# 1 "/Users/geuzaine/.gmsh/contrib/Metis//"
 debug.o: debug.c metis.h defs.h struct.h macros.h rename.h proto.h
-# 1 "/Users/geuzaine/.gmsh/contrib/Metis//"
 kmetis.o: kmetis.c metis.h defs.h struct.h macros.h rename.h proto.h
-# 1 "/Users/geuzaine/.gmsh/contrib/Metis//"
 mbalance2.o: mbalance2.c metis.h defs.h struct.h macros.h rename.h \
   proto.h
-# 1 "/Users/geuzaine/.gmsh/contrib/Metis//"
 mfm.o: mfm.c metis.h defs.h struct.h macros.h rename.h proto.h
-# 1 "/Users/geuzaine/.gmsh/contrib/Metis//"
 mmatch.o: mmatch.c metis.h defs.h struct.h macros.h rename.h proto.h
-# 1 "/Users/geuzaine/.gmsh/contrib/Metis//"
 ometis.o: ometis.c metis.h defs.h struct.h macros.h rename.h proto.h
-# 1 "/Users/geuzaine/.gmsh/contrib/Metis//"
 srefine.o: srefine.c metis.h defs.h struct.h macros.h rename.h proto.h
-# 1 "/Users/geuzaine/.gmsh/contrib/Metis//"
 estmem.o: estmem.c metis.h defs.h struct.h macros.h rename.h proto.h
-# 1 "/Users/geuzaine/.gmsh/contrib/Metis//"
 kvmetis.o: kvmetis.c metis.h defs.h struct.h macros.h rename.h proto.h
-# 1 "/Users/geuzaine/.gmsh/contrib/Metis//"
 mbalance.o: mbalance.c metis.h defs.h struct.h macros.h rename.h proto.h
-# 1 "/Users/geuzaine/.gmsh/contrib/Metis//"
 mincover.o: mincover.c metis.h defs.h struct.h macros.h rename.h proto.h
-# 1 "/Users/geuzaine/.gmsh/contrib/Metis//"
 mmd.o: mmd.c metis.h defs.h struct.h macros.h rename.h proto.h
-# 1 "/Users/geuzaine/.gmsh/contrib/Metis//"
 parmetis.o: parmetis.c metis.h defs.h struct.h macros.h rename.h proto.h
-# 1 "/Users/geuzaine/.gmsh/contrib/Metis//"
 stat.o: stat.c metis.h defs.h struct.h macros.h rename.h proto.h
diff --git a/contrib/Netgen/Makefile b/contrib/Netgen/Makefile
index dc5d461090..d448ceae79 100644
--- a/contrib/Netgen/Makefile
+++ b/contrib/Netgen/Makefile
@@ -1,4 +1,4 @@
-# $Id: Makefile,v 1.10 2006-08-04 14:28:03 geuzaine Exp $
+# $Id: Makefile,v 1.11 2006-09-14 15:23:30 remacle Exp $
 #
 # Copyright (C) 1997-2006 C. Geuzaine, J.-F. Remacle
 #
@@ -148,7 +148,6 @@ depend:
 	rm -f Makefile.new
 
 # DO NOT DELETE THIS LINE
-# 1 "/Users/geuzaine/.gmsh/contrib/Netgen//"
 linopt.o: libsrc/opti/linopt.cpp libsrc/include/mystdlib.h \
   libsrc/include/myadt.hpp libsrc/include/../general/myadt.hpp \
   libsrc/include/mydefs.hpp libsrc/include/../general/ngexception.hpp \
@@ -169,7 +168,6 @@ linopt.o: libsrc/opti/linopt.cpp libsrc/include/mystdlib.h \
   libsrc/include/../linalg/linalg.hpp libsrc/include/../linalg/vector.hpp \
   libsrc/include/../linalg/densemat.hpp \
   libsrc/include/../linalg/polynomial.hpp libsrc/opti/opti.hpp
-# 1 "/Users/geuzaine/.gmsh/contrib/Netgen//"
 bfgs.o: libsrc/opti/bfgs.cpp libsrc/include/mystdlib.h \
   libsrc/include/myadt.hpp libsrc/include/../general/myadt.hpp \
   libsrc/include/mydefs.hpp libsrc/include/../general/ngexception.hpp \
@@ -190,7 +188,6 @@ bfgs.o: libsrc/opti/bfgs.cpp libsrc/include/mystdlib.h \
   libsrc/include/../linalg/linalg.hpp libsrc/include/../linalg/vector.hpp \
   libsrc/include/../linalg/densemat.hpp \
   libsrc/include/../linalg/polynomial.hpp libsrc/opti/opti.hpp
-# 1 "/Users/geuzaine/.gmsh/contrib/Netgen//"
 linsearch.o: libsrc/opti/linsearch.cpp libsrc/include/mystdlib.h \
   libsrc/include/myadt.hpp libsrc/include/../general/myadt.hpp \
   libsrc/include/mydefs.hpp libsrc/include/../general/ngexception.hpp \
@@ -211,7 +208,6 @@ linsearch.o: libsrc/opti/linsearch.cpp libsrc/include/mystdlib.h \
   libsrc/include/../linalg/linalg.hpp libsrc/include/../linalg/vector.hpp \
   libsrc/include/../linalg/densemat.hpp \
   libsrc/include/../linalg/polynomial.hpp libsrc/opti/opti.hpp
-# 1 "/Users/geuzaine/.gmsh/contrib/Netgen//"
 global.o: libsrc/meshing/global.cpp libsrc/include/mystdlib.h \
   libsrc/meshing/meshing.hpp libsrc/include/myadt.hpp \
   libsrc/include/../general/myadt.hpp libsrc/include/mydefs.hpp \
@@ -254,7 +250,6 @@ global.o: libsrc/meshing/global.cpp libsrc/include/mystdlib.h \
   libsrc/meshing/clusters.hpp libsrc/meshing/meshfunc.hpp \
   libsrc/meshing/hprefinement.hpp libsrc/meshing/boundarylayer.hpp \
   libsrc/meshing/specials.hpp
-# 1 "/Users/geuzaine/.gmsh/contrib/Netgen//"
 bisect.o: libsrc/meshing/bisect.cpp libsrc/include/mystdlib.h \
   libsrc/meshing/meshing.hpp libsrc/include/myadt.hpp \
   libsrc/include/../general/myadt.hpp libsrc/include/mydefs.hpp \
@@ -297,7 +292,6 @@ bisect.o: libsrc/meshing/bisect.cpp libsrc/include/mystdlib.h \
   libsrc/meshing/clusters.hpp libsrc/meshing/meshfunc.hpp \
   libsrc/meshing/hprefinement.hpp libsrc/meshing/boundarylayer.hpp \
   libsrc/meshing/specials.hpp
-# 1 "/Users/geuzaine/.gmsh/contrib/Netgen//"
 meshtool.o: libsrc/meshing/meshtool.cpp libsrc/include/mystdlib.h \
   libsrc/meshing/meshing.hpp libsrc/include/myadt.hpp \
   libsrc/include/../general/myadt.hpp libsrc/include/mydefs.hpp \
@@ -357,7 +351,6 @@ meshtool.o: libsrc/meshing/meshtool.cpp libsrc/include/mystdlib.h \
   libsrc/include/../gprim/gprim.hpp libsrc/include/../geom2d/spline2d.hpp \
   libsrc/include/../geom2d/splinegeometry2.hpp \
   libsrc/include/../geom2d/geom2dmesh.hpp
-# 1 "/Users/geuzaine/.gmsh/contrib/Netgen//"
 refine.o: libsrc/meshing/refine.cpp libsrc/include/mystdlib.h \
   libsrc/meshing/meshing.hpp libsrc/include/myadt.hpp \
   libsrc/include/../general/myadt.hpp libsrc/include/mydefs.hpp \
@@ -400,7 +393,6 @@ refine.o: libsrc/meshing/refine.cpp libsrc/include/mystdlib.h \
   libsrc/meshing/clusters.hpp libsrc/meshing/meshfunc.hpp \
   libsrc/meshing/hprefinement.hpp libsrc/meshing/boundarylayer.hpp \
   libsrc/meshing/specials.hpp
-# 1 "/Users/geuzaine/.gmsh/contrib/Netgen//"
 ruler3.o: libsrc/meshing/ruler3.cpp libsrc/include/mystdlib.h \
   libsrc/meshing/meshing.hpp libsrc/include/myadt.hpp \
   libsrc/include/../general/myadt.hpp libsrc/include/mydefs.hpp \
@@ -443,7 +435,6 @@ ruler3.o: libsrc/meshing/ruler3.cpp libsrc/include/mystdlib.h \
   libsrc/meshing/clusters.hpp libsrc/meshing/meshfunc.hpp \
   libsrc/meshing/hprefinement.hpp libsrc/meshing/boundarylayer.hpp \
   libsrc/meshing/specials.hpp
-# 1 "/Users/geuzaine/.gmsh/contrib/Netgen//"
 improve3.o: libsrc/meshing/improve3.cpp libsrc/include/mystdlib.h \
   libsrc/meshing/meshing.hpp libsrc/include/myadt.hpp \
   libsrc/include/../general/myadt.hpp libsrc/include/mydefs.hpp \
@@ -486,7 +477,6 @@ improve3.o: libsrc/meshing/improve3.cpp libsrc/include/mystdlib.h \
   libsrc/meshing/clusters.hpp libsrc/meshing/meshfunc.hpp \
   libsrc/meshing/hprefinement.hpp libsrc/meshing/boundarylayer.hpp \
   libsrc/meshing/specials.hpp libsrc/include/../opti/opti.hpp
-# 1 "/Users/geuzaine/.gmsh/contrib/Netgen//"
 smoothing3.o: libsrc/meshing/smoothing3.cpp libsrc/include/mystdlib.h \
   libsrc/meshing/meshing.hpp libsrc/include/myadt.hpp \
   libsrc/include/../general/myadt.hpp libsrc/include/mydefs.hpp \
@@ -529,7 +519,6 @@ smoothing3.o: libsrc/meshing/smoothing3.cpp libsrc/include/mystdlib.h \
   libsrc/meshing/clusters.hpp libsrc/meshing/meshfunc.hpp \
   libsrc/meshing/hprefinement.hpp libsrc/meshing/boundarylayer.hpp \
   libsrc/meshing/specials.hpp libsrc/include/../opti/opti.hpp
-# 1 "/Users/geuzaine/.gmsh/contrib/Netgen//"
 adfront3.o: libsrc/meshing/adfront3.cpp libsrc/include/mystdlib.h \
   libsrc/meshing/meshing.hpp libsrc/include/myadt.hpp \
   libsrc/include/../general/myadt.hpp libsrc/include/mydefs.hpp \
@@ -572,15 +561,10 @@ adfront3.o: libsrc/meshing/adfront3.cpp libsrc/include/mystdlib.h \
   libsrc/meshing/clusters.hpp libsrc/meshing/meshfunc.hpp \
   libsrc/meshing/hprefinement.hpp libsrc/meshing/boundarylayer.hpp \
   libsrc/meshing/specials.hpp
-# 1 "/Users/geuzaine/.gmsh/contrib/Netgen//"
 tetrarls.o: libsrc/meshing/tetrarls.cpp
-# 1 "/Users/geuzaine/.gmsh/contrib/Netgen//"
 prism2rls.o: libsrc/meshing/prism2rls.cpp
-# 1 "/Users/geuzaine/.gmsh/contrib/Netgen//"
 pyramidrls.o: libsrc/meshing/pyramidrls.cpp
-# 1 "/Users/geuzaine/.gmsh/contrib/Netgen//"
 pyramid2rls.o: libsrc/meshing/pyramid2rls.cpp
-# 1 "/Users/geuzaine/.gmsh/contrib/Netgen//"
 netrule3.o: libsrc/meshing/netrule3.cpp libsrc/include/mystdlib.h \
   libsrc/meshing/meshing.hpp libsrc/include/myadt.hpp \
   libsrc/include/../general/myadt.hpp libsrc/include/mydefs.hpp \
@@ -623,7 +607,6 @@ netrule3.o: libsrc/meshing/netrule3.cpp libsrc/include/mystdlib.h \
   libsrc/meshing/clusters.hpp libsrc/meshing/meshfunc.hpp \
   libsrc/meshing/hprefinement.hpp libsrc/meshing/boundarylayer.hpp \
   libsrc/meshing/specials.hpp
-# 1 "/Users/geuzaine/.gmsh/contrib/Netgen//"
 ruler2.o: libsrc/meshing/ruler2.cpp libsrc/include/mystdlib.h \
   libsrc/meshing/meshing.hpp libsrc/include/myadt.hpp \
   libsrc/include/../general/myadt.hpp libsrc/include/mydefs.hpp \
@@ -666,7 +649,6 @@ ruler2.o: libsrc/meshing/ruler2.cpp libsrc/include/mystdlib.h \
   libsrc/meshing/clusters.hpp libsrc/meshing/meshfunc.hpp \
   libsrc/meshing/hprefinement.hpp libsrc/meshing/boundarylayer.hpp \
   libsrc/meshing/specials.hpp
-# 1 "/Users/geuzaine/.gmsh/contrib/Netgen//"
 meshclass.o: libsrc/meshing/meshclass.cpp libsrc/include/mystdlib.h \
   libsrc/meshing/meshing.hpp libsrc/include/myadt.hpp \
   libsrc/include/../general/myadt.hpp libsrc/include/mydefs.hpp \
@@ -709,7 +691,6 @@ meshclass.o: libsrc/meshing/meshclass.cpp libsrc/include/mystdlib.h \
   libsrc/meshing/clusters.hpp libsrc/meshing/meshfunc.hpp \
   libsrc/meshing/hprefinement.hpp libsrc/meshing/boundarylayer.hpp \
   libsrc/meshing/specials.hpp
-# 1 "/Users/geuzaine/.gmsh/contrib/Netgen//"
 improve2.o: libsrc/meshing/improve2.cpp libsrc/include/mystdlib.h \
   libsrc/meshing/meshing.hpp libsrc/include/myadt.hpp \
   libsrc/include/../general/myadt.hpp libsrc/include/mydefs.hpp \
@@ -752,7 +733,6 @@ improve2.o: libsrc/meshing/improve2.cpp libsrc/include/mystdlib.h \
   libsrc/meshing/clusters.hpp libsrc/meshing/meshfunc.hpp \
   libsrc/meshing/hprefinement.hpp libsrc/meshing/boundarylayer.hpp \
   libsrc/meshing/specials.hpp libsrc/include/../opti/opti.hpp
-# 1 "/Users/geuzaine/.gmsh/contrib/Netgen//"
 smoothing2.o: libsrc/meshing/smoothing2.cpp libsrc/include/mystdlib.h \
   libsrc/meshing/meshing.hpp libsrc/include/myadt.hpp \
   libsrc/include/../general/myadt.hpp libsrc/include/mydefs.hpp \
@@ -795,7 +775,6 @@ smoothing2.o: libsrc/meshing/smoothing2.cpp libsrc/include/mystdlib.h \
   libsrc/meshing/clusters.hpp libsrc/meshing/meshfunc.hpp \
   libsrc/meshing/hprefinement.hpp libsrc/meshing/boundarylayer.hpp \
   libsrc/meshing/specials.hpp libsrc/include/../opti/opti.hpp
-# 1 "/Users/geuzaine/.gmsh/contrib/Netgen//"
 adfront2.o: libsrc/meshing/adfront2.cpp libsrc/include/mystdlib.h \
   libsrc/meshing/meshing.hpp libsrc/include/myadt.hpp \
   libsrc/include/../general/myadt.hpp libsrc/include/mydefs.hpp \
@@ -838,7 +817,6 @@ adfront2.o: libsrc/meshing/adfront2.cpp libsrc/include/mystdlib.h \
   libsrc/meshing/clusters.hpp libsrc/meshing/meshfunc.hpp \
   libsrc/meshing/hprefinement.hpp libsrc/meshing/boundarylayer.hpp \
   libsrc/meshing/specials.hpp
-# 1 "/Users/geuzaine/.gmsh/contrib/Netgen//"
 netrule2.o: libsrc/meshing/netrule2.cpp libsrc/include/mystdlib.h \
   libsrc/meshing/meshing.hpp libsrc/include/myadt.hpp \
   libsrc/include/../general/myadt.hpp libsrc/include/mydefs.hpp \
@@ -881,9 +859,7 @@ netrule2.o: libsrc/meshing/netrule2.cpp libsrc/include/mystdlib.h \
   libsrc/meshing/clusters.hpp libsrc/meshing/meshfunc.hpp \
   libsrc/meshing/hprefinement.hpp libsrc/meshing/boundarylayer.hpp \
   libsrc/meshing/specials.hpp
-# 1 "/Users/geuzaine/.gmsh/contrib/Netgen//"
 triarls.o: libsrc/meshing/triarls.cpp
-# 1 "/Users/geuzaine/.gmsh/contrib/Netgen//"
 geomsearch.o: libsrc/meshing/geomsearch.cpp libsrc/include/mystdlib.h \
   libsrc/meshing/meshing.hpp libsrc/include/myadt.hpp \
   libsrc/include/../general/myadt.hpp libsrc/include/mydefs.hpp \
@@ -926,7 +902,6 @@ geomsearch.o: libsrc/meshing/geomsearch.cpp libsrc/include/mystdlib.h \
   libsrc/meshing/clusters.hpp libsrc/meshing/meshfunc.hpp \
   libsrc/meshing/hprefinement.hpp libsrc/meshing/boundarylayer.hpp \
   libsrc/meshing/specials.hpp
-# 1 "/Users/geuzaine/.gmsh/contrib/Netgen//"
 secondorder.o: libsrc/meshing/secondorder.cpp libsrc/include/mystdlib.h \
   libsrc/meshing/meshing.hpp libsrc/include/myadt.hpp \
   libsrc/include/../general/myadt.hpp libsrc/include/mydefs.hpp \
@@ -969,7 +944,6 @@ secondorder.o: libsrc/meshing/secondorder.cpp libsrc/include/mystdlib.h \
   libsrc/meshing/clusters.hpp libsrc/meshing/meshfunc.hpp \
   libsrc/meshing/hprefinement.hpp libsrc/meshing/boundarylayer.hpp \
   libsrc/meshing/specials.hpp
-# 1 "/Users/geuzaine/.gmsh/contrib/Netgen//"
 meshtype.o: libsrc/meshing/meshtype.cpp libsrc/include/mystdlib.h \
   libsrc/meshing/meshing.hpp libsrc/include/myadt.hpp \
   libsrc/include/../general/myadt.hpp libsrc/include/mydefs.hpp \
@@ -1012,7 +986,6 @@ meshtype.o: libsrc/meshing/meshtype.cpp libsrc/include/mystdlib.h \
   libsrc/meshing/clusters.hpp libsrc/meshing/meshfunc.hpp \
   libsrc/meshing/hprefinement.hpp libsrc/meshing/boundarylayer.hpp \
   libsrc/meshing/specials.hpp
-# 1 "/Users/geuzaine/.gmsh/contrib/Netgen//"
 parser3.o: libsrc/meshing/parser3.cpp libsrc/include/mystdlib.h \
   libsrc/meshing/meshing.hpp libsrc/include/myadt.hpp \
   libsrc/include/../general/myadt.hpp libsrc/include/mydefs.hpp \
@@ -1055,7 +1028,6 @@ parser3.o: libsrc/meshing/parser3.cpp libsrc/include/mystdlib.h \
   libsrc/meshing/clusters.hpp libsrc/meshing/meshfunc.hpp \
   libsrc/meshing/hprefinement.hpp libsrc/meshing/boundarylayer.hpp \
   libsrc/meshing/specials.hpp
-# 1 "/Users/geuzaine/.gmsh/contrib/Netgen//"
 meshing2.o: libsrc/meshing/meshing2.cpp libsrc/include/mystdlib.h \
   libsrc/meshing/meshing.hpp libsrc/include/myadt.hpp \
   libsrc/include/../general/myadt.hpp libsrc/include/mydefs.hpp \
@@ -1098,9 +1070,7 @@ meshing2.o: libsrc/meshing/meshing2.cpp libsrc/include/mystdlib.h \
   libsrc/meshing/clusters.hpp libsrc/meshing/meshfunc.hpp \
   libsrc/meshing/hprefinement.hpp libsrc/meshing/boundarylayer.hpp \
   libsrc/meshing/specials.hpp
-# 1 "/Users/geuzaine/.gmsh/contrib/Netgen//"
 quadrls.o: libsrc/meshing/quadrls.cpp
-# 1 "/Users/geuzaine/.gmsh/contrib/Netgen//"
 specials.o: libsrc/meshing/specials.cpp libsrc/include/mystdlib.h \
   libsrc/meshing/meshing.hpp libsrc/include/myadt.hpp \
   libsrc/include/../general/myadt.hpp libsrc/include/mydefs.hpp \
@@ -1143,7 +1113,6 @@ specials.o: libsrc/meshing/specials.cpp libsrc/include/mystdlib.h \
   libsrc/meshing/clusters.hpp libsrc/meshing/meshfunc.hpp \
   libsrc/meshing/hprefinement.hpp libsrc/meshing/boundarylayer.hpp \
   libsrc/meshing/specials.hpp
-# 1 "/Users/geuzaine/.gmsh/contrib/Netgen//"
 parser2.o: libsrc/meshing/parser2.cpp libsrc/include/mystdlib.h \
   libsrc/meshing/meshing.hpp libsrc/include/myadt.hpp \
   libsrc/include/../general/myadt.hpp libsrc/include/mydefs.hpp \
@@ -1186,7 +1155,6 @@ parser2.o: libsrc/meshing/parser2.cpp libsrc/include/mystdlib.h \
   libsrc/meshing/clusters.hpp libsrc/meshing/meshfunc.hpp \
   libsrc/meshing/hprefinement.hpp libsrc/meshing/boundarylayer.hpp \
   libsrc/meshing/specials.hpp
-# 1 "/Users/geuzaine/.gmsh/contrib/Netgen//"
 meshing3.o: libsrc/meshing/meshing3.cpp libsrc/include/mystdlib.h \
   libsrc/meshing/meshing.hpp libsrc/include/myadt.hpp \
   libsrc/include/../general/myadt.hpp libsrc/include/mydefs.hpp \
@@ -1229,7 +1197,6 @@ meshing3.o: libsrc/meshing/meshing3.cpp libsrc/include/mystdlib.h \
   libsrc/meshing/clusters.hpp libsrc/meshing/meshfunc.hpp \
   libsrc/meshing/hprefinement.hpp libsrc/meshing/boundarylayer.hpp \
   libsrc/meshing/specials.hpp
-# 1 "/Users/geuzaine/.gmsh/contrib/Netgen//"
 meshfunc.o: libsrc/meshing/meshfunc.cpp libsrc/include/mystdlib.h \
   libsrc/meshing/meshing.hpp libsrc/include/myadt.hpp \
   libsrc/include/../general/myadt.hpp libsrc/include/mydefs.hpp \
@@ -1272,7 +1239,6 @@ meshfunc.o: libsrc/meshing/meshfunc.cpp libsrc/include/mystdlib.h \
   libsrc/meshing/clusters.hpp libsrc/meshing/meshfunc.hpp \
   libsrc/meshing/hprefinement.hpp libsrc/meshing/boundarylayer.hpp \
   libsrc/meshing/specials.hpp
-# 1 "/Users/geuzaine/.gmsh/contrib/Netgen//"
 localh.o: libsrc/meshing/localh.cpp libsrc/include/mystdlib.h \
   libsrc/meshing/meshing.hpp libsrc/include/myadt.hpp \
   libsrc/include/../general/myadt.hpp libsrc/include/mydefs.hpp \
@@ -1315,7 +1281,6 @@ localh.o: libsrc/meshing/localh.cpp libsrc/include/mystdlib.h \
   libsrc/meshing/clusters.hpp libsrc/meshing/meshfunc.hpp \
   libsrc/meshing/hprefinement.hpp libsrc/meshing/boundarylayer.hpp \
   libsrc/meshing/specials.hpp
-# 1 "/Users/geuzaine/.gmsh/contrib/Netgen//"
 improve2gen.o: libsrc/meshing/improve2gen.cpp libsrc/include/mystdlib.h \
   libsrc/meshing/meshing.hpp libsrc/include/myadt.hpp \
   libsrc/include/../general/myadt.hpp libsrc/include/mydefs.hpp \
@@ -1358,7 +1323,6 @@ improve2gen.o: libsrc/meshing/improve2gen.cpp libsrc/include/mystdlib.h \
   libsrc/meshing/clusters.hpp libsrc/meshing/meshfunc.hpp \
   libsrc/meshing/hprefinement.hpp libsrc/meshing/boundarylayer.hpp \
   libsrc/meshing/specials.hpp libsrc/include/../opti/opti.hpp
-# 1 "/Users/geuzaine/.gmsh/contrib/Netgen//"
 delaunay.o: libsrc/meshing/delaunay.cpp libsrc/include/mystdlib.h \
   libsrc/meshing/meshing.hpp libsrc/include/myadt.hpp \
   libsrc/include/../general/myadt.hpp libsrc/include/mydefs.hpp \
@@ -1401,7 +1365,6 @@ delaunay.o: libsrc/meshing/delaunay.cpp libsrc/include/mystdlib.h \
   libsrc/meshing/clusters.hpp libsrc/meshing/meshfunc.hpp \
   libsrc/meshing/hprefinement.hpp libsrc/meshing/boundarylayer.hpp \
   libsrc/meshing/specials.hpp
-# 1 "/Users/geuzaine/.gmsh/contrib/Netgen//"
 boundarylayer.o: libsrc/meshing/boundarylayer.cpp \
   libsrc/include/mystdlib.h libsrc/meshing/meshing.hpp \
   libsrc/include/myadt.hpp libsrc/include/../general/myadt.hpp \
@@ -1444,7 +1407,6 @@ boundarylayer.o: libsrc/meshing/boundarylayer.cpp \
   libsrc/meshing/clusters.hpp libsrc/meshing/meshfunc.hpp \
   libsrc/meshing/hprefinement.hpp libsrc/meshing/boundarylayer.hpp \
   libsrc/meshing/specials.hpp
-# 1 "/Users/geuzaine/.gmsh/contrib/Netgen//"
 msghandler.o: libsrc/meshing/msghandler.cpp libsrc/include/meshing.hpp \
   libsrc/include/../meshing/meshing.hpp libsrc/include/myadt.hpp \
   libsrc/include/../general/myadt.hpp libsrc/include/mystdlib.h \
@@ -1499,7 +1461,6 @@ msghandler.o: libsrc/meshing/msghandler.cpp libsrc/include/meshing.hpp \
   libsrc/include/../meshing/hprefinement.hpp \
   libsrc/include/../meshing/boundarylayer.hpp \
   libsrc/include/../meshing/specials.hpp
-# 1 "/Users/geuzaine/.gmsh/contrib/Netgen//"
 meshfunc2d.o: libsrc/meshing/meshfunc2d.cpp libsrc/include/mystdlib.h \
   libsrc/meshing/meshing.hpp libsrc/include/myadt.hpp \
   libsrc/include/../general/myadt.hpp libsrc/include/mydefs.hpp \
@@ -1542,7 +1503,6 @@ meshfunc2d.o: libsrc/meshing/meshfunc2d.cpp libsrc/include/mystdlib.h \
   libsrc/meshing/clusters.hpp libsrc/meshing/meshfunc.hpp \
   libsrc/meshing/hprefinement.hpp libsrc/meshing/boundarylayer.hpp \
   libsrc/meshing/specials.hpp
-# 1 "/Users/geuzaine/.gmsh/contrib/Netgen//"
 topology.o: libsrc/meshing/topology.cpp libsrc/include/mystdlib.h \
   libsrc/meshing/meshing.hpp libsrc/include/myadt.hpp \
   libsrc/include/../general/myadt.hpp libsrc/include/mydefs.hpp \
@@ -1585,7 +1545,6 @@ topology.o: libsrc/meshing/topology.cpp libsrc/include/mystdlib.h \
   libsrc/meshing/clusters.hpp libsrc/meshing/meshfunc.hpp \
   libsrc/meshing/hprefinement.hpp libsrc/meshing/boundarylayer.hpp \
   libsrc/meshing/specials.hpp
-# 1 "/Users/geuzaine/.gmsh/contrib/Netgen//"
 clusters.o: libsrc/meshing/clusters.cpp libsrc/include/mystdlib.h \
   libsrc/meshing/meshing.hpp libsrc/include/myadt.hpp \
   libsrc/include/../general/myadt.hpp libsrc/include/mydefs.hpp \
@@ -1628,7 +1587,6 @@ clusters.o: libsrc/meshing/clusters.cpp libsrc/include/mystdlib.h \
   libsrc/meshing/clusters.hpp libsrc/meshing/meshfunc.hpp \
   libsrc/meshing/hprefinement.hpp libsrc/meshing/boundarylayer.hpp \
   libsrc/meshing/specials.hpp
-# 1 "/Users/geuzaine/.gmsh/contrib/Netgen//"
 curvedelems.o: libsrc/meshing/curvedelems.cpp libsrc/include/mystdlib.h \
   libsrc/meshing/meshing.hpp libsrc/include/myadt.hpp \
   libsrc/include/../general/myadt.hpp libsrc/include/mydefs.hpp \
@@ -1671,7 +1629,6 @@ curvedelems.o: libsrc/meshing/curvedelems.cpp libsrc/include/mystdlib.h \
   libsrc/meshing/clusters.hpp libsrc/meshing/meshfunc.hpp \
   libsrc/meshing/hprefinement.hpp libsrc/meshing/boundarylayer.hpp \
   libsrc/meshing/specials.hpp
-# 1 "/Users/geuzaine/.gmsh/contrib/Netgen//"
 curvedelems2.o: libsrc/meshing/curvedelems2.cpp libsrc/include/mystdlib.h \
   libsrc/meshing/meshing.hpp libsrc/include/myadt.hpp \
   libsrc/include/../general/myadt.hpp libsrc/include/mydefs.hpp \
@@ -1714,7 +1671,6 @@ curvedelems2.o: libsrc/meshing/curvedelems2.cpp libsrc/include/mystdlib.h \
   libsrc/meshing/clusters.hpp libsrc/meshing/meshfunc.hpp \
   libsrc/meshing/hprefinement.hpp libsrc/meshing/boundarylayer.hpp \
   libsrc/meshing/specials.hpp
-# 1 "/Users/geuzaine/.gmsh/contrib/Netgen//"
 hprefinement.o: libsrc/meshing/hprefinement.cpp libsrc/include/mystdlib.h \
   libsrc/meshing/meshing.hpp libsrc/include/myadt.hpp \
   libsrc/include/../general/myadt.hpp libsrc/include/mydefs.hpp \
@@ -1759,7 +1715,6 @@ hprefinement.o: libsrc/meshing/hprefinement.cpp libsrc/include/mystdlib.h \
   libsrc/meshing/specials.hpp libsrc/meshing/hpref_trig.hpp \
   libsrc/meshing/hpref_quad.hpp libsrc/meshing/hpref_tet.hpp \
   libsrc/meshing/hpref_prism.hpp
-# 1 "/Users/geuzaine/.gmsh/contrib/Netgen//"
 nglib.o: libsrc/interface/nglib.cpp libsrc/include/mystdlib.h \
   libsrc/include/myadt.hpp libsrc/include/../general/myadt.hpp \
   libsrc/include/mydefs.hpp libsrc/include/../general/ngexception.hpp \
@@ -1837,7 +1792,6 @@ nglib.o: libsrc/interface/nglib.cpp libsrc/include/mystdlib.h \
   libsrc/include/../gprim/gprim.hpp libsrc/include/../geom2d/spline2d.hpp \
   libsrc/include/../geom2d/splinegeometry2.hpp \
   libsrc/include/../geom2d/geom2dmesh.hpp libsrc/interface/nglib.h
-# 1 "/Users/geuzaine/.gmsh/contrib/Netgen//"
 geomtest3d.o: libsrc/gprim/geomtest3d.cpp libsrc/include/mystdlib.h \
   libsrc/include/myadt.hpp libsrc/include/../general/myadt.hpp \
   libsrc/include/mydefs.hpp libsrc/include/../general/ngexception.hpp \
@@ -1866,7 +1820,6 @@ geomtest3d.o: libsrc/gprim/geomtest3d.cpp libsrc/include/mystdlib.h \
   libsrc/include/../gprim/geomtest3d.hpp \
   libsrc/include/../gprim/transform3d.hpp \
   libsrc/include/../gprim/adtree.hpp
-# 1 "/Users/geuzaine/.gmsh/contrib/Netgen//"
 geom2d.o: libsrc/gprim/geom2d.cpp libsrc/include/mystdlib.h \
   libsrc/include/myadt.hpp libsrc/include/../general/myadt.hpp \
   libsrc/include/mydefs.hpp libsrc/include/../general/ngexception.hpp \
@@ -1892,7 +1845,6 @@ geom2d.o: libsrc/gprim/geom2d.cpp libsrc/include/mystdlib.h \
   libsrc/include/../gprim/geomtest3d.hpp \
   libsrc/include/../gprim/transform3d.hpp \
   libsrc/include/../gprim/adtree.hpp
-# 1 "/Users/geuzaine/.gmsh/contrib/Netgen//"
 geom3d.o: libsrc/gprim/geom3d.cpp libsrc/include/mystdlib.h \
   libsrc/include/myadt.hpp libsrc/include/../general/myadt.hpp \
   libsrc/include/mydefs.hpp libsrc/include/../general/ngexception.hpp \
@@ -1918,7 +1870,6 @@ geom3d.o: libsrc/gprim/geom3d.cpp libsrc/include/mystdlib.h \
   libsrc/include/../gprim/geomtest3d.hpp \
   libsrc/include/../gprim/transform3d.hpp \
   libsrc/include/../gprim/adtree.hpp
-# 1 "/Users/geuzaine/.gmsh/contrib/Netgen//"
 adtree.o: libsrc/gprim/adtree.cpp libsrc/include/mystdlib.h \
   libsrc/include/myadt.hpp libsrc/include/../general/myadt.hpp \
   libsrc/include/mydefs.hpp libsrc/include/../general/ngexception.hpp \
@@ -1944,7 +1895,6 @@ adtree.o: libsrc/gprim/adtree.cpp libsrc/include/mystdlib.h \
   libsrc/include/../gprim/geomtest3d.hpp \
   libsrc/include/../gprim/transform3d.hpp \
   libsrc/include/../gprim/adtree.hpp
-# 1 "/Users/geuzaine/.gmsh/contrib/Netgen//"
 transform3d.o: libsrc/gprim/transform3d.cpp libsrc/include/mystdlib.h \
   libsrc/include/myadt.hpp libsrc/include/../general/myadt.hpp \
   libsrc/include/mydefs.hpp libsrc/include/../general/ngexception.hpp \
@@ -1973,7 +1923,6 @@ transform3d.o: libsrc/gprim/transform3d.cpp libsrc/include/mystdlib.h \
   libsrc/include/../linalg/linalg.hpp libsrc/include/../linalg/vector.hpp \
   libsrc/include/../linalg/densemat.hpp \
   libsrc/include/../linalg/polynomial.hpp
-# 1 "/Users/geuzaine/.gmsh/contrib/Netgen//"
 geomfuncs.o: libsrc/gprim/geomfuncs.cpp libsrc/include/mystdlib.h \
   libsrc/include/myadt.hpp libsrc/include/../general/myadt.hpp \
   libsrc/include/mydefs.hpp libsrc/include/../general/ngexception.hpp \
@@ -1999,7 +1948,6 @@ geomfuncs.o: libsrc/gprim/geomfuncs.cpp libsrc/include/mystdlib.h \
   libsrc/include/../gprim/geomtest3d.hpp \
   libsrc/include/../gprim/transform3d.hpp \
   libsrc/include/../gprim/adtree.hpp
-# 1 "/Users/geuzaine/.gmsh/contrib/Netgen//"
 polynomial.o: libsrc/linalg/polynomial.cpp libsrc/include/mystdlib.h \
   libsrc/include/linalg.hpp libsrc/include/../linalg/linalg.hpp \
   libsrc/include/myadt.hpp libsrc/include/../general/myadt.hpp \
@@ -2021,7 +1969,6 @@ polynomial.o: libsrc/linalg/polynomial.cpp libsrc/include/mystdlib.h \
   libsrc/include/../linalg/vector.hpp \
   libsrc/include/../linalg/densemat.hpp \
   libsrc/include/../linalg/polynomial.hpp
-# 1 "/Users/geuzaine/.gmsh/contrib/Netgen//"
 densemat.o: libsrc/linalg/densemat.cpp libsrc/include/mystdlib.h \
   libsrc/include/linalg.hpp libsrc/include/../linalg/linalg.hpp \
   libsrc/include/myadt.hpp libsrc/include/../general/myadt.hpp \
@@ -2043,9 +1990,7 @@ densemat.o: libsrc/linalg/densemat.cpp libsrc/include/mystdlib.h \
   libsrc/include/../linalg/vector.hpp \
   libsrc/include/../linalg/densemat.hpp \
   libsrc/include/../linalg/polynomial.hpp
-# 1 "/Users/geuzaine/.gmsh/contrib/Netgen//"
 vector.o: libsrc/linalg/vector.cpp
-# 1 "/Users/geuzaine/.gmsh/contrib/Netgen//"
 algprim.o: libsrc/csg/algprim.cpp libsrc/include/mystdlib.h \
   libsrc/include/linalg.hpp libsrc/include/../linalg/linalg.hpp \
   libsrc/include/myadt.hpp libsrc/include/../general/myadt.hpp \
@@ -2114,7 +2059,6 @@ algprim.o: libsrc/csg/algprim.cpp libsrc/include/mystdlib.h \
   libsrc/include/../csg/extrusion.hpp \
   libsrc/include/../csg/revolution.hpp libsrc/include/../csg/specpoin.hpp \
   libsrc/include/../csg/edgeflw.hpp libsrc/include/../csg/meshsurf.hpp
-# 1 "/Users/geuzaine/.gmsh/contrib/Netgen//"
 brick.o: libsrc/csg/brick.cpp libsrc/include/mystdlib.h \
   libsrc/include/linalg.hpp libsrc/include/../linalg/linalg.hpp \
   libsrc/include/myadt.hpp libsrc/include/../general/myadt.hpp \
@@ -2183,7 +2127,6 @@ brick.o: libsrc/csg/brick.cpp libsrc/include/mystdlib.h \
   libsrc/include/../csg/extrusion.hpp \
   libsrc/include/../csg/revolution.hpp libsrc/include/../csg/specpoin.hpp \
   libsrc/include/../csg/edgeflw.hpp libsrc/include/../csg/meshsurf.hpp
-# 1 "/Users/geuzaine/.gmsh/contrib/Netgen//"
 manifold.o: libsrc/csg/manifold.cpp libsrc/include/csg.hpp \
   libsrc/include/../csg/csg.hpp libsrc/include/myadt.hpp \
   libsrc/include/../general/myadt.hpp libsrc/include/mystdlib.h \
@@ -2251,7 +2194,6 @@ manifold.o: libsrc/csg/manifold.cpp libsrc/include/csg.hpp \
   libsrc/include/../csg/extrusion.hpp \
   libsrc/include/../csg/revolution.hpp libsrc/include/../csg/specpoin.hpp \
   libsrc/include/../csg/edgeflw.hpp libsrc/include/../csg/meshsurf.hpp
-# 1 "/Users/geuzaine/.gmsh/contrib/Netgen//"
 bspline2d.o: libsrc/csg/bspline2d.cpp libsrc/include/mystdlib.h \
   libsrc/include/csg.hpp libsrc/include/../csg/csg.hpp \
   libsrc/include/myadt.hpp libsrc/include/../general/myadt.hpp \
@@ -2319,7 +2261,6 @@ bspline2d.o: libsrc/csg/bspline2d.cpp libsrc/include/mystdlib.h \
   libsrc/include/../csg/extrusion.hpp \
   libsrc/include/../csg/revolution.hpp libsrc/include/../csg/specpoin.hpp \
   libsrc/include/../csg/edgeflw.hpp libsrc/include/../csg/meshsurf.hpp
-# 1 "/Users/geuzaine/.gmsh/contrib/Netgen//"
 meshsurf.o: libsrc/csg/meshsurf.cpp libsrc/include/mystdlib.h \
   libsrc/include/csg.hpp libsrc/include/../csg/csg.hpp \
   libsrc/include/myadt.hpp libsrc/include/../general/myadt.hpp \
@@ -2387,7 +2328,6 @@ meshsurf.o: libsrc/csg/meshsurf.cpp libsrc/include/mystdlib.h \
   libsrc/include/../csg/extrusion.hpp \
   libsrc/include/../csg/revolution.hpp libsrc/include/../csg/specpoin.hpp \
   libsrc/include/../csg/edgeflw.hpp libsrc/include/../csg/meshsurf.hpp
-# 1 "/Users/geuzaine/.gmsh/contrib/Netgen//"
 csgeom.o: libsrc/csg/csgeom.cpp libsrc/include/mystdlib.h \
   libsrc/include/myadt.hpp libsrc/include/../general/myadt.hpp \
   libsrc/include/mydefs.hpp libsrc/include/../general/ngexception.hpp \
@@ -2455,7 +2395,6 @@ csgeom.o: libsrc/csg/csgeom.cpp libsrc/include/mystdlib.h \
   libsrc/include/../csg/extrusion.hpp \
   libsrc/include/../csg/revolution.hpp libsrc/include/../csg/specpoin.hpp \
   libsrc/include/../csg/edgeflw.hpp libsrc/include/../csg/meshsurf.hpp
-# 1 "/Users/geuzaine/.gmsh/contrib/Netgen//"
 polyhedra.o: libsrc/csg/polyhedra.cpp libsrc/include/mystdlib.h \
   libsrc/include/linalg.hpp libsrc/include/../linalg/linalg.hpp \
   libsrc/include/myadt.hpp libsrc/include/../general/myadt.hpp \
@@ -2524,7 +2463,6 @@ polyhedra.o: libsrc/csg/polyhedra.cpp libsrc/include/mystdlib.h \
   libsrc/include/../csg/extrusion.hpp \
   libsrc/include/../csg/revolution.hpp libsrc/include/../csg/specpoin.hpp \
   libsrc/include/../csg/edgeflw.hpp libsrc/include/../csg/meshsurf.hpp
-# 1 "/Users/geuzaine/.gmsh/contrib/Netgen//"
 curve2d.o: libsrc/csg/curve2d.cpp libsrc/include/mystdlib.h \
   libsrc/include/myadt.hpp libsrc/include/../general/myadt.hpp \
   libsrc/include/mydefs.hpp libsrc/include/../general/ngexception.hpp \
@@ -2592,7 +2530,6 @@ curve2d.o: libsrc/csg/curve2d.cpp libsrc/include/mystdlib.h \
   libsrc/include/../csg/extrusion.hpp \
   libsrc/include/../csg/revolution.hpp libsrc/include/../csg/specpoin.hpp \
   libsrc/include/../csg/edgeflw.hpp libsrc/include/../csg/meshsurf.hpp
-# 1 "/Users/geuzaine/.gmsh/contrib/Netgen//"
 singularref.o: libsrc/csg/singularref.cpp libsrc/include/mystdlib.h \
   libsrc/include/myadt.hpp libsrc/include/../general/myadt.hpp \
   libsrc/include/mydefs.hpp libsrc/include/../general/ngexception.hpp \
@@ -2660,7 +2597,6 @@ singularref.o: libsrc/csg/singularref.cpp libsrc/include/mystdlib.h \
   libsrc/include/../csg/extrusion.hpp \
   libsrc/include/../csg/revolution.hpp libsrc/include/../csg/specpoin.hpp \
   libsrc/include/../csg/edgeflw.hpp libsrc/include/../csg/meshsurf.hpp
-# 1 "/Users/geuzaine/.gmsh/contrib/Netgen//"
 edgeflw.o: libsrc/csg/edgeflw.cpp libsrc/include/mystdlib.h \
   libsrc/include/meshing.hpp libsrc/include/../meshing/meshing.hpp \
   libsrc/include/myadt.hpp libsrc/include/../general/myadt.hpp \
@@ -2727,7 +2663,6 @@ edgeflw.o: libsrc/csg/edgeflw.cpp libsrc/include/mystdlib.h \
   libsrc/include/../csg/extrusion.hpp \
   libsrc/include/../csg/revolution.hpp libsrc/include/../csg/specpoin.hpp \
   libsrc/include/../csg/edgeflw.hpp libsrc/include/../csg/meshsurf.hpp
-# 1 "/Users/geuzaine/.gmsh/contrib/Netgen//"
 solid.o: libsrc/csg/solid.cpp libsrc/include/mystdlib.h \
   libsrc/include/linalg.hpp libsrc/include/../linalg/linalg.hpp \
   libsrc/include/myadt.hpp libsrc/include/../general/myadt.hpp \
@@ -2796,7 +2731,6 @@ solid.o: libsrc/csg/solid.cpp libsrc/include/mystdlib.h \
   libsrc/include/../csg/extrusion.hpp \
   libsrc/include/../csg/revolution.hpp libsrc/include/../csg/specpoin.hpp \
   libsrc/include/../csg/edgeflw.hpp libsrc/include/../csg/meshsurf.hpp
-# 1 "/Users/geuzaine/.gmsh/contrib/Netgen//"
 explicitcurve2d.o: libsrc/csg/explicitcurve2d.cpp \
   libsrc/include/mystdlib.h libsrc/include/csg.hpp \
   libsrc/include/../csg/csg.hpp libsrc/include/myadt.hpp \
@@ -2865,7 +2799,6 @@ explicitcurve2d.o: libsrc/csg/explicitcurve2d.cpp \
   libsrc/include/../csg/extrusion.hpp \
   libsrc/include/../csg/revolution.hpp libsrc/include/../csg/specpoin.hpp \
   libsrc/include/../csg/edgeflw.hpp libsrc/include/../csg/meshsurf.hpp
-# 1 "/Users/geuzaine/.gmsh/contrib/Netgen//"
 specpoin.o: libsrc/csg/specpoin.cpp libsrc/include/mystdlib.h \
   libsrc/include/meshing.hpp libsrc/include/../meshing/meshing.hpp \
   libsrc/include/myadt.hpp libsrc/include/../general/myadt.hpp \
@@ -2932,7 +2865,6 @@ specpoin.o: libsrc/csg/specpoin.cpp libsrc/include/mystdlib.h \
   libsrc/include/../csg/extrusion.hpp \
   libsrc/include/../csg/revolution.hpp libsrc/include/../csg/specpoin.hpp \
   libsrc/include/../csg/edgeflw.hpp libsrc/include/../csg/meshsurf.hpp
-# 1 "/Users/geuzaine/.gmsh/contrib/Netgen//"
 gencyl.o: libsrc/csg/gencyl.cpp libsrc/include/linalg.hpp \
   libsrc/include/../linalg/linalg.hpp libsrc/include/myadt.hpp \
   libsrc/include/../general/myadt.hpp libsrc/include/mystdlib.h \
@@ -3001,7 +2933,6 @@ gencyl.o: libsrc/csg/gencyl.cpp libsrc/include/linalg.hpp \
   libsrc/include/../csg/extrusion.hpp \
   libsrc/include/../csg/revolution.hpp libsrc/include/../csg/specpoin.hpp \
   libsrc/include/../csg/edgeflw.hpp libsrc/include/../csg/meshsurf.hpp
-# 1 "/Users/geuzaine/.gmsh/contrib/Netgen//"
 revolution.o: libsrc/csg/revolution.cpp libsrc/include/mystdlib.h \
   libsrc/include/linalg.hpp libsrc/include/../linalg/linalg.hpp \
   libsrc/include/myadt.hpp libsrc/include/../general/myadt.hpp \
@@ -3070,7 +3001,6 @@ revolution.o: libsrc/csg/revolution.cpp libsrc/include/mystdlib.h \
   libsrc/include/../csg/extrusion.hpp \
   libsrc/include/../csg/revolution.hpp libsrc/include/../csg/specpoin.hpp \
   libsrc/include/../csg/edgeflw.hpp libsrc/include/../csg/meshsurf.hpp
-# 1 "/Users/geuzaine/.gmsh/contrib/Netgen//"
 genmesh.o: libsrc/csg/genmesh.cpp libsrc/include/mystdlib.h \
   libsrc/include/myadt.hpp libsrc/include/../general/myadt.hpp \
   libsrc/include/mydefs.hpp libsrc/include/../general/ngexception.hpp \
@@ -3138,7 +3068,6 @@ genmesh.o: libsrc/csg/genmesh.cpp libsrc/include/mystdlib.h \
   libsrc/include/../csg/extrusion.hpp \
   libsrc/include/../csg/revolution.hpp libsrc/include/../csg/specpoin.hpp \
   libsrc/include/../csg/edgeflw.hpp libsrc/include/../csg/meshsurf.hpp
-# 1 "/Users/geuzaine/.gmsh/contrib/Netgen//"
 spline3d.o: libsrc/csg/spline3d.cpp libsrc/include/mystdlib.h \
   libsrc/include/myadt.hpp libsrc/include/../general/myadt.hpp \
   libsrc/include/mydefs.hpp libsrc/include/../general/ngexception.hpp \
@@ -3206,7 +3135,6 @@ spline3d.o: libsrc/csg/spline3d.cpp libsrc/include/mystdlib.h \
   libsrc/include/../csg/extrusion.hpp \
   libsrc/include/../csg/revolution.hpp libsrc/include/../csg/specpoin.hpp \
   libsrc/include/../csg/edgeflw.hpp libsrc/include/../csg/meshsurf.hpp
-# 1 "/Users/geuzaine/.gmsh/contrib/Netgen//"
 surface.o: libsrc/csg/surface.cpp libsrc/include/mystdlib.h \
   libsrc/include/myadt.hpp libsrc/include/../general/myadt.hpp \
   libsrc/include/mydefs.hpp libsrc/include/../general/ngexception.hpp \
@@ -3275,7 +3203,6 @@ surface.o: libsrc/csg/surface.cpp libsrc/include/mystdlib.h \
   libsrc/include/../csg/revolution.hpp libsrc/include/../csg/specpoin.hpp \
   libsrc/include/../csg/edgeflw.hpp libsrc/include/../csg/meshsurf.hpp \
   libsrc/include/../linalg/linalg.hpp
-# 1 "/Users/geuzaine/.gmsh/contrib/Netgen//"
 identify.o: libsrc/csg/identify.cpp libsrc/include/mystdlib.h \
   libsrc/include/myadt.hpp libsrc/include/../general/myadt.hpp \
   libsrc/include/mydefs.hpp libsrc/include/../general/ngexception.hpp \
@@ -3343,7 +3270,6 @@ identify.o: libsrc/csg/identify.cpp libsrc/include/mystdlib.h \
   libsrc/include/../csg/extrusion.hpp \
   libsrc/include/../csg/revolution.hpp libsrc/include/../csg/specpoin.hpp \
   libsrc/include/../csg/edgeflw.hpp libsrc/include/../csg/meshsurf.hpp
-# 1 "/Users/geuzaine/.gmsh/contrib/Netgen//"
 triapprox.o: libsrc/csg/triapprox.cpp libsrc/include/mystdlib.h \
   libsrc/include/myadt.hpp libsrc/include/../general/myadt.hpp \
   libsrc/include/mydefs.hpp libsrc/include/../general/ngexception.hpp \
@@ -3411,7 +3337,6 @@ triapprox.o: libsrc/csg/triapprox.cpp libsrc/include/mystdlib.h \
   libsrc/include/../csg/extrusion.hpp \
   libsrc/include/../csg/revolution.hpp libsrc/include/../csg/specpoin.hpp \
   libsrc/include/../csg/edgeflw.hpp libsrc/include/../csg/meshsurf.hpp
-# 1 "/Users/geuzaine/.gmsh/contrib/Netgen//"
 geom2dmesh.o: libsrc/geom2d/geom2dmesh.cpp libsrc/include/mystdlib.h \
   libsrc/include/csg.hpp libsrc/include/../csg/csg.hpp \
   libsrc/include/myadt.hpp libsrc/include/../general/myadt.hpp \
@@ -3483,7 +3408,6 @@ geom2dmesh.o: libsrc/geom2d/geom2dmesh.cpp libsrc/include/mystdlib.h \
   libsrc/include/../gprim/gprim.hpp libsrc/include/../geom2d/spline2d.hpp \
   libsrc/include/../geom2d/splinegeometry2.hpp \
   libsrc/include/../geom2d/geom2dmesh.hpp
-# 1 "/Users/geuzaine/.gmsh/contrib/Netgen//"
 spline2d.o: libsrc/geom2d/spline2d.cpp libsrc/include/mystdlib.h \
   libsrc/include/csg.hpp libsrc/include/../csg/csg.hpp \
   libsrc/include/myadt.hpp libsrc/include/../general/myadt.hpp \
@@ -3552,7 +3476,6 @@ spline2d.o: libsrc/geom2d/spline2d.cpp libsrc/include/mystdlib.h \
   libsrc/include/../csg/revolution.hpp libsrc/include/../csg/specpoin.hpp \
   libsrc/include/../csg/edgeflw.hpp libsrc/include/../csg/meshsurf.hpp \
   libsrc/include/../linalg/linalg.hpp libsrc/geom2d/spline2d.hpp
-# 1 "/Users/geuzaine/.gmsh/contrib/Netgen//"
 splinegeometry2.o: libsrc/geom2d/splinegeometry2.cpp \
   libsrc/include/mystdlib.h libsrc/include/csg.hpp \
   libsrc/include/../csg/csg.hpp libsrc/include/myadt.hpp \
@@ -3623,7 +3546,6 @@ splinegeometry2.o: libsrc/geom2d/splinegeometry2.cpp \
   libsrc/include/../csg/edgeflw.hpp libsrc/include/../csg/meshsurf.hpp \
   libsrc/include/../linalg/linalg.hpp libsrc/geom2d/spline2d.hpp \
   libsrc/geom2d/splinegeometry2.hpp
-# 1 "/Users/geuzaine/.gmsh/contrib/Netgen//"
 genmesh2d.o: libsrc/geom2d/genmesh2d.cpp libsrc/include/mystdlib.h \
   libsrc/include/csg.hpp libsrc/include/../csg/csg.hpp \
   libsrc/include/myadt.hpp libsrc/include/../general/myadt.hpp \
@@ -3695,7 +3617,6 @@ genmesh2d.o: libsrc/geom2d/genmesh2d.cpp libsrc/include/mystdlib.h \
   libsrc/include/../gprim/gprim.hpp libsrc/include/../geom2d/spline2d.hpp \
   libsrc/include/../geom2d/splinegeometry2.hpp \
   libsrc/include/../geom2d/geom2dmesh.hpp
-# 1 "/Users/geuzaine/.gmsh/contrib/Netgen//"
 meshstlsurface.o: libsrc/stlgeom/meshstlsurface.cpp \
   libsrc/include/mystdlib.h libsrc/include/myadt.hpp \
   libsrc/include/../general/myadt.hpp libsrc/include/mydefs.hpp \
@@ -3755,7 +3676,6 @@ meshstlsurface.o: libsrc/stlgeom/meshstlsurface.cpp \
   libsrc/include/../gprim/gprim.hpp libsrc/stlgeom/stltopology.hpp \
   libsrc/stlgeom/stltool.hpp libsrc/stlgeom/stlline.hpp \
   libsrc/stlgeom/meshstlsurface.hpp
-# 1 "/Users/geuzaine/.gmsh/contrib/Netgen//"
 stlline.o: libsrc/stlgeom/stlline.cpp libsrc/include/mystdlib.h \
   libsrc/include/myadt.hpp libsrc/include/../general/myadt.hpp \
   libsrc/include/mydefs.hpp libsrc/include/../general/ngexception.hpp \
@@ -3814,7 +3734,6 @@ stlline.o: libsrc/stlgeom/stlline.cpp libsrc/include/mystdlib.h \
   libsrc/include/../gprim/gprim.hpp libsrc/stlgeom/stltopology.hpp \
   libsrc/stlgeom/stltool.hpp libsrc/stlgeom/stlline.hpp \
   libsrc/stlgeom/meshstlsurface.hpp
-# 1 "/Users/geuzaine/.gmsh/contrib/Netgen//"
 stltopology.o: libsrc/stlgeom/stltopology.cpp libsrc/include/mystdlib.h \
   libsrc/include/myadt.hpp libsrc/include/../general/myadt.hpp \
   libsrc/include/mydefs.hpp libsrc/include/../general/ngexception.hpp \
@@ -3873,7 +3792,6 @@ stltopology.o: libsrc/stlgeom/stltopology.cpp libsrc/include/mystdlib.h \
   libsrc/include/../gprim/gprim.hpp libsrc/stlgeom/stltopology.hpp \
   libsrc/stlgeom/stltool.hpp libsrc/stlgeom/stlline.hpp \
   libsrc/stlgeom/meshstlsurface.hpp
-# 1 "/Users/geuzaine/.gmsh/contrib/Netgen//"
 stltool.o: libsrc/stlgeom/stltool.cpp libsrc/include/mystdlib.h \
   libsrc/include/myadt.hpp libsrc/include/../general/myadt.hpp \
   libsrc/include/mydefs.hpp libsrc/include/../general/ngexception.hpp \
@@ -3932,7 +3850,6 @@ stltool.o: libsrc/stlgeom/stltool.cpp libsrc/include/mystdlib.h \
   libsrc/include/../gprim/gprim.hpp libsrc/stlgeom/stltopology.hpp \
   libsrc/stlgeom/stltool.hpp libsrc/stlgeom/stlline.hpp \
   libsrc/stlgeom/meshstlsurface.hpp
-# 1 "/Users/geuzaine/.gmsh/contrib/Netgen//"
 stlgeom.o: libsrc/stlgeom/stlgeom.cpp libsrc/include/mystdlib.h \
   libsrc/include/myadt.hpp libsrc/include/../general/myadt.hpp \
   libsrc/include/mydefs.hpp libsrc/include/../general/ngexception.hpp \
@@ -3991,7 +3908,6 @@ stlgeom.o: libsrc/stlgeom/stlgeom.cpp libsrc/include/mystdlib.h \
   libsrc/include/../gprim/gprim.hpp libsrc/stlgeom/stltopology.hpp \
   libsrc/stlgeom/stltool.hpp libsrc/stlgeom/stlline.hpp \
   libsrc/stlgeom/meshstlsurface.hpp
-# 1 "/Users/geuzaine/.gmsh/contrib/Netgen//"
 stlgeomchart.o: libsrc/stlgeom/stlgeomchart.cpp libsrc/include/mystdlib.h \
   libsrc/include/myadt.hpp libsrc/include/../general/myadt.hpp \
   libsrc/include/mydefs.hpp libsrc/include/../general/ngexception.hpp \
@@ -4050,7 +3966,6 @@ stlgeomchart.o: libsrc/stlgeom/stlgeomchart.cpp libsrc/include/mystdlib.h \
   libsrc/include/../gprim/gprim.hpp libsrc/stlgeom/stltopology.hpp \
   libsrc/stlgeom/stltool.hpp libsrc/stlgeom/stlline.hpp \
   libsrc/stlgeom/meshstlsurface.hpp
-# 1 "/Users/geuzaine/.gmsh/contrib/Netgen//"
 stlgeommesh.o: libsrc/stlgeom/stlgeommesh.cpp libsrc/include/mystdlib.h \
   libsrc/include/myadt.hpp libsrc/include/../general/myadt.hpp \
   libsrc/include/mydefs.hpp libsrc/include/../general/ngexception.hpp \
@@ -4109,7 +4024,6 @@ stlgeommesh.o: libsrc/stlgeom/stlgeommesh.cpp libsrc/include/mystdlib.h \
   libsrc/include/../gprim/gprim.hpp libsrc/stlgeom/stltopology.hpp \
   libsrc/stlgeom/stltool.hpp libsrc/stlgeom/stlline.hpp \
   libsrc/stlgeom/meshstlsurface.hpp
-# 1 "/Users/geuzaine/.gmsh/contrib/Netgen//"
 moveablemem.o: libsrc/general/moveablemem.cpp libsrc/include/myadt.hpp \
   libsrc/include/../general/myadt.hpp libsrc/include/mystdlib.h \
   libsrc/include/mydefs.hpp libsrc/include/../general/ngexception.hpp \
@@ -4127,7 +4041,6 @@ moveablemem.o: libsrc/general/moveablemem.cpp libsrc/include/myadt.hpp \
   libsrc/include/../general/autoptr.hpp \
   libsrc/include/../general/sort.hpp libsrc/include/../general/stack.hpp \
   libsrc/include/../general/mystring.hpp
-# 1 "/Users/geuzaine/.gmsh/contrib/Netgen//"
 ngexception.o: libsrc/general/ngexception.cpp libsrc/include/myadt.hpp \
   libsrc/include/../general/myadt.hpp libsrc/include/mystdlib.h \
   libsrc/include/mydefs.hpp libsrc/include/../general/ngexception.hpp \
@@ -4145,7 +4058,6 @@ ngexception.o: libsrc/general/ngexception.cpp libsrc/include/myadt.hpp \
   libsrc/include/../general/autoptr.hpp \
   libsrc/include/../general/sort.hpp libsrc/include/../general/stack.hpp \
   libsrc/include/../general/mystring.hpp
-# 1 "/Users/geuzaine/.gmsh/contrib/Netgen//"
 table.o: libsrc/general/table.cpp libsrc/include/mystdlib.h \
   libsrc/include/myadt.hpp libsrc/include/../general/myadt.hpp \
   libsrc/include/mydefs.hpp libsrc/include/../general/ngexception.hpp \
@@ -4163,7 +4075,6 @@ table.o: libsrc/general/table.cpp libsrc/include/mystdlib.h \
   libsrc/include/../general/autoptr.hpp \
   libsrc/include/../general/sort.hpp libsrc/include/../general/stack.hpp \
   libsrc/include/../general/mystring.hpp
-# 1 "/Users/geuzaine/.gmsh/contrib/Netgen//"
 optmem.o: libsrc/general/optmem.cpp libsrc/include/mystdlib.h \
   libsrc/include/myadt.hpp libsrc/include/../general/myadt.hpp \
   libsrc/include/mydefs.hpp libsrc/include/../general/ngexception.hpp \
@@ -4181,7 +4092,6 @@ optmem.o: libsrc/general/optmem.cpp libsrc/include/mystdlib.h \
   libsrc/include/../general/autoptr.hpp \
   libsrc/include/../general/sort.hpp libsrc/include/../general/stack.hpp \
   libsrc/include/../general/mystring.hpp
-# 1 "/Users/geuzaine/.gmsh/contrib/Netgen//"
 spbita2d.o: libsrc/general/spbita2d.cpp libsrc/include/mystdlib.h \
   libsrc/include/myadt.hpp libsrc/include/../general/myadt.hpp \
   libsrc/include/mydefs.hpp libsrc/include/../general/ngexception.hpp \
@@ -4199,7 +4109,6 @@ spbita2d.o: libsrc/general/spbita2d.cpp libsrc/include/mystdlib.h \
   libsrc/include/../general/autoptr.hpp \
   libsrc/include/../general/sort.hpp libsrc/include/../general/stack.hpp \
   libsrc/include/../general/mystring.hpp
-# 1 "/Users/geuzaine/.gmsh/contrib/Netgen//"
 hashtabl.o: libsrc/general/hashtabl.cpp libsrc/include/mystdlib.h \
   libsrc/include/myadt.hpp libsrc/include/../general/myadt.hpp \
   libsrc/include/mydefs.hpp libsrc/include/../general/ngexception.hpp \
@@ -4217,7 +4126,6 @@ hashtabl.o: libsrc/general/hashtabl.cpp libsrc/include/mystdlib.h \
   libsrc/include/../general/autoptr.hpp \
   libsrc/include/../general/sort.hpp libsrc/include/../general/stack.hpp \
   libsrc/include/../general/mystring.hpp
-# 1 "/Users/geuzaine/.gmsh/contrib/Netgen//"
 sort.o: libsrc/general/sort.cpp libsrc/include/mystdlib.h \
   libsrc/include/myadt.hpp libsrc/include/../general/myadt.hpp \
   libsrc/include/mydefs.hpp libsrc/include/../general/ngexception.hpp \
@@ -4235,7 +4143,6 @@ sort.o: libsrc/general/sort.cpp libsrc/include/mystdlib.h \
   libsrc/include/../general/autoptr.hpp \
   libsrc/include/../general/sort.hpp libsrc/include/../general/stack.hpp \
   libsrc/include/../general/mystring.hpp
-# 1 "/Users/geuzaine/.gmsh/contrib/Netgen//"
 flags.o: libsrc/general/flags.cpp libsrc/include/mystdlib.h \
   libsrc/include/myadt.hpp libsrc/include/../general/myadt.hpp \
   libsrc/include/mydefs.hpp libsrc/include/../general/ngexception.hpp \
@@ -4253,7 +4160,6 @@ flags.o: libsrc/general/flags.cpp libsrc/include/mystdlib.h \
   libsrc/include/../general/autoptr.hpp \
   libsrc/include/../general/sort.hpp libsrc/include/../general/stack.hpp \
   libsrc/include/../general/mystring.hpp
-# 1 "/Users/geuzaine/.gmsh/contrib/Netgen//"
 seti.o: libsrc/general/seti.cpp libsrc/include/mystdlib.h \
   libsrc/include/myadt.hpp libsrc/include/../general/myadt.hpp \
   libsrc/include/mydefs.hpp libsrc/include/../general/ngexception.hpp \
@@ -4271,7 +4177,6 @@ seti.o: libsrc/general/seti.cpp libsrc/include/mystdlib.h \
   libsrc/include/../general/autoptr.hpp \
   libsrc/include/../general/sort.hpp libsrc/include/../general/stack.hpp \
   libsrc/include/../general/mystring.hpp
-# 1 "/Users/geuzaine/.gmsh/contrib/Netgen//"
 bitarray.o: libsrc/general/bitarray.cpp libsrc/include/mystdlib.h \
   libsrc/include/myadt.hpp libsrc/include/../general/myadt.hpp \
   libsrc/include/mydefs.hpp libsrc/include/../general/ngexception.hpp \
@@ -4289,7 +4194,6 @@ bitarray.o: libsrc/general/bitarray.cpp libsrc/include/mystdlib.h \
   libsrc/include/../general/autoptr.hpp \
   libsrc/include/../general/sort.hpp libsrc/include/../general/stack.hpp \
   libsrc/include/../general/mystring.hpp
-# 1 "/Users/geuzaine/.gmsh/contrib/Netgen//"
 array.o: libsrc/general/array.cpp libsrc/include/mystdlib.h \
   libsrc/include/myadt.hpp libsrc/include/../general/myadt.hpp \
   libsrc/include/mydefs.hpp libsrc/include/../general/ngexception.hpp \
@@ -4307,7 +4211,6 @@ array.o: libsrc/general/array.cpp libsrc/include/mystdlib.h \
   libsrc/include/../general/autoptr.hpp \
   libsrc/include/../general/sort.hpp libsrc/include/../general/stack.hpp \
   libsrc/include/../general/mystring.hpp
-# 1 "/Users/geuzaine/.gmsh/contrib/Netgen//"
 symbolta.o: libsrc/general/symbolta.cpp libsrc/include/mystdlib.h \
   libsrc/include/myadt.hpp libsrc/include/../general/myadt.hpp \
   libsrc/include/mydefs.hpp libsrc/include/../general/ngexception.hpp \
@@ -4325,7 +4228,6 @@ symbolta.o: libsrc/general/symbolta.cpp libsrc/include/mystdlib.h \
   libsrc/include/../general/autoptr.hpp \
   libsrc/include/../general/sort.hpp libsrc/include/../general/stack.hpp \
   libsrc/include/../general/mystring.hpp
-# 1 "/Users/geuzaine/.gmsh/contrib/Netgen//"
 mystring.o: libsrc/general/mystring.cpp libsrc/include/mystdlib.h \
   libsrc/include/myadt.hpp libsrc/include/../general/myadt.hpp \
   libsrc/include/mydefs.hpp libsrc/include/../general/ngexception.hpp \
@@ -4354,7 +4256,6 @@ mystring.o: libsrc/general/mystring.cpp libsrc/include/mystdlib.h \
   libsrc/include/../gprim/geomtest3d.hpp \
   libsrc/include/../gprim/transform3d.hpp \
   libsrc/include/../gprim/adtree.hpp
-# 1 "/Users/geuzaine/.gmsh/contrib/Netgen//"
 nglib_addon.o: nglib_addon.cpp libsrc/include/meshing.hpp \
   libsrc/include/../meshing/meshing.hpp libsrc/include/myadt.hpp \
   libsrc/include/../general/myadt.hpp libsrc/include/mystdlib.h \
-- 
GitLab