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è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è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