From d8bb2fec417b26c4ae595a92fc345ae94a5f7720 Mon Sep 17 00:00:00 2001
From: Christophe Geuzaine <cgeuzaine@ulg.ac.be>
Date: Mon, 5 Feb 2007 08:59:31 +0000
Subject: [PATCH] polish

---
 Common/Options.cpp    |  4 +-
 Fltk/Callbacks.cpp    | 17 ++++-----
 Graphics/Mesh.cpp     |  7 +++-
 doc/README.occ        | 28 ++++----------
 doc/TODO              | 55 ++++++++++++----------------
 doc/gmsh.html         | 85 +++++++++++++++++++------------------------
 doc/texinfo/gmsh.texi |  6 +--
 7 files changed, 87 insertions(+), 115 deletions(-)

diff --git a/Common/Options.cpp b/Common/Options.cpp
index 534112f0cc..e4518dad72 100644
--- a/Common/Options.cpp
+++ b/Common/Options.cpp
@@ -1,4 +1,4 @@
-// $Id: Options.cpp,v 1.334 2007-01-28 13:56:19 geuzaine Exp $
+// $Id: Options.cpp,v 1.335 2007-02-05 08:59:31 geuzaine Exp $
 //
 // Copyright (C) 1997-2007 C. Geuzaine, J.-F. Remacle
 //
@@ -242,7 +242,7 @@ void Print_Options(int num, int level, int diff, int help, char *filename)
     fprintf(file, "// This file contains configuration options (preferences) that\n");
     fprintf(file, "// are loaded each time Gmsh is launched. You can create this\n");
     fprintf(file, "// file by hand, or let Gmsh generate it for you (with\n");
-    fprintf(file, "// 'Tools->Options->Save as default'). This file can also be\n");
+    fprintf(file, "// 'Tools->Options->Save as defaults'). This file can also be\n");
     fprintf(file, "// automatically saved every time you quit Gmsh if the option\n");
     fprintf(file, "// 'General.SaveOptions' is set.\n");
     fprintf(file, "//\n");
diff --git a/Fltk/Callbacks.cpp b/Fltk/Callbacks.cpp
index ab78ea68bc..257ac30f70 100644
--- a/Fltk/Callbacks.cpp
+++ b/Fltk/Callbacks.cpp
@@ -1,4 +1,4 @@
-// $Id: Callbacks.cpp,v 1.512 2007-01-29 17:16:02 geuzaine Exp $
+// $Id: Callbacks.cpp,v 1.513 2007-02-05 08:59:31 geuzaine Exp $
 //
 // Copyright (C) 1997-2007 C. Geuzaine, J.-F. Remacle
 //
@@ -2497,20 +2497,19 @@ void help_mouse_cb(CALLBACK_ARGS)
   Msg(DIRECT, " ");
   Msg(DIRECT, "Mouse actions:");
   Msg(DIRECT, " ");
-  Msg(DIRECT, "  Move                - Highlight the elementary geometrical entity");
-  Msg(DIRECT, "                        currently under the mouse pointer and display");
-  Msg(DIRECT, "                        its properties in the status bar");
-  Msg(DIRECT, "                      - Resize a lasso zoom/(un)selection");
+  Msg(DIRECT, "  Move                - Highlight the entity under the mouse pointer");
+  Msg(DIRECT, "                        and display its properties in the status bar");
+  Msg(DIRECT, "                      - Resize a lasso zoom or a lasso (un)selection");
   Msg(DIRECT, "  Left button         - Rotate");
   Msg(DIRECT, "                      - Select an entity");
-  Msg(DIRECT, "                      - Accept a lasso zoom/selection"); 
-  Msg(DIRECT, "  Ctrl+Left button    Start a lasso zoom/(un)selection"); 
+  Msg(DIRECT, "                      - Accept a lasso zoom or a lasso selection"); 
+  Msg(DIRECT, "  Ctrl+Left button    Start a lasso zoom or a lasso (un)selection"); 
   Msg(DIRECT, "  Middle button       - Zoom");
   Msg(DIRECT, "                      - Unselect an entity");
-  Msg(DIRECT, "                      - Accept a lasso zoom/unselection");
+  Msg(DIRECT, "                      - Accept a lasso zoom or a lasso unselection");
   Msg(DIRECT, "  Ctrl+Middle button  Orthogonalize display"); 
   Msg(DIRECT, "  Right button        - Pan");
-  Msg(DIRECT, "                      - Cancel a lasso zoom/(un)selection");
+  Msg(DIRECT, "                      - Cancel a lasso zoom or a lasso (un)selection");
   Msg(DIRECT, "                      - Pop-up menu on post-processing view button");
   Msg(DIRECT, "  Ctrl+Right button   Reset to default viewpoint");   
   Msg(DIRECT, " ");   
diff --git a/Graphics/Mesh.cpp b/Graphics/Mesh.cpp
index 571bc78297..7317807c0c 100644
--- a/Graphics/Mesh.cpp
+++ b/Graphics/Mesh.cpp
@@ -1,4 +1,4 @@
-// $Id: Mesh.cpp,v 1.196 2007-01-28 17:26:53 geuzaine Exp $
+// $Id: Mesh.cpp,v 1.197 2007-02-05 08:59:31 geuzaine Exp $
 //
 // Copyright (C) 1997-2007 C. Geuzaine, J.-F. Remacle
 //
@@ -74,7 +74,10 @@ static unsigned int getColorByElement(MElement *ele)
   else if(CTX.mesh.color_carousel == 3){ // by partition
     return CTX.color.mesh.carousel[abs(ele->getPartition() % 20)];
   }
-  else{ // by entity
+  else{ // by elementary or physical entity
+    // this is not perfect (e.g. a triangle can have no vertices
+    // categorized on a surface), but it's the best we can do "fast"
+    // since we don't store the associated entity in the element
     for(int i = 0; i < ele->getNumVertices(); i++){
       GEntity *e = ele->getVertex(i)->onWhat();
       if(e && (e->dim() == ele->getDim()))
diff --git a/doc/README.occ b/doc/README.occ
index 6d80556f58..2b487f18ce 100644
--- a/doc/README.occ
+++ b/doc/README.occ
@@ -44,7 +44,7 @@ How to build OpenCascade 6.1 for Gmsh:
 
 *************************************************************************
 
-MINGW: too many patches to list here: 
+MINGW: 
 
 1) export CC="gcc -mno-cygwin -DWNT=1 -DWIN32"
    export CXX="g++ -mno-cygwin -DWNT=1 -DWIN32"
@@ -54,32 +54,15 @@ MINGW: too many patches to list here:
 
 3) remove ALL the dllimport/dllexport stuff
 
-4) apply same uname patch as for APPLE (see below)
-
-I will try to consolidate all these patches in a single one and submit
-it to the OCC folks, but it's not easy: we must first find a way to
-uniquely identify gcc on mingw.
+4) add __MINGW32__ case in OSD/OSD_Path.cxx (to avoid call to uname())
 
 *************************************************************************
 
 APPLE: 
 
-1) add dummy "malloc.h" in inc/
-
-2) comment out 'uname' stuff in OSD/OSD_Path.cxx
+1) guard all #include<malloc.h> with #ifdef HAVE_MALLOC_H
 
-#else
-/*
-  struct utsname info;
-  uname(&info);
-  cout << info.sysname << endl;
-  cout << info.nodename << endl;
-  cout << info.release << endl;
-  cout << info.version << endl;
-  cout << info.machine << endl;
-*/
-  return OSD_Default;
-}
+2) add __APPLE__ case in OSD/OSD_Path.cxx (to avoid call to uname())
 
 3) IMPORTANT (mmap crashes): add this in Standard/Standard.cxx
 
@@ -91,4 +74,7 @@ APPLE:
 
 *************************************************************************
 
+The above patches have been submitted to the OCC folks. Hopefully they
+will be integrated in their next release.
+
 PS: to strip static libaries of debug symbols, use "strip -S *.a"
diff --git a/doc/TODO b/doc/TODO
index ab6faa4abe..a87cde99fc 100644
--- a/doc/TODO
+++ b/doc/TODO
@@ -1,17 +1,22 @@
-$Id: TODO,v 1.44 2007-02-02 23:50:38 geuzaine Exp $
+$Id: TODO,v 1.45 2007-02-05 08:59:31 geuzaine Exp $
 
 ********************************************************************
 
-when we mesh->edit->delete elements (or maybe when we save meshes)
-we should delete any unused vertices [for akash]
+add parameter to geo transforms to copy the meshes--this would allow
+us to do symmetries and periodic meshes
 
 ********************************************************************
 
-introduce Right/Left/Alternate for extruded meshes
+add transformations on volumes
+
+********************************************************************
+
+when we mesh->edit->delete elements (or maybe when we save meshes)
+we should delete any unused vertices [for akash]
 
 ********************************************************************
 
-fix second order mesh for periodic surfaces
+introduce Right/Left/Alternate for extruded meshes
 
 ********************************************************************
 
@@ -38,10 +43,9 @@ extruded+recombined surfaces to create Transfinite Volumes?
 
 ********************************************************************
 
-BDF todo: 
-- parse CORDxx entries to get coordinate system definitions
-- use them when reading GRID
-- parse GRIDxx for axisym points
+parse CORDxx entries in Nastran files to get coordinate system
+definitions and use them when reading GRID + parse GRIDxx for axisym
+points
 
 ********************************************************************
 
@@ -54,13 +58,16 @@ add Mesh>Edit>Change orientation>Lines & Surfaces
 
 ********************************************************************
 
-- option to fl_beep() when mesh is done
-- warning+error counter (display counters on Exit())
+add option to fl_beep() when mesh is done
+
+********************************************************************
+
+add warning+error counter/buffer (display counter/buffer on Exit())
 
 ********************************************************************
 
-should implement a better algo to determine which axes to draw 
-(cf. mathematica or qwt3dplot)
+implement better algo to determine which axes to draw
+(cf. mathematica)
 
 ********************************************************************
 
@@ -92,10 +99,8 @@ add option to draw "filled isos" using 1D textures?
 
 ********************************************************************
 
-add GUI for 
-
-- translate+rotate extrusions
-- mesh extrusion (layer stuff)
+add GUI for translate+rotate extrusions and for mesh extrusion (layer
+stuff)
 
 ********************************************************************
 
@@ -133,14 +138,6 @@ index-based format)
 
 ********************************************************************
 
-add parameter to transformation operations to copy the meshes
-
-********************************************************************
-
-add transformations on volumes
-
-********************************************************************
-
 add/restore Parametric curve type (use MathEval!)
 
 ********************************************************************
@@ -160,11 +157,7 @@ be solved if we had dynamic labels?)
 
 ********************************************************************
 
-The "Symmetry" operation should be renamed "Reflection" (?)
-
-********************************************************************
-
-Rewrite the View and ColorTable interface in C++
+rewrite the View and ColorTable interface in C++
 
 ********************************************************************
 
@@ -176,7 +169,7 @@ post-processing file format:
 
 ********************************************************************
 
-Create "Volume visualization" range type? (interpolate on regular grid
+create "Volume visualization" range type? (interpolate on regular grid
 + create cut planes // to viewpoint with transparency; can be done in
 a straightforward way or using 3D textures)
 
diff --git a/doc/gmsh.html b/doc/gmsh.html
index 87d870d753..795901f261 100644
--- a/doc/gmsh.html
+++ b/doc/gmsh.html
@@ -120,9 +120,9 @@ Linux and Mac OS X. The tutorial and demo files are included in the
 archives.
 
 <ul>
-<li><a href="/gmsh/bin/Windows/gmsh-2.0.0-Windows.zip">Windows (95/98/NT/2000/XP)</a>
-<li><a href="/gmsh/bin/Linux/gmsh-2.0.0-Linux.tgz">Linux (i386, glibc 2.3 and above)</a> 
-<li><a href="/gmsh/bin/MacOSX/gmsh-2.0.0-MacOSX.tgz">Mac OS X (Intel, 10.4.x)</a>
+<li><a href="/gmsh/bin/Windows/gmsh-2.0.0-Windows.zip">Windows (NT, 2000, XP)</a>
+<li><a href="/gmsh/bin/Linux/gmsh-2.0.0-Linux.tgz">Linux (Intel, glibc 2.3)</a> 
+<li><a href="/gmsh/bin/MacOSX/gmsh-2.0.0-MacOSX.tgz">Mac OS X (Intel, 10.4)</a>
 <li><a href="/gmsh/src/gmsh-2.0.0-source.tgz">Source (all platforms)</a>
     <a href="#build-footnote" name="build-footmark"><sup>2</sup></a>
 </ul>
@@ -132,16 +132,16 @@ Older versions are also still available: <a
 href="/gmsh/src/">sources</a>, <a href="/gmsh/bin/">binaries</a>.
 
 If you use Gmsh, we would appreciate if you could mention it in your
-work (books, articles, reports, etc.).
+work (books, articles, reports, etc.). Cite the web site for now; a
+paper is in preparation, but is not yet ready.
 
 <h2><a name="Authors"></a>Authors and credits</h2>
 
-Gmsh is developed by Christophe Geuzaine (currently with
-the <a href="http://www.ulg.ac.be/">University of Li&egrave;ge</a>)
-and Jean-Fran�ois Remacle (currently with
-the <a href="http://www.ucl.ac.be/">Catholic University of
-Louvain</a>).  The <a href="doc/CREDITS">CREDITS file</a> has more
-information.
+Gmsh is developed by Christophe Geuzaine
+(<a href="http://www.ulg.ac.be/">University of Li&egrave;ge</a>) and
+Jean-Fran�ois Remacle (<a href="http://www.ucl.ac.be/">Catholic
+University of Louvain</a>). The <a href="doc/CREDITS">CREDITS</a> file
+has more information.
 <p>
 Please use <a HREF="mailto:gmsh@geuz.org">gmsh@geuz.org</a> to send
 questions or bug reports.
@@ -149,9 +149,10 @@ questions or bug reports.
 <h2><a name="Licensing"></a>Licensing</h2>
 
 Gmsh is copyright (C) 1997-2007 by C. Geuzaine and J.-F. Remacle and
-is distributed under the terms of the <a
-href="http://www.gnu.org/copyleft/gpl.html">GNU General Public License
-(GPL)</a>.
+is distributed under the terms of
+the <a href="http://www.gnu.org/copyleft/gpl.html">GNU General Public
+License (GPL)</a> (with an exception to allow for easier linking with
+external mesh generators).
 
 <p>
 In short, this means that everyone is free to use Gmsh and to
@@ -177,14 +178,10 @@ thumbnail"></a>
 
 <ul>
 <li>Various screen captures:
-    <a href="/gmsh/gallery/screenshot1.gif">pict1</a> 
-    (<a href="/gmsh/gallery/screenshot1-small.gif">small</a>),
-    <a href="/gmsh/gallery/screenshot2.gif">pict2</a>
-    (<a href="/gmsh/gallery/screenshot2-small.gif">small</a>),
-    <a href="/gmsh/gallery/screenshot3.gif">pict3</a>
-    (<a href="/gmsh/gallery/screenshot3-small.gif">small</a>),
-    <a href="/gmsh/gallery/screenshot4.gif">pict4</a>
-    (<a href="/gmsh/gallery/screenshot4-small.gif">small</a>).
+    <a href="/gmsh/gallery/screenshot1.gif">pict1</a>,
+    <a href="/gmsh/gallery/screenshot2.gif">pict2</a>,
+    <a href="/gmsh/gallery/screenshot3.gif">pict3</a>,
+    <a href="/gmsh/gallery/screenshot4.gif">pict4</a>.
 <li>Sample STEP models:
     <a href="/gmsh/gallery/linkrods.png">pict1</a>,
     <a href="/gmsh/gallery/hammer.png">pict2</a>,
@@ -195,19 +192,25 @@ thumbnail"></a>
 <li>Mesh selection and on-screen info:
     <a href="/gmsh/gallery/select.png">pict1</a>,
     <a href="/gmsh/gallery/runner.png">pict2</a>.
-<li>Mesh cut:
+<li>Mesh cuts and clipping planes:
     <a href="/gmsh/gallery/cut2.png">pict1</a>,
     <a href="/gmsh/gallery/sphere.gif">pict2</a>,
-    <a href="/gmsh/gallery/spiranim.gif">pict3</a>.
-<li>Streamlines:
-    <a href="/gmsh/gallery/f16_stream.jpg">pict1</a>,
-    <a href="/gmsh/gallery/f18_stream.jpg">pict2</a>
-    (P. Geuzaine).
+    <a href="/gmsh/gallery/spiranim.gif">pict3</a>,
+    <a href="/gmsh/gallery/clip1.png">pict4</a>,
+    <a href="/gmsh/gallery/clip2.gif">pict5</a>.
 <li>Lenna as background mesh:
     <a href="/gmsh/gallery/lenna.gif">pict1</a>.
-<li>Turbomachine:
-    <a href="/gmsh/gallery/pressure-ring.png">pict1</a>
-    (P. Geuzaine).
+<li>Mechanical part and log-periodic antenna from the bundled demo files: 
+    <a href="/gmsh/gallery/piece1.gif">pict1</a>, 
+    <a href="/gmsh/gallery/piece2.gif">pict2</a>, 
+    <a href="/gmsh/gallery/piece3.gif">pict3</a>,
+    <a href="/gmsh/gallery/antenna.gif">pict4</a>.
+<li>Various colormaps:
+    <a href="/gmsh/gallery/blob.gif">pict1</a>,
+    <a href="/gmsh/gallery/contact.png">pict2</a>,
+    <a href="/gmsh/gallery/cmap.png">pict3</a>.
+<li>Structured and unstructured grids of an extruded geometry:
+    <a href="/gmsh/gallery/spirale.gif">pict1</a>.
 <li>Parts of a magnetron: 
     <a href="/gmsh/gallery/magnetron1.gif">pict1</a>,
     <a href="/gmsh/gallery/magnetron2.gif">pict2</a>,
@@ -225,31 +228,19 @@ thumbnail"></a>
 <li>Circuit breaker: 
     <a href="/gmsh/gallery/breaker.gif">pict1</a>
     (S. K. Choi).
-<li>Clipping planes:
-    <a href="/gmsh/gallery/clip1.png">pict1</a>,
-    <a href="/gmsh/gallery/clip2.gif">pict2</a>.
-<li>Mechanical part in the demo files: 
-    <a href="/gmsh/gallery/piece1.gif">pict1</a>, 
-    <a href="/gmsh/gallery/piece2.gif">pict2</a>, 
-    <a href="/gmsh/gallery/piece3.gif">pict3</a>.
 <li>Electrical machine:
     <a href="/gmsh/gallery/machine.gif">pict1</a>
     (J. Gyselinck).
-<li>Mach number on a Boeing 747:
-    <a href="/gmsh/gallery/boeing.jpg">pict1</a>
+<li>CFD applications:
+    <a href="/gmsh/gallery/f16_stream.jpg">pict1</a>,
+    <a href="/gmsh/gallery/f18_stream.jpg">pict2</a>,
+    <a href="/gmsh/gallery/pressure-ring.png">pict3</a>,
+    <a href="/gmsh/gallery/boeing.jpg">pict4</a>
     (P. Geuzaine).
-<li>Log-periodic antenna in the demo files:
-    <a href="/gmsh/gallery/antenna.gif">pict1</a>.
 <li>Braids: 
     <a href="/gmsh/gallery/tresse1.gif">pict1</a>,
     <a href="/gmsh/gallery/tresse2.gif">pict2</a>
     (D. Colignon).
-<li>Various colormaps:
-    <a href="/gmsh/gallery/blob.gif">pict1</a>,
-    <a href="/gmsh/gallery/contact.png">pict2</a>,
-    <a href="/gmsh/gallery/cmap.png">pict3</a>.
-<li>Structured and unstructured grids of an extruded geometry:
-    <a href="/gmsh/gallery/spirale.gif">pict1</a>.
 </ul>
 
 <h2><a name="Links"></a>Links</h2>
diff --git a/doc/texinfo/gmsh.texi b/doc/texinfo/gmsh.texi
index 398bf42931..e0d624cbef 100644
--- a/doc/texinfo/gmsh.texi
+++ b/doc/texinfo/gmsh.texi
@@ -1,5 +1,5 @@
 \input texinfo.tex @c -*-texinfo-*-
-@c $Id: gmsh.texi,v 1.227 2007-02-03 00:24:44 geuzaine Exp $
+@c $Id: gmsh.texi,v 1.228 2007-02-05 08:59:31 geuzaine Exp $
 @c
 @c Copyright (C) 1997-2007 C. Geuzaine, J.-F. Remacle
 @c
@@ -2721,8 +2721,8 @@ In the following, for a 2 button mouse, @kbd{Middle button} =
 @kbd{Move the mouse}:
 @itemize @bullet
 @item
-Highlight the elementary geometrical entity currently under the mouse
-pointer and display its properties in the status bar
+Highlight the entity under the mouse pointer and display its properties
+in the status bar
 @item
 Resize a lasso zoom or a lasso selection/unselection started with
 @kbd{Ctrl+Left button}
-- 
GitLab