diff --git a/Box/Makefile b/Box/Makefile
index 4b5f9091bbfd159743f084f86ecdbd5081312d9d..29bdc2d2561fafc7579d9a1e48d107933325332c 100644
--- a/Box/Makefile
+++ b/Box/Makefile
@@ -1,4 +1,4 @@
-# $Id: Makefile,v 1.13 2001-10-29 08:52:19 geuzaine Exp $
+# $Id: Makefile,v 1.14 2001-10-30 09:52:30 geuzaine Exp $
 #
 # Makefile for "libBox.a"
 #
@@ -48,11 +48,13 @@ depend:
 	$(RM) $(RMFLAGS) Makefile.new
 
 # DO NOT DELETE THIS LINE
-Main.o: Main.cpp ../Common/Gmsh.h ../Common/Message.h \
- ../DataStr/Malloc.h ../DataStr/List.h ../DataStr/Tree.h \
- ../DataStr/avl.h ../DataStr/Tools.h ../Common/GmshVersion.h \
- ../Common/Numeric.h ../Geo/Geo.h ../Mesh/Mesh.h ../Mesh/Vertex.h \
- ../Mesh/Simplex.h ../Mesh/Edge.h ../Geo/ExtrudeParams.h \
- ../Mesh/Metric.h ../Common/Views.h ../Common/ColorTable.h \
- ../Parser/Parser.h ../Common/Context.h ../Parser/OpenFile.h \
- ../Common/GetOptions.h ../Geo/MinMax.h ../Common/Static.h
+Main.o: Main.cpp ../Parallel/ParUtil.h ../Plugin/PluginManager.h \
+ ../Common/Gmsh.h ../Common/Message.h ../DataStr/Malloc.h \
+ ../DataStr/List.h ../DataStr/Tree.h ../DataStr/avl.h \
+ ../DataStr/Tools.h ../Common/GmshVersion.h ../Common/Numeric.h \
+ ../Geo/Geo.h ../Mesh/Mesh.h ../Mesh/Vertex.h ../Mesh/Simplex.h \
+ ../Mesh/Edge.h ../Geo/ExtrudeParams.h ../Mesh/Metric.h \
+ ../Mesh/Matrix.h ../Common/Views.h ../Common/ColorTable.h \
+ ../Parser/Parser.h ../Common/Context.h ../Common/Options.h \
+ ../Parser/OpenFile.h ../Common/GetOptions.h ../Geo/MinMax.h \
+ ../Common/Static.h
diff --git a/Common/Makefile b/Common/Makefile
index 6fb6383146cd73d6e0b651c768909886ff11dfaf..ddd628ca0b72eb7c4e4b93003652349ea51a9393 100644
--- a/Common/Makefile
+++ b/Common/Makefile
@@ -1,4 +1,4 @@
-# $Id: Makefile,v 1.29 2001-10-29 08:52:19 geuzaine Exp $
+# $Id: Makefile,v 1.30 2001-10-30 09:52:32 geuzaine Exp $
 #
 # Makefile for "libCommon.a"
 #
@@ -68,32 +68,32 @@ Context.o: Context.cpp Gmsh.h Message.h ../DataStr/Malloc.h \
  ../DataStr/List.h ../DataStr/Tree.h ../DataStr/avl.h \
  ../DataStr/Tools.h Numeric.h ../Geo/Geo.h ../Mesh/Mesh.h \
  ../Mesh/Vertex.h ../Mesh/Simplex.h ../Mesh/Edge.h \
- ../Geo/ExtrudeParams.h ../Mesh/Metric.h ../Graphics/Draw.h \
- ../Common/Views.h ../Common/ColorTable.h Context.h Options.h \
- DefaultOptions.h trackball.c trackball.h
+ ../Geo/ExtrudeParams.h ../Mesh/Metric.h ../Mesh/Matrix.h \
+ ../Graphics/Draw.h ../Common/Views.h ../Common/ColorTable.h Context.h \
+ Options.h DefaultOptions.h trackball.c trackball.h
 Views.o: Views.cpp Gmsh.h Message.h ../DataStr/Malloc.h \
  ../DataStr/List.h ../DataStr/Tree.h ../DataStr/avl.h \
  ../DataStr/Tools.h Numeric.h Views.h ColorTable.h Context.h Options.h
 Iso.o: Iso.cpp Gmsh.h Message.h ../DataStr/Malloc.h ../DataStr/List.h \
  ../DataStr/Tree.h ../DataStr/avl.h ../DataStr/Tools.h ../Mesh/Mesh.h \
  ../Mesh/Vertex.h ../Mesh/Simplex.h ../Mesh/Edge.h \
- ../Geo/ExtrudeParams.h ../Mesh/Metric.h ../Graphics/Draw.h \
- ../Common/Views.h ../Common/ColorTable.h Numeric.h
+ ../Geo/ExtrudeParams.h ../Mesh/Metric.h ../Mesh/Matrix.h \
+ ../Graphics/Draw.h ../Common/Views.h ../Common/ColorTable.h Numeric.h
 Options.o: Options.cpp Gmsh.h Message.h ../DataStr/Malloc.h \
  ../DataStr/List.h ../DataStr/Tree.h ../DataStr/avl.h \
  ../DataStr/Tools.h GmshUI.h ../Geo/Geo.h ../Mesh/Mesh.h \
  ../Mesh/Vertex.h ../Mesh/Simplex.h ../Mesh/Edge.h \
- ../Geo/ExtrudeParams.h ../Mesh/Metric.h ../Graphics/Draw.h \
- ../Common/Views.h ../Common/ColorTable.h Context.h Options.h \
- ../Fltk/Solvers.h ../Fltk/GUI.h ../Fltk/Opengl_Window.h \
+ ../Geo/ExtrudeParams.h ../Mesh/Metric.h ../Mesh/Matrix.h \
+ ../Graphics/Draw.h ../Common/Views.h ../Common/ColorTable.h Context.h \
+ Options.h ../Fltk/Solvers.h ../Fltk/GUI.h ../Fltk/Opengl_Window.h \
  ../Fltk/Colorbar_Window.h
 GetOptions.o: GetOptions.cpp Gmsh.h Message.h ../DataStr/Malloc.h \
  ../DataStr/List.h ../DataStr/Tree.h ../DataStr/avl.h \
  ../DataStr/Tools.h GmshUI.h GmshVersion.h Numeric.h Context.h \
  Options.h ../Geo/Geo.h ../Mesh/Mesh.h ../Mesh/Vertex.h \
  ../Mesh/Simplex.h ../Mesh/Edge.h ../Geo/ExtrudeParams.h \
- ../Mesh/Metric.h Views.h ColorTable.h ../Parser/OpenFile.h \
- ../Parser/Parser.h
+ ../Mesh/Metric.h ../Mesh/Matrix.h Views.h ColorTable.h \
+ ../Parser/OpenFile.h ../Parser/Parser.h
 Timer.o: Timer.cpp
 ColorTable.o: ColorTable.cpp Gmsh.h Message.h ../DataStr/Malloc.h \
  ../DataStr/List.h ../DataStr/Tree.h ../DataStr/avl.h \
diff --git a/Fltk/Makefile b/Fltk/Makefile
index 6220af4c9d83c953a5a9b6b64763ba2a0ad4ce97..c030fd35be4a11e4be42b1efff6f9802daef77a4 100644
--- a/Fltk/Makefile
+++ b/Fltk/Makefile
@@ -1,4 +1,4 @@
-# $Id: Makefile,v 1.27 2001-08-20 08:25:23 geuzaine Exp $
+# $Id: Makefile,v 1.28 2001-10-30 09:52:33 geuzaine Exp $
 #
 # Makefile for "libFltk.a"
 #
@@ -69,10 +69,10 @@ Main.o: Main.cpp ../Plugin/PluginManager.h ../Common/Gmsh.h \
  ../Common/GmshUI.h ../Common/GmshVersion.h ../Geo/Geo.h \
  ../Geo/Verif.h ../Mesh/Mesh.h ../Mesh/Vertex.h ../Mesh/Simplex.h \
  ../Mesh/Edge.h ../Geo/ExtrudeParams.h ../Mesh/Metric.h \
- ../Graphics/Draw.h ../Common/Views.h ../Common/ColorTable.h \
- ../Common/Context.h ../Common/Options.h ../Parser/Parser.h \
- ../Common/Static.h GUI.h Opengl_Window.h Colorbar_Window.h \
- ../Parser/OpenFile.h ../Common/GetOptions.h
+ ../Mesh/Matrix.h ../Graphics/Draw.h ../Common/Views.h \
+ ../Common/ColorTable.h ../Common/Context.h ../Common/Options.h \
+ ../Parser/Parser.h ../Common/Static.h GUI.h Opengl_Window.h \
+ Colorbar_Window.h ../Parser/OpenFile.h ../Common/GetOptions.h
 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 ../Common/GmshUI.h \
@@ -85,35 +85,36 @@ GUI.o: GUI.cpp ../Plugin/PluginManager.h ../Plugin/Plugin.h \
  ../Common/Numeric.h ../Common/GmshVersion.h ../Common/Context.h \
  ../Geo/Geo.h ../Mesh/Mesh.h ../Mesh/Vertex.h ../Mesh/Simplex.h \
  ../Mesh/Edge.h ../Geo/ExtrudeParams.h ../Mesh/Metric.h \
- ../Graphics/Draw.h ../Common/Views.h ../Common/ColorTable.h GUI.h \
- Opengl_Window.h Colorbar_Window.h Callbacks.h ../Common/Bitmaps.h \
- ../Common/Icon.h ../Common/GetOptions.h
+ ../Mesh/Matrix.h ../Graphics/Draw.h ../Common/Views.h \
+ ../Common/ColorTable.h GUI.h Opengl_Window.h Colorbar_Window.h \
+ Callbacks.h ../Common/Bitmaps.h ../Common/Icon.h ../Parser/OpenFile.h \
+ ../Common/GetOptions.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 ../Common/GmshUI.h ../Geo/Geo.h \
  ../Geo/Verif.h ../Mesh/Mesh.h ../Mesh/Vertex.h ../Mesh/Simplex.h \
  ../Mesh/Edge.h ../Geo/ExtrudeParams.h ../Mesh/Metric.h \
- ../Graphics/Draw.h ../Common/Views.h ../Common/ColorTable.h \
- ../Common/Timer.h ../Geo/Visibility.h ../Graphics/CreateFile.h \
- ../Parser/OpenFile.h ../Common/GetOptions.h ../Common/Context.h \
- ../Common/Options.h GUI.h Opengl_Window.h Colorbar_Window.h \
- Callbacks.h ../Plugin/Plugin.h Solvers.h
+ ../Mesh/Matrix.h ../Graphics/Draw.h ../Common/Views.h \
+ ../Common/ColorTable.h ../Common/Timer.h ../Geo/Visibility.h \
+ ../Graphics/CreateFile.h ../Parser/OpenFile.h ../Common/GetOptions.h \
+ ../Common/Context.h ../Common/Options.h GUI.h Opengl_Window.h \
+ Colorbar_Window.h Callbacks.h ../Plugin/Plugin.h Solvers.h
 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 ../Common/GmshUI.h \
  ../Common/Numeric.h ../Common/Context.h ../Geo/Geo.h ../Mesh/Mesh.h \
  ../Mesh/Vertex.h ../Mesh/Simplex.h ../Mesh/Edge.h \
- ../Geo/ExtrudeParams.h ../Mesh/Metric.h ../Graphics/Draw.h \
- ../Common/Views.h ../Common/ColorTable.h GUI.h Opengl_Window.h \
- Colorbar_Window.h ../Graphics/gl2ps.h
+ ../Geo/ExtrudeParams.h ../Mesh/Metric.h ../Mesh/Matrix.h \
+ ../Graphics/Draw.h ../Common/Views.h ../Common/ColorTable.h GUI.h \
+ Opengl_Window.h Colorbar_Window.h ../Graphics/gl2ps.h
 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 \
  ../Common/Numeric.h ../Common/GmshUI.h ../Common/Context.h \
  ../Geo/Geo.h ../Mesh/Mesh.h ../Mesh/Vertex.h ../Mesh/Simplex.h \
  ../Mesh/Edge.h ../Geo/ExtrudeParams.h ../Mesh/Metric.h \
- ../Graphics/Draw.h ../Common/Views.h ../Common/ColorTable.h GUI.h \
- Opengl_Window.h Colorbar_Window.h
+ ../Mesh/Matrix.h ../Graphics/Draw.h ../Common/Views.h \
+ ../Common/ColorTable.h GUI.h Opengl_Window.h Colorbar_Window.h
 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 \
@@ -126,5 +127,5 @@ Solvers.o: Solvers.cpp ../Common/Gmsh.h ../Common/Message.h \
  Solvers.h ../Common/GmshUI.h GUI.h Opengl_Window.h Colorbar_Window.h \
  ../Common/ColorTable.h ../Mesh/Mesh.h ../Mesh/Vertex.h \
  ../Mesh/Simplex.h ../Mesh/Edge.h ../Geo/ExtrudeParams.h \
- ../Mesh/Metric.h ../Graphics/Draw.h ../Common/Views.h \
- ../Common/Context.h
+ ../Mesh/Metric.h ../Mesh/Matrix.h ../Graphics/Draw.h \
+ ../Common/Views.h ../Common/Context.h
diff --git a/Geo/Makefile b/Geo/Makefile
index d809e7ea2fda378a7abab5d306842920e5caf30a..55c893a837b31f68276835cec75be47b97cdd5d2 100644
--- a/Geo/Makefile
+++ b/Geo/Makefile
@@ -1,4 +1,4 @@
-# $Id: Makefile,v 1.26 2001-10-29 08:52:19 geuzaine Exp $
+# $Id: Makefile,v 1.27 2001-10-30 09:52:34 geuzaine Exp $
 #
 # Makefile for "libGeo.a"
 #
@@ -61,14 +61,14 @@ CAD.o: CAD.cpp ../Common/Gmsh.h ../Common/Message.h \
  ../DataStr/Malloc.h ../DataStr/List.h ../DataStr/Tree.h \
  ../DataStr/avl.h ../DataStr/Tools.h ../Common/Numeric.h Geo.h \
  ../Mesh/Mesh.h ../Mesh/Vertex.h ../Mesh/Simplex.h ../Mesh/Edge.h \
- ../Geo/ExtrudeParams.h ../Mesh/Metric.h DataBase.h \
+ ../Geo/ExtrudeParams.h ../Mesh/Metric.h ../Mesh/Matrix.h DataBase.h \
  ../Mesh/Interpolation.h ../Mesh/Create.h CAD.h ../Common/Context.h
 DataBase.o: DataBase.cpp ../Common/Gmsh.h ../Common/Message.h \
  ../DataStr/Malloc.h ../DataStr/List.h ../DataStr/Tree.h \
  ../DataStr/avl.h ../DataStr/Tools.h ../Common/Numeric.h Geo.h \
  ../Mesh/Mesh.h ../Mesh/Vertex.h ../Mesh/Simplex.h ../Mesh/Edge.h \
- ../Geo/ExtrudeParams.h ../Mesh/Metric.h CAD.h ../Mesh/Create.h \
- Verif.h ../Common/Context.h
+ ../Geo/ExtrudeParams.h ../Mesh/Metric.h ../Mesh/Matrix.h CAD.h \
+ ../Mesh/Create.h Verif.h ../Common/Context.h
 MinMax.o: MinMax.cpp ../Common/Gmsh.h ../Common/Message.h \
  ../DataStr/Malloc.h ../DataStr/List.h ../DataStr/Tree.h \
  ../DataStr/avl.h ../DataStr/Tools.h ../Common/Numeric.h \
@@ -77,13 +77,14 @@ ExtrudeParams.o: ExtrudeParams.cpp ../Common/Gmsh.h \
  ../Common/Message.h ../DataStr/Malloc.h ../DataStr/List.h \
  ../DataStr/Tree.h ../DataStr/avl.h ../DataStr/Tools.h Geo.h CAD.h \
  ../Mesh/Mesh.h ../Mesh/Vertex.h ../Mesh/Simplex.h ../Mesh/Edge.h \
- ../Geo/ExtrudeParams.h ../Mesh/Metric.h ExtrudeParams.h
+ ../Geo/ExtrudeParams.h ../Mesh/Metric.h ../Mesh/Matrix.h \
+ ExtrudeParams.h
 Geo.o: Geo.cpp ../Common/Gmsh.h ../Common/Message.h \
  ../DataStr/Malloc.h ../DataStr/List.h ../DataStr/Tree.h \
  ../DataStr/avl.h ../DataStr/Tools.h ../Common/Numeric.h Geo.h CAD.h \
  ../Mesh/Mesh.h ../Mesh/Vertex.h ../Mesh/Simplex.h ../Mesh/Edge.h \
- ../Geo/ExtrudeParams.h ../Mesh/Metric.h DataBase.h ../Parser/Parser.h \
- ../Common/Context.h
+ ../Geo/ExtrudeParams.h ../Mesh/Metric.h ../Mesh/Matrix.h DataBase.h \
+ ../Parser/Parser.h ../Common/Context.h
 StepGeomDatabase.o: StepGeomDatabase.cpp ../Common/Gmsh.h \
  ../Common/Message.h ../DataStr/Malloc.h ../DataStr/List.h \
  ../DataStr/Tree.h ../DataStr/avl.h ../DataStr/Tools.h \
@@ -93,14 +94,15 @@ Verif.o: Verif.cpp ../Common/Gmsh.h ../Common/Message.h \
  ../DataStr/Malloc.h ../DataStr/List.h ../DataStr/Tree.h \
  ../DataStr/avl.h ../DataStr/Tools.h Geo.h CAD.h ../Mesh/Mesh.h \
  ../Mesh/Vertex.h ../Mesh/Simplex.h ../Mesh/Edge.h \
- ../Geo/ExtrudeParams.h ../Mesh/Metric.h DataBase.h
+ ../Geo/ExtrudeParams.h ../Mesh/Metric.h ../Mesh/Matrix.h DataBase.h
 Visibility.o: Visibility.cpp ../Common/Gmsh.h ../Common/Message.h \
  ../DataStr/Malloc.h ../DataStr/List.h ../DataStr/Tree.h \
  ../DataStr/avl.h ../DataStr/Tools.h Geo.h CAD.h ../Mesh/Mesh.h \
  ../Mesh/Vertex.h ../Mesh/Simplex.h ../Mesh/Edge.h \
- ../Geo/ExtrudeParams.h ../Mesh/Metric.h DataBase.h
+ ../Geo/ExtrudeParams.h ../Mesh/Metric.h ../Mesh/Matrix.h DataBase.h
 Print_Geo.o: Print_Geo.cpp ../Common/Gmsh.h ../Common/Message.h \
  ../DataStr/Malloc.h ../DataStr/List.h ../DataStr/Tree.h \
  ../DataStr/avl.h ../DataStr/Tools.h Geo.h ../Mesh/Mesh.h \
  ../Mesh/Vertex.h ../Mesh/Simplex.h ../Mesh/Edge.h \
- ../Geo/ExtrudeParams.h ../Mesh/Metric.h CAD.h ../Common/Context.h
+ ../Geo/ExtrudeParams.h ../Mesh/Metric.h ../Mesh/Matrix.h CAD.h \
+ ../Common/Context.h
diff --git a/Graphics/Makefile b/Graphics/Makefile
index 7a19e07813e4093b490cb0d29274c2b951389e9b..5825149057eb6f6794dfd6c38fc7c63d537b7453 100644
--- a/Graphics/Makefile
+++ b/Graphics/Makefile
@@ -1,4 +1,4 @@
-# $Id: Makefile,v 1.32 2001-10-29 08:52:19 geuzaine Exp $
+# $Id: Makefile,v 1.33 2001-10-30 09:52:36 geuzaine Exp $
 #
 # Makefile for "libGraphics.a"
 #
@@ -73,70 +73,82 @@ Draw.o: Draw.cpp ../Common/Gmsh.h ../Common/Message.h \
  ../DataStr/Malloc.h ../DataStr/List.h ../DataStr/Tree.h \
  ../DataStr/avl.h ../DataStr/Tools.h ../Common/GmshUI.h ../Geo/Geo.h \
  ../Mesh/Mesh.h ../Mesh/Vertex.h ../Mesh/Simplex.h ../Mesh/Edge.h \
- ../Geo/ExtrudeParams.h ../Mesh/Metric.h Draw.h ../Common/Views.h \
- ../Common/ColorTable.h ../Common/Context.h ../Geo/MinMax.h
+ ../Geo/ExtrudeParams.h ../Mesh/Metric.h ../Mesh/Matrix.h Draw.h \
+ ../Common/Views.h ../Common/ColorTable.h ../Common/Context.h \
+ ../Geo/MinMax.h
 Mesh.o: Mesh.cpp ../Common/Gmsh.h ../Common/Message.h \
  ../DataStr/Malloc.h ../DataStr/List.h ../DataStr/Tree.h \
  ../DataStr/avl.h ../DataStr/Tools.h ../Common/GmshUI.h ../Geo/Geo.h \
  ../Mesh/Mesh.h ../Mesh/Vertex.h ../Mesh/Simplex.h ../Mesh/Edge.h \
- ../Geo/ExtrudeParams.h ../Mesh/Metric.h Draw.h ../Common/Views.h \
- ../Common/ColorTable.h ../Common/Context.h ../Geo/MinMax.h gl2ps.h \
- ../Geo/Verif.h ../Common/Numeric.h ../Geo/Visibility.h
+ ../Geo/ExtrudeParams.h ../Mesh/Metric.h ../Mesh/Matrix.h Draw.h \
+ ../Common/Views.h ../Common/ColorTable.h ../Common/Context.h \
+ ../Geo/MinMax.h gl2ps.h ../Geo/Verif.h ../Common/Numeric.h \
+ ../Geo/Visibility.h
 Geom.o: Geom.cpp ../Common/Gmsh.h ../Common/Message.h \
  ../DataStr/Malloc.h ../DataStr/List.h ../DataStr/Tree.h \
  ../DataStr/avl.h ../DataStr/Tools.h ../Common/GmshUI.h \
  ../Common/Numeric.h ../Geo/Geo.h ../Mesh/Mesh.h ../Mesh/Vertex.h \
  ../Mesh/Simplex.h ../Mesh/Edge.h ../Geo/ExtrudeParams.h \
- ../Mesh/Metric.h ../Mesh/Utils.h Draw.h ../Common/Views.h \
- ../Common/ColorTable.h ../Common/Context.h ../Geo/Verif.h \
- ../Mesh/Interpolation.h ../Geo/Visibility.h ../Mesh/STL.h gl2ps.h
+ ../Mesh/Metric.h ../Mesh/Matrix.h ../Mesh/Utils.h Draw.h \
+ ../Common/Views.h ../Common/ColorTable.h ../Common/Context.h \
+ ../Geo/Verif.h ../Mesh/Interpolation.h ../Geo/Visibility.h \
+ ../Mesh/STL.h gl2ps.h
 Post.o: Post.cpp ../Common/Gmsh.h ../Common/Message.h \
  ../DataStr/Malloc.h ../DataStr/List.h ../DataStr/Tree.h \
  ../DataStr/avl.h ../DataStr/Tools.h ../Common/GmshUI.h \
  ../Common/Numeric.h ../Geo/Geo.h ../Mesh/Mesh.h ../Mesh/Vertex.h \
  ../Mesh/Simplex.h ../Mesh/Edge.h ../Geo/ExtrudeParams.h \
- ../Mesh/Metric.h Draw.h ../Common/Views.h ../Common/ColorTable.h \
- ../Common/Context.h gl2ps.h
+ ../Mesh/Metric.h ../Mesh/Matrix.h Draw.h ../Common/Views.h \
+ ../Common/ColorTable.h ../Common/Context.h gl2ps.h
 PostSimplex.o: PostSimplex.cpp ../Common/Gmsh.h ../Common/Message.h \
  ../DataStr/Malloc.h ../DataStr/List.h ../DataStr/Tree.h \
  ../DataStr/avl.h ../DataStr/Tools.h ../Common/GmshUI.h ../Geo/Geo.h \
  ../Mesh/Mesh.h ../Mesh/Vertex.h ../Mesh/Simplex.h ../Mesh/Edge.h \
- ../Geo/ExtrudeParams.h ../Mesh/Metric.h Draw.h ../Common/Views.h \
- ../Common/ColorTable.h ../Common/Iso.h IsoSimplex.h \
+ ../Geo/ExtrudeParams.h ../Mesh/Metric.h ../Mesh/Matrix.h Draw.h \
+ ../Common/Views.h ../Common/ColorTable.h ../Common/Iso.h IsoSimplex.h \
  ../Common/Context.h ../Common/Numeric.h
 IsoSimplex.o: IsoSimplex.cpp ../Common/Gmsh.h ../Common/Message.h \
  ../DataStr/Malloc.h ../DataStr/List.h ../DataStr/Tree.h \
  ../DataStr/avl.h ../DataStr/Tools.h ../Common/GmshUI.h ../Geo/Geo.h \
  ../Mesh/Mesh.h ../Mesh/Vertex.h ../Mesh/Simplex.h ../Mesh/Edge.h \
- ../Geo/ExtrudeParams.h ../Mesh/Metric.h Draw.h ../Common/Views.h \
- ../Common/ColorTable.h ../Common/Iso.h ../Common/Context.h \
- ../Common/Numeric.h
+ ../Geo/ExtrudeParams.h ../Mesh/Metric.h ../Mesh/Matrix.h Draw.h \
+ ../Common/Views.h ../Common/ColorTable.h ../Common/Iso.h \
+ ../Common/Context.h ../Common/Numeric.h
 Entity.o: Entity.cpp ../Common/Gmsh.h ../Common/Message.h \
  ../DataStr/Malloc.h ../DataStr/List.h ../DataStr/Tree.h \
  ../DataStr/avl.h ../DataStr/Tools.h ../Common/GmshUI.h \
  ../Common/Numeric.h ../Mesh/Mesh.h ../Mesh/Vertex.h ../Mesh/Simplex.h \
- ../Mesh/Edge.h ../Geo/ExtrudeParams.h ../Mesh/Metric.h Draw.h \
- ../Common/Views.h ../Common/ColorTable.h ../Common/Context.h
+ ../Mesh/Edge.h ../Geo/ExtrudeParams.h ../Mesh/Metric.h \
+ ../Mesh/Matrix.h Draw.h ../Common/Views.h ../Common/ColorTable.h \
+ ../Common/Context.h
 Scale.o: Scale.cpp ../Common/Gmsh.h ../Common/Message.h \
  ../DataStr/Malloc.h ../DataStr/List.h ../DataStr/Tree.h \
  ../DataStr/avl.h ../DataStr/Tools.h ../Common/GmshUI.h \
  ../Common/Numeric.h ../Mesh/Mesh.h ../Mesh/Vertex.h ../Mesh/Simplex.h \
- ../Mesh/Edge.h ../Geo/ExtrudeParams.h ../Mesh/Metric.h Draw.h \
- ../Common/Views.h ../Common/ColorTable.h ../Common/Context.h
+ ../Mesh/Edge.h ../Geo/ExtrudeParams.h ../Mesh/Metric.h \
+ ../Mesh/Matrix.h Draw.h ../Common/Views.h ../Common/ColorTable.h \
+ ../Common/Context.h gl2ps.h
+Graph2D.o: Graph2D.cpp ../Common/Gmsh.h ../Common/Message.h \
+ ../DataStr/Malloc.h ../DataStr/List.h ../DataStr/Tree.h \
+ ../DataStr/avl.h ../DataStr/Tools.h ../Common/GmshUI.h \
+ ../Common/Context.h ../Common/Numeric.h ../Mesh/Mesh.h \
+ ../Mesh/Vertex.h ../Mesh/Simplex.h ../Mesh/Edge.h \
+ ../Geo/ExtrudeParams.h ../Mesh/Metric.h ../Mesh/Matrix.h Draw.h \
+ ../Common/Views.h ../Common/ColorTable.h gl2ps.h
 Axes.o: Axes.cpp ../Common/Gmsh.h ../Common/Message.h \
  ../DataStr/Malloc.h ../DataStr/List.h ../DataStr/Tree.h \
  ../DataStr/avl.h ../DataStr/Tools.h ../Common/GmshUI.h \
  ../Common/Numeric.h ../Mesh/Mesh.h ../Mesh/Vertex.h ../Mesh/Simplex.h \
- ../Mesh/Edge.h ../Geo/ExtrudeParams.h ../Mesh/Metric.h Draw.h \
- ../Common/Views.h ../Common/ColorTable.h ../Common/Context.h gl2ps.h
+ ../Mesh/Edge.h ../Geo/ExtrudeParams.h ../Mesh/Metric.h \
+ ../Mesh/Matrix.h Draw.h ../Common/Views.h ../Common/ColorTable.h \
+ ../Common/Context.h gl2ps.h
 CreateFile.o: CreateFile.cpp ../Common/Gmsh.h ../Common/Message.h \
  ../DataStr/Malloc.h ../DataStr/List.h ../DataStr/Tree.h \
  ../DataStr/avl.h ../DataStr/Tools.h ../Common/GmshUI.h ../Mesh/Mesh.h \
  ../Mesh/Vertex.h ../Mesh/Simplex.h ../Mesh/Edge.h \
- ../Geo/ExtrudeParams.h ../Mesh/Metric.h ../Parser/OpenFile.h Draw.h \
- ../Common/Views.h ../Common/ColorTable.h ../Common/Context.h \
- gl2ps.h gl2gif.h \
- gl2jpeg.h gl2ppm.h gl2yuv.h
+ ../Geo/ExtrudeParams.h ../Mesh/Metric.h ../Mesh/Matrix.h \
+ ../Parser/OpenFile.h Draw.h ../Common/Views.h ../Common/ColorTable.h \
+ ../Common/Context.h gl2ps.h gl2gif.h gl2jpeg.h gl2ppm.h gl2yuv.h
 gl2ps.o: gl2ps.cpp ../Common/Gmsh.h ../Common/Message.h \
  ../DataStr/Malloc.h ../DataStr/List.h ../DataStr/Tree.h \
  ../DataStr/avl.h ../DataStr/Tools.h ../Common/GmshUI.h gl2ps.h
diff --git a/Mesh/Makefile b/Mesh/Makefile
index 50329491df1f5bb746d88e2795c1b41cc9909cf3..05ae27597c42c560ae170f6359b7fb7db62030f5 100644
--- a/Mesh/Makefile
+++ b/Mesh/Makefile
@@ -1,4 +1,4 @@
-# $Id: Makefile,v 1.32 2001-10-29 08:52:20 geuzaine Exp $
+# $Id: Makefile,v 1.33 2001-10-30 09:52:37 geuzaine Exp $
 #
 # Makefile for "libMesh.a"
 #
@@ -95,207 +95,222 @@ depend:
  ../DataStr/Malloc.h ../DataStr/List.h ../DataStr/Tree.h \
  ../DataStr/avl.h ../DataStr/Tools.h ../Common/Numeric.h ../Geo/Geo.h \
  Mesh.h Vertex.h Simplex.h Edge.h ../Geo/ExtrudeParams.h Metric.h \
- Utils.h ../Common/Context.h Interpolation.h
+ Matrix.h Utils.h ../Common/Context.h Interpolation.h
 2D_Mesh.o: 2D_Mesh.cpp ../Common/Gmsh.h ../Common/Message.h \
  ../DataStr/Malloc.h ../DataStr/List.h ../DataStr/Tree.h \
  ../DataStr/avl.h ../DataStr/Tools.h ../Common/Numeric.h ../Geo/Geo.h \
  ../Geo/CAD.h ../Mesh/Mesh.h ../Mesh/Vertex.h ../Mesh/Simplex.h \
- ../Mesh/Edge.h ../Geo/ExtrudeParams.h ../Mesh/Metric.h Mesh.h Utils.h \
- Create.h 2D_Mesh.h ../Common/Context.h
+ ../Mesh/Edge.h ../Geo/ExtrudeParams.h ../Mesh/Metric.h \
+ ../Mesh/Matrix.h Mesh.h Utils.h Create.h 2D_Mesh.h \
+ ../Common/Context.h
 2D_SMesh.o: 2D_SMesh.cpp ../Common/Gmsh.h ../Common/Message.h \
  ../DataStr/Malloc.h ../DataStr/List.h ../DataStr/Tree.h \
  ../DataStr/avl.h ../DataStr/Tools.h ../Geo/Geo.h Mesh.h Vertex.h \
- Simplex.h Edge.h ../Geo/ExtrudeParams.h Metric.h ../Common/Numeric.h \
- Interpolation.h
+ Simplex.h Edge.h ../Geo/ExtrudeParams.h Metric.h Matrix.h \
+ ../Common/Numeric.h Interpolation.h
 2D_Elliptic.o: 2D_Elliptic.cpp ../Common/Gmsh.h ../Common/Message.h \
  ../DataStr/Malloc.h ../DataStr/List.h ../DataStr/Tree.h \
  ../DataStr/avl.h ../DataStr/Tools.h ../Common/Numeric.h ../Geo/Geo.h \
  ../Geo/CAD.h ../Mesh/Mesh.h ../Mesh/Vertex.h ../Mesh/Simplex.h \
- ../Mesh/Edge.h ../Geo/ExtrudeParams.h ../Mesh/Metric.h Mesh.h
+ ../Mesh/Edge.h ../Geo/ExtrudeParams.h ../Mesh/Metric.h \
+ ../Mesh/Matrix.h Mesh.h
 2D_BGMesh.o: 2D_BGMesh.cpp ../Common/Gmsh.h ../Common/Message.h \
  ../DataStr/Malloc.h ../DataStr/List.h ../DataStr/Tree.h \
  ../DataStr/avl.h ../DataStr/Tools.h ../Common/Numeric.h Mesh.h \
- Vertex.h Simplex.h Edge.h ../Geo/ExtrudeParams.h Metric.h 2D_Mesh.h
+ Vertex.h Simplex.h Edge.h ../Geo/ExtrudeParams.h Metric.h Matrix.h \
+ 2D_Mesh.h
 2D_Recombine.o: 2D_Recombine.cpp ../Common/Gmsh.h ../Common/Message.h \
  ../DataStr/Malloc.h ../DataStr/List.h ../DataStr/Tree.h \
  ../DataStr/avl.h ../DataStr/Tools.h ../Common/Numeric.h Mesh.h \
- Vertex.h Simplex.h Edge.h ../Geo/ExtrudeParams.h Metric.h Utils.h \
- 2D_Mesh.h Create.h ../Common/Context.h
+ Vertex.h Simplex.h Edge.h ../Geo/ExtrudeParams.h Metric.h Matrix.h \
+ Utils.h 2D_Mesh.h Create.h ../Common/Context.h
 2D_InitMesh.o: 2D_InitMesh.cpp ../Common/Gmsh.h ../Common/Message.h \
  ../DataStr/Malloc.h ../DataStr/List.h ../DataStr/Tree.h \
  ../DataStr/avl.h ../DataStr/Tools.h ../Common/Numeric.h Mesh.h \
- Vertex.h Simplex.h Edge.h ../Geo/ExtrudeParams.h Metric.h 2D_Mesh.h
+ Vertex.h Simplex.h Edge.h ../Geo/ExtrudeParams.h Metric.h Matrix.h \
+ 2D_Mesh.h
 2D_Bowyer.o: 2D_Bowyer.cpp ../Common/Gmsh.h ../Common/Message.h \
  ../DataStr/Malloc.h ../DataStr/List.h ../DataStr/Tree.h \
  ../DataStr/avl.h ../DataStr/Tools.h ../Common/Numeric.h Mesh.h \
- Vertex.h Simplex.h Edge.h ../Geo/ExtrudeParams.h Metric.h 2D_Mesh.h
+ Vertex.h Simplex.h Edge.h ../Geo/ExtrudeParams.h Metric.h Matrix.h \
+ 2D_Mesh.h
 2D_Bricks.o: 2D_Bricks.cpp ../Common/Gmsh.h ../Common/Message.h \
  ../DataStr/Malloc.h ../DataStr/List.h ../DataStr/Tree.h \
  ../DataStr/avl.h ../DataStr/Tools.h ../Common/Numeric.h Mesh.h \
- Vertex.h Simplex.h Edge.h ../Geo/ExtrudeParams.h Metric.h 2D_Mesh.h
+ Vertex.h Simplex.h Edge.h ../Geo/ExtrudeParams.h Metric.h Matrix.h \
+ 2D_Mesh.h
 2D_DivAndConq.o: 2D_DivAndConq.cpp ../Common/Gmsh.h \
  ../Common/Message.h ../DataStr/Malloc.h ../DataStr/List.h \
  ../DataStr/Tree.h ../DataStr/avl.h ../DataStr/Tools.h \
  ../Common/Numeric.h Mesh.h Vertex.h Simplex.h Edge.h \
- ../Geo/ExtrudeParams.h Metric.h 2D_Mesh.h
+ ../Geo/ExtrudeParams.h Metric.h Matrix.h 2D_Mesh.h
 2D_Util.o: 2D_Util.cpp ../Common/Gmsh.h ../Common/Message.h \
  ../DataStr/Malloc.h ../DataStr/List.h ../DataStr/Tree.h \
  ../DataStr/avl.h ../DataStr/Tools.h ../Common/Numeric.h Mesh.h \
- Vertex.h Simplex.h Edge.h ../Geo/ExtrudeParams.h Metric.h 2D_Mesh.h \
- ../Common/Context.h
+ Vertex.h Simplex.h Edge.h ../Geo/ExtrudeParams.h Metric.h Matrix.h \
+ 2D_Mesh.h ../Common/Context.h
 2D_Links.o: 2D_Links.cpp ../Common/Gmsh.h ../Common/Message.h \
  ../DataStr/Malloc.h ../DataStr/List.h ../DataStr/Tree.h \
  ../DataStr/avl.h ../DataStr/Tools.h ../Common/Numeric.h Mesh.h \
- Vertex.h Simplex.h Edge.h ../Geo/ExtrudeParams.h Metric.h 2D_Mesh.h
+ Vertex.h Simplex.h Edge.h ../Geo/ExtrudeParams.h Metric.h Matrix.h \
+ 2D_Mesh.h
 2D_Tree.o: 2D_Tree.cpp ../Common/Gmsh.h ../Common/Message.h \
  ../DataStr/Malloc.h ../DataStr/List.h ../DataStr/Tree.h \
  ../DataStr/avl.h ../DataStr/Tools.h Mesh.h Vertex.h Simplex.h Edge.h \
- ../Geo/ExtrudeParams.h Metric.h 2D_Mesh.h
+ ../Geo/ExtrudeParams.h Metric.h Matrix.h 2D_Mesh.h
 2D_Cylindrical.o: 2D_Cylindrical.cpp ../Common/Gmsh.h \
  ../Common/Message.h ../DataStr/Malloc.h ../DataStr/List.h \
  ../DataStr/Tree.h ../DataStr/avl.h ../DataStr/Tools.h \
  ../Common/Numeric.h Mesh.h Vertex.h Simplex.h Edge.h \
- ../Geo/ExtrudeParams.h Metric.h ../Common/Context.h
+ ../Geo/ExtrudeParams.h Metric.h Matrix.h ../Common/Context.h
 2D_Parametric.o: 2D_Parametric.cpp ../Common/Gmsh.h \
  ../Common/Message.h ../DataStr/Malloc.h ../DataStr/List.h \
  ../DataStr/Tree.h ../DataStr/avl.h ../DataStr/Tools.h \
  ../Common/Numeric.h ../Geo/Geo.h ../Geo/CAD.h ../Mesh/Mesh.h \
  ../Mesh/Vertex.h ../Mesh/Simplex.h ../Mesh/Edge.h \
- ../Geo/ExtrudeParams.h ../Mesh/Metric.h Interpolation.h Mesh.h \
- 2D_Mesh.h Create.h ../Common/Context.h
+ ../Geo/ExtrudeParams.h ../Mesh/Metric.h ../Mesh/Matrix.h \
+ Interpolation.h Mesh.h 2D_Mesh.h Create.h ../Common/Context.h
 2D_Mesh_Aniso.o: 2D_Mesh_Aniso.cpp ../Common/Gmsh.h \
  ../Common/Message.h ../DataStr/Malloc.h ../DataStr/List.h \
  ../DataStr/Tree.h ../DataStr/avl.h ../DataStr/Tools.h \
  ../Common/Numeric.h ../Geo/Geo.h ../Geo/CAD.h ../Mesh/Mesh.h \
  ../Mesh/Vertex.h ../Mesh/Simplex.h ../Mesh/Edge.h \
- ../Geo/ExtrudeParams.h ../Mesh/Metric.h Mesh.h Interpolation.h \
- Create.h ../Common/Context.h
+ ../Geo/ExtrudeParams.h ../Mesh/Metric.h ../Mesh/Matrix.h Mesh.h \
+ Interpolation.h Create.h ../Common/Context.h
+2D_Mesh_Shewchuk.o: 2D_Mesh_Shewchuk.cpp ../Common/Gmsh.h \
+ ../Common/Message.h ../DataStr/Malloc.h ../DataStr/List.h \
+ ../DataStr/Tree.h ../DataStr/avl.h ../DataStr/Tools.h Mesh.h Vertex.h \
+ Simplex.h Edge.h ../Geo/ExtrudeParams.h Metric.h Matrix.h \
+ ../Common/Numeric.h ../Common/Context.h ../Triangle/triangle.h
 3D_Mesh.o: 3D_Mesh.cpp ../Common/Gmsh.h ../Common/Message.h \
  ../DataStr/Malloc.h ../DataStr/List.h ../DataStr/Tree.h \
  ../DataStr/avl.h ../DataStr/Tools.h ../Common/Numeric.h Mesh.h \
- Vertex.h Simplex.h Edge.h ../Geo/ExtrudeParams.h Metric.h 3D_Mesh.h \
- Create.h ../Common/Context.h
+ Vertex.h Simplex.h Edge.h ../Geo/ExtrudeParams.h Metric.h Matrix.h \
+ 3D_Mesh.h Create.h ../Common/Context.h
 3D_SMesh.o: 3D_SMesh.cpp ../Common/Gmsh.h ../Common/Message.h \
  ../DataStr/Malloc.h ../DataStr/List.h ../DataStr/Tree.h \
  ../DataStr/avl.h ../DataStr/Tools.h Mesh.h Vertex.h Simplex.h Edge.h \
- ../Geo/ExtrudeParams.h Metric.h Interpolation.h Create.h
+ ../Geo/ExtrudeParams.h Metric.h Matrix.h Interpolation.h Create.h
 3D_BGMesh.o: 3D_BGMesh.cpp ../Common/Gmsh.h ../Common/Message.h \
  ../DataStr/Malloc.h ../DataStr/List.h ../DataStr/Tree.h \
  ../DataStr/avl.h ../DataStr/Tools.h Mesh.h Vertex.h Simplex.h Edge.h \
- ../Geo/ExtrudeParams.h Metric.h 2D_Mesh.h 3D_Mesh.h ../Adapt/Adapt.h \
- ../Common/Views.h ../Common/ColorTable.h ../Common/Numeric.h \
- ../Common/Context.h
+ ../Geo/ExtrudeParams.h Metric.h Matrix.h 2D_Mesh.h 3D_Mesh.h \
+ ../Adapt/Adapt.h ../Common/Views.h ../Common/ColorTable.h \
+ ../Common/Numeric.h ../Common/Context.h
 3D_Extrude.o: 3D_Extrude.cpp ../Common/Gmsh.h ../Common/Message.h \
  ../DataStr/Malloc.h ../DataStr/List.h ../DataStr/Tree.h \
  ../DataStr/avl.h ../DataStr/Tools.h ../Common/Numeric.h ../Geo/Geo.h \
  ../Geo/CAD.h ../Mesh/Mesh.h ../Mesh/Vertex.h ../Mesh/Simplex.h \
- ../Mesh/Edge.h ../Geo/ExtrudeParams.h ../Mesh/Metric.h Mesh.h \
- ../Common/Context.h Create.h
+ ../Mesh/Edge.h ../Geo/ExtrudeParams.h ../Mesh/Metric.h \
+ ../Mesh/Matrix.h Mesh.h ../Common/Context.h Create.h
 3D_Extrude_Old.o: 3D_Extrude_Old.cpp ../Common/Gmsh.h \
  ../Common/Message.h ../DataStr/Malloc.h ../DataStr/List.h \
  ../DataStr/Tree.h ../DataStr/avl.h ../DataStr/Tools.h \
  ../Common/Numeric.h ../Geo/Geo.h ../Geo/CAD.h ../Mesh/Mesh.h \
  ../Mesh/Vertex.h ../Mesh/Simplex.h ../Mesh/Edge.h \
- ../Geo/ExtrudeParams.h ../Mesh/Metric.h Mesh.h ../Common/Context.h \
- Create.h
+ ../Geo/ExtrudeParams.h ../Mesh/Metric.h ../Mesh/Matrix.h Mesh.h \
+ ../Common/Context.h Create.h
 3D_Coherence.o: 3D_Coherence.cpp ../Common/Gmsh.h ../Common/Message.h \
  ../DataStr/Malloc.h ../DataStr/List.h ../DataStr/Tree.h \
  ../DataStr/avl.h ../DataStr/Tools.h ../Common/Numeric.h ../Geo/Geo.h \
  Mesh.h Vertex.h Simplex.h Edge.h ../Geo/ExtrudeParams.h Metric.h \
- 3D_Mesh.h Create.h
+ Matrix.h 3D_Mesh.h Create.h
 3D_Divide.o: 3D_Divide.cpp ../Common/Gmsh.h ../Common/Message.h \
  ../DataStr/Malloc.h ../DataStr/List.h ../DataStr/Tree.h \
  ../DataStr/avl.h ../DataStr/Tools.h ../Common/Numeric.h Mesh.h \
- Vertex.h Simplex.h Edge.h ../Geo/ExtrudeParams.h Metric.h
+ Vertex.h Simplex.h Edge.h ../Geo/ExtrudeParams.h Metric.h Matrix.h
 3D_Bricks.o: 3D_Bricks.cpp ../Common/Gmsh.h ../Common/Message.h \
  ../DataStr/Malloc.h ../DataStr/List.h ../DataStr/Tree.h \
  ../DataStr/avl.h ../DataStr/Tools.h ../Common/Numeric.h Mesh.h \
- Vertex.h Simplex.h Edge.h ../Geo/ExtrudeParams.h Metric.h
+ Vertex.h Simplex.h Edge.h ../Geo/ExtrudeParams.h Metric.h Matrix.h
 MeshQuality.o: MeshQuality.cpp ../Common/Gmsh.h ../Common/Message.h \
  ../DataStr/Malloc.h ../DataStr/List.h ../DataStr/Tree.h \
  ../DataStr/avl.h ../DataStr/Tools.h ../Common/Numeric.h Mesh.h \
- Vertex.h Simplex.h Edge.h ../Geo/ExtrudeParams.h Metric.h
+ Vertex.h Simplex.h Edge.h ../Geo/ExtrudeParams.h Metric.h Matrix.h
 Create.o: Create.cpp ../Common/Gmsh.h ../Common/Message.h \
  ../DataStr/Malloc.h ../DataStr/List.h ../DataStr/Tree.h \
  ../DataStr/avl.h ../DataStr/Tools.h ../Common/Numeric.h ../Geo/Geo.h \
  ../Geo/CAD.h ../Mesh/Mesh.h ../Mesh/Vertex.h ../Mesh/Simplex.h \
- ../Mesh/Edge.h ../Geo/ExtrudeParams.h ../Mesh/Metric.h Mesh.h Utils.h \
- ../Common/Context.h Create.h
+ ../Mesh/Edge.h ../Geo/ExtrudeParams.h ../Mesh/Metric.h \
+ ../Mesh/Matrix.h Mesh.h Utils.h ../Common/Context.h Create.h
 Generator.o: Generator.cpp ../Common/Gmsh.h ../Common/Message.h \
  ../DataStr/Malloc.h ../DataStr/List.h ../DataStr/Tree.h \
  ../DataStr/avl.h ../DataStr/Tools.h ../Common/Numeric.h Mesh.h \
- Vertex.h Simplex.h Edge.h ../Geo/ExtrudeParams.h Metric.h Create.h \
- ../Common/Context.h ../Parser/OpenFile.h
+ Vertex.h Simplex.h Edge.h ../Geo/ExtrudeParams.h Metric.h Matrix.h \
+ Create.h ../Common/Context.h ../Parser/OpenFile.h
 Print_Mesh.o: Print_Mesh.cpp ../Common/Gmsh.h ../Common/Message.h \
  ../DataStr/Malloc.h ../DataStr/List.h ../DataStr/Tree.h \
  ../DataStr/avl.h ../DataStr/Tools.h ../Common/Numeric.h ../Geo/Geo.h \
  ../Geo/CAD.h ../Mesh/Mesh.h ../Mesh/Vertex.h ../Mesh/Simplex.h \
- ../Mesh/Edge.h ../Geo/ExtrudeParams.h ../Mesh/Metric.h Mesh.h \
- Create.h ../Common/Context.h
+ ../Mesh/Edge.h ../Geo/ExtrudeParams.h ../Mesh/Metric.h \
+ ../Mesh/Matrix.h Mesh.h Create.h ../Common/Context.h
 Read_Mesh.o: Read_Mesh.cpp ../Common/Gmsh.h ../Common/Message.h \
  ../DataStr/Malloc.h ../DataStr/List.h ../DataStr/Tree.h \
  ../DataStr/avl.h ../DataStr/Tools.h ../Geo/Geo.h Mesh.h Vertex.h \
- Simplex.h Edge.h ../Geo/ExtrudeParams.h Metric.h 3D_Mesh.h Create.h \
- ../Geo/MinMax.h ../Common/Context.h
+ Simplex.h Edge.h ../Geo/ExtrudeParams.h Metric.h Matrix.h 3D_Mesh.h \
+ Create.h ../Geo/MinMax.h ../Common/Context.h
 STL.o: STL.cpp ../Common/Gmsh.h ../Common/Message.h \
  ../DataStr/Malloc.h ../DataStr/List.h ../DataStr/Tree.h \
  ../DataStr/avl.h ../DataStr/Tools.h Mesh.h Vertex.h Simplex.h Edge.h \
- ../Geo/ExtrudeParams.h Metric.h STL.h
+ ../Geo/ExtrudeParams.h Metric.h Matrix.h STL.h
 SMS.o: SMS.cpp ../Common/Gmsh.h ../Common/Message.h \
  ../DataStr/Malloc.h ../DataStr/List.h ../DataStr/Tree.h \
  ../DataStr/avl.h ../DataStr/Tools.h ../Geo/Geo.h Mesh.h Vertex.h \
- Simplex.h Edge.h ../Geo/ExtrudeParams.h Metric.h Create.h \
+ Simplex.h Edge.h ../Geo/ExtrudeParams.h Metric.h Matrix.h Create.h \
  ../Geo/MinMax.h ../Geo/CAD.h ../Mesh/Mesh.h ../Common/Context.h
 SwapEdge.o: SwapEdge.cpp ../Common/Gmsh.h ../Common/Message.h \
  ../DataStr/Malloc.h ../DataStr/List.h ../DataStr/Tree.h \
  ../DataStr/avl.h ../DataStr/Tools.h ../Common/Numeric.h Mesh.h \
- Vertex.h Simplex.h Edge.h ../Geo/ExtrudeParams.h Metric.h \
+ Vertex.h Simplex.h Edge.h ../Geo/ExtrudeParams.h Metric.h Matrix.h \
  SwapPatterns.h
 Utils.o: Utils.cpp ../Common/Gmsh.h ../Common/Message.h \
  ../DataStr/Malloc.h ../DataStr/List.h ../DataStr/Tree.h \
  ../DataStr/avl.h ../DataStr/Tools.h ../Common/Numeric.h ../Geo/Geo.h \
  ../Geo/CAD.h ../Mesh/Mesh.h ../Mesh/Vertex.h ../Mesh/Simplex.h \
- ../Mesh/Edge.h ../Geo/ExtrudeParams.h ../Mesh/Metric.h Mesh.h \
- Interpolation.h ../Adapt/nrutil.h ../Common/Context.h
+ ../Mesh/Edge.h ../Geo/ExtrudeParams.h ../Mesh/Metric.h \
+ ../Mesh/Matrix.h Mesh.h Interpolation.h ../Adapt/nrutil.h \
+ ../Common/Context.h
 Metric.o: Metric.cpp ../Common/Gmsh.h ../Common/Message.h \
  ../DataStr/Malloc.h ../DataStr/List.h ../DataStr/Tree.h \
  ../DataStr/avl.h ../DataStr/Tools.h ../Common/Numeric.h ../Geo/Geo.h \
  ../Geo/CAD.h ../Mesh/Mesh.h ../Mesh/Vertex.h ../Mesh/Simplex.h \
- ../Mesh/Edge.h ../Geo/ExtrudeParams.h ../Mesh/Metric.h Mesh.h \
- Matrix.h Interpolation.h
+ ../Mesh/Edge.h ../Geo/ExtrudeParams.h ../Mesh/Metric.h \
+ ../Mesh/Matrix.h Mesh.h Matrix.h Interpolation.h
 Nurbs.o: Nurbs.cpp ../Common/Gmsh.h ../Common/Message.h \
  ../DataStr/Malloc.h ../DataStr/List.h ../DataStr/Tree.h \
  ../DataStr/avl.h ../DataStr/Tools.h Mesh.h Vertex.h Simplex.h Edge.h \
- ../Geo/ExtrudeParams.h Metric.h
+ ../Geo/ExtrudeParams.h Metric.h Matrix.h
 Interpolation.o: Interpolation.cpp ../Common/Gmsh.h \
  ../Common/Message.h ../DataStr/Malloc.h ../DataStr/List.h \
  ../DataStr/Tree.h ../DataStr/avl.h ../DataStr/Tools.h \
  ../Common/Numeric.h ../Geo/Geo.h ../Geo/CAD.h ../Mesh/Mesh.h \
  ../Mesh/Vertex.h ../Mesh/Simplex.h ../Mesh/Edge.h \
- ../Geo/ExtrudeParams.h ../Mesh/Metric.h Mesh.h Utils.h \
- Interpolation.h
+ ../Geo/ExtrudeParams.h ../Mesh/Metric.h ../Mesh/Matrix.h Mesh.h \
+ Utils.h Interpolation.h
 SecondOrder.o: SecondOrder.cpp ../Common/Gmsh.h ../Common/Message.h \
  ../DataStr/Malloc.h ../DataStr/List.h ../DataStr/Tree.h \
  ../DataStr/avl.h ../DataStr/Tools.h ../Geo/Geo.h Mesh.h Vertex.h \
- Simplex.h Edge.h ../Geo/ExtrudeParams.h Metric.h Utils.h \
+ Simplex.h Edge.h ../Geo/ExtrudeParams.h Metric.h Matrix.h Utils.h \
  Interpolation.h ../Common/Numeric.h
 Smoothing.o: Smoothing.cpp ../Common/Gmsh.h ../Common/Message.h \
  ../DataStr/Malloc.h ../DataStr/List.h ../DataStr/Tree.h \
  ../DataStr/avl.h ../DataStr/Tools.h ../Common/Numeric.h Mesh.h \
- Vertex.h Simplex.h Edge.h ../Geo/ExtrudeParams.h Metric.h
+ Vertex.h Simplex.h Edge.h ../Geo/ExtrudeParams.h Metric.h Matrix.h
 CrossData.o: CrossData.cpp ../Common/Gmsh.h ../Common/Message.h \
  ../DataStr/Malloc.h ../DataStr/List.h ../DataStr/Tree.h \
  ../DataStr/avl.h ../DataStr/Tools.h Mesh.h Vertex.h Simplex.h Edge.h \
- ../Geo/ExtrudeParams.h Metric.h
+ ../Geo/ExtrudeParams.h Metric.h Matrix.h
 Vertex.o: Vertex.cpp ../Common/Gmsh.h ../Common/Message.h \
  ../DataStr/Malloc.h ../DataStr/List.h ../DataStr/Tree.h \
- ../DataStr/avl.h ../DataStr/Tools.h Vertex.h ../Common/Context.h
+ ../DataStr/avl.h ../DataStr/Tools.h ../Common/Numeric.h Vertex.h \
+ Mesh.h Simplex.h Edge.h ../Geo/ExtrudeParams.h Metric.h Matrix.h \
+ ../Common/Context.h
 Edge.o: Edge.cpp ../Common/Gmsh.h ../Common/Message.h \
  ../DataStr/Malloc.h ../DataStr/List.h ../DataStr/Tree.h \
  ../DataStr/avl.h ../DataStr/Tools.h ../Common/Numeric.h Mesh.h \
- Vertex.h Simplex.h Edge.h ../Geo/ExtrudeParams.h Metric.h
+ Vertex.h Simplex.h Edge.h ../Geo/ExtrudeParams.h Metric.h Matrix.h
 Simplex.o: Simplex.cpp ../Common/Gmsh.h ../Common/Message.h \
  ../DataStr/Malloc.h ../DataStr/List.h ../DataStr/Tree.h \
  ../DataStr/avl.h ../DataStr/Tools.h ../Common/Numeric.h ../Geo/Geo.h \
  Mesh.h Vertex.h Simplex.h Edge.h ../Geo/ExtrudeParams.h Metric.h \
- ../Common/Context.h
+ Matrix.h ../Common/Context.h
diff --git a/Parallel/Makefile b/Parallel/Makefile
index 04c4fa5973b9999e9a84c06f4617cf6b735aee81..52825380c3a1e058d7156a072c5d121db7bdb52b 100644
--- a/Parallel/Makefile
+++ b/Parallel/Makefile
@@ -1,4 +1,4 @@
-# $Id: Makefile,v 1.5 2001-08-20 08:25:24 geuzaine Exp $
+# $Id: Makefile,v 1.6 2001-10-30 09:52:38 geuzaine Exp $
 #
 # Makefile for "libParallel.a"
 #
@@ -45,3 +45,4 @@ depend:
 	$(RM) $(RMFLAGS) Makefile.new
 
 # DO NOT DELETE THIS LINE
+ParUtil.o: ParUtil.cpp ParUtil.h
diff --git a/Parser/Makefile b/Parser/Makefile
index eca475cc51d114b75bfc1b67ee2cdd698848558e..405ec894305a04349220a56b4ebffc515fd0ab7b 100644
--- a/Parser/Makefile
+++ b/Parser/Makefile
@@ -1,4 +1,4 @@
-# $Id: Makefile,v 1.32 2001-10-29 08:52:21 geuzaine Exp $
+# $Id: Makefile,v 1.33 2001-10-30 09:52:39 geuzaine Exp $
 #
 # Makefile for "libParser.a"
 #
@@ -67,24 +67,28 @@ Gmsh.yy.o: Gmsh.yy.cpp ../Common/Gmsh.h ../Common/Message.h \
  ../DataStr/Malloc.h ../DataStr/List.h ../DataStr/Tree.h \
  ../DataStr/avl.h ../DataStr/Tools.h ../Common/Numeric.h ../Geo/Geo.h \
  ../Geo/CAD.h ../Mesh/Mesh.h ../Mesh/Vertex.h ../Mesh/Simplex.h \
- ../Mesh/Edge.h ../Geo/ExtrudeParams.h ../Mesh/Metric.h Gmsh.tab.cpp.h
+ ../Mesh/Edge.h ../Geo/ExtrudeParams.h ../Mesh/Metric.h \
+ ../Mesh/Matrix.h Gmsh.tab.cpp.h
 Gmsh.tab.o: Gmsh.tab.cpp ../Plugin/PluginManager.h \
  ../Parallel/ParUtil.h ../Common/Gmsh.h ../Common/Message.h \
  ../DataStr/Malloc.h ../DataStr/List.h ../DataStr/Tree.h \
  ../DataStr/avl.h ../DataStr/Tools.h ../Common/Numeric.h \
  ../Common/Context.h ../Geo/Geo.h ../Geo/CAD.h ../Mesh/Mesh.h \
  ../Mesh/Vertex.h ../Mesh/Simplex.h ../Mesh/Edge.h \
- ../Geo/ExtrudeParams.h ../Mesh/Metric.h ../Geo/DataBase.h \
- ../Graphics/Draw.h ../Common/Views.h ../Common/ColorTable.h \
- ../Mesh/Create.h ../Geo/StepGeomDatabase.h ../Common/Options.h \
- ../Common/Colors.h Parser.h OpenFile.h FunctionManager.h \
- ../Common/Timer.h ../Graphics/CreateFile.h ../Mesh/STL.h
+ ../Geo/ExtrudeParams.h ../Mesh/Metric.h ../Mesh/Matrix.h \
+ ../Geo/DataBase.h ../Graphics/Draw.h ../Common/Views.h \
+ ../Common/ColorTable.h ../Mesh/Create.h ../Geo/StepGeomDatabase.h \
+ ../Common/Options.h ../Common/Colors.h Parser.h OpenFile.h \
+ FunctionManager.h ../Common/Timer.h ../Graphics/CreateFile.h \
+ ../Mesh/STL.h
 OpenFile.o: OpenFile.cpp ../Common/Gmsh.h ../Common/Message.h \
  ../DataStr/Malloc.h ../DataStr/List.h ../DataStr/Tree.h \
  ../DataStr/avl.h ../DataStr/Tools.h ../Common/Numeric.h \
  ../Common/Context.h Parser.h OpenFile.h ../Common/GetOptions.h \
  ../Geo/Geo.h ../Mesh/Mesh.h ../Mesh/Vertex.h ../Mesh/Simplex.h \
  ../Mesh/Edge.h ../Geo/ExtrudeParams.h ../Mesh/Metric.h \
- ../Common/Views.h ../Common/ColorTable.h ../Geo/MinMax.h \
- ../Geo/Visibility.h ../Common/GmshUI.h ../Graphics/Draw.h
+ ../Mesh/Matrix.h ../Common/Views.h ../Common/ColorTable.h \
+ ../Geo/MinMax.h ../Geo/Visibility.h ../Common/GmshUI.h \
+ ../Graphics/Draw.h ../Fltk/GUI.h ../Fltk/Opengl_Window.h \
+ ../Fltk/Colorbar_Window.h
 FunctionManager.o: FunctionManager.cpp FunctionManager.h
diff --git a/Plugin/Makefile b/Plugin/Makefile
index c1762de639f90bdaad9fdbfdb4ed65ef85f4d924..85a28768edd7a1d549d5d98a53d84ec562cb69c4 100644
--- a/Plugin/Makefile
+++ b/Plugin/Makefile
@@ -1,4 +1,4 @@
-# $Id: Makefile,v 1.19 2001-10-25 07:22:46 geuzaine Exp $
+# $Id: Makefile,v 1.20 2001-10-30 09:52:40 geuzaine Exp $
 #
 # Makefile for "libAdapt.a"
 #
@@ -56,22 +56,34 @@ depend:
 # DO NOT DELETE THIS LINE
 Plugin.o: Plugin.cpp Plugin.h ../Common/Options.h ../Common/Message.h \
  PluginManager.h CutMap.h LevelsetPlugin.h CutPlane.h CutSphere.h \
- Skin.h Smooth.h Transform.h
+ Skin.h Smooth.h Transform.h Triangulate.h
 LevelsetPlugin.o: LevelsetPlugin.cpp LevelsetPlugin.h Plugin.h \
  ../Common/Options.h ../Common/Message.h ../DataStr/List.h \
  ../Common/Views.h ../Common/ColorTable.h ../Common/Iso.h \
  ../Common/Numeric.h
 CutPlane.o: CutPlane.cpp CutPlane.h LevelsetPlugin.h Plugin.h \
- ../Common/Options.h ../Common/Message.h ../DataStr/List.h
+ ../Common/Options.h ../Common/Message.h ../DataStr/List.h \
+ ../Common/Context.h
 CutSphere.o: CutSphere.cpp CutSphere.h LevelsetPlugin.h Plugin.h \
- ../Common/Options.h ../Common/Message.h ../DataStr/List.h
+ ../Common/Options.h ../Common/Message.h ../DataStr/List.h \
+ ../Common/Context.h
 CutMap.o: CutMap.cpp CutMap.h LevelsetPlugin.h Plugin.h \
- ../Common/Options.h ../Common/Message.h ../DataStr/List.h
+ ../Common/Options.h ../Common/Message.h ../DataStr/List.h \
+ ../Common/Context.h
 Smooth.o: Smooth.cpp Plugin.h ../Common/Options.h ../Common/Message.h \
- Smooth.h ../DataStr/List.h ../Common/Views.h ../Common/ColorTable.h
+ Smooth.h ../DataStr/List.h ../Common/Views.h ../Common/ColorTable.h \
+ ../Common/Context.h
 Transform.o: Transform.cpp Plugin.h ../Common/Options.h \
  ../Common/Message.h Transform.h ../DataStr/List.h ../Common/Views.h \
- ../Common/ColorTable.h
+ ../Common/ColorTable.h ../Common/Context.h
+Triangulate.o: Triangulate.cpp ../Common/Gmsh.h ../Common/Message.h \
+ ../DataStr/Malloc.h ../DataStr/List.h ../DataStr/Tree.h \
+ ../DataStr/avl.h ../DataStr/Tools.h Plugin.h ../Common/Options.h \
+ Triangulate.h ../Common/Views.h ../Common/ColorTable.h \
+ ../Common/Context.h ../Geo/Geo.h ../Mesh/Mesh.h ../Mesh/Vertex.h \
+ ../Mesh/Simplex.h ../Mesh/Edge.h ../Geo/ExtrudeParams.h \
+ ../Mesh/Metric.h ../Mesh/Matrix.h ../Mesh/Utils.h ../Mesh/Create.h \
+ ../Triangle/triangle.h
 Skin.o: Skin.cpp Plugin.h ../Common/Options.h ../Common/Message.h \
  Skin.h ../DataStr/List.h ../DataStr/Tree.h ../DataStr/avl.h \
  ../Common/Views.h ../Common/ColorTable.h ../Common/Context.h \