From 59f25c1a4f8774b24a4c663aca6e66995f925cd4 Mon Sep 17 00:00:00 2001
From: Christophe Geuzaine <cgeuzaine@ulg.ac.be>
Date: Tue, 26 Oct 2004 01:04:53 +0000
Subject: [PATCH] The new "External data source" option makes the "Vector
 type->Raised view" unnecessary. Just select "Vector type->Displacement" and
 choose the data source from any other view in the list--including "Self"!

---
 Common/Options.cpp       |  5 +----
 Common/Views.h           | 34 ++++++++++++++++------------------
 Fltk/Callbacks.cpp       |  5 +----
 Fltk/GUI.cpp             |  3 +--
 Graphics/PostElement.cpp | 21 +++++++--------------
 doc/FAQ                  | 12 ++++++------
 doc/VERSIONS             | 15 +++++++--------
 7 files changed, 39 insertions(+), 56 deletions(-)

diff --git a/Common/Options.cpp b/Common/Options.cpp
index b79101415d..aafd143168 100644
--- a/Common/Options.cpp
+++ b/Common/Options.cpp
@@ -1,4 +1,4 @@
-// $Id: Options.cpp,v 1.195 2004-10-26 00:43:21 geuzaine Exp $
+// $Id: Options.cpp,v 1.196 2004-10-26 01:04:50 geuzaine Exp $
 //
 // Copyright (C) 1997-2004 C. Geuzaine, J.-F. Remacle
 //
@@ -5176,9 +5176,6 @@ double opt_view_vector_type(OPT_ARGS_NUM)
     case DRAW_POST_DISPLACEMENT:
       WID->view_choice[2]->value(4);
       break;
-    case DRAW_POST_DISPLACEMENT_EXTERNAL:
-      WID->view_choice[2]->value(5);
-      break;
     case DRAW_POST_ARROW3D:
     default:
       WID->view_choice[2]->value(3);
diff --git a/Common/Views.h b/Common/Views.h
index 5f85da4c41..24131cc2fe 100644
--- a/Common/Views.h
+++ b/Common/Views.h
@@ -196,33 +196,31 @@ class Post_View{
 // levels of accuracy. 
 
 
-
 // Type
 #define DRAW_POST_3D       1
 #define DRAW_POST_2D_SPACE 2
 #define DRAW_POST_2D_TIME  3
 
 // IntervalsType
-#define DRAW_POST_ISO          1
-#define DRAW_POST_CONTINUOUS   2
-#define DRAW_POST_DISCRETE     3
-#define DRAW_POST_NUMERIC      4
+#define DRAW_POST_ISO        1
+#define DRAW_POST_CONTINUOUS 2
+#define DRAW_POST_DISCRETE   3
+#define DRAW_POST_NUMERIC    4
 
 // VectorType
-#define DRAW_POST_SEGMENT               1
-#define DRAW_POST_ARROW                 2
-#define DRAW_POST_PYRAMID               3
-#define DRAW_POST_ARROW3D               4
-#define DRAW_POST_DISPLACEMENT          5
-#define DRAW_POST_DISPLACEMENT_EXTERNAL 6
+#define DRAW_POST_SEGMENT      1
+#define DRAW_POST_ARROW        2
+#define DRAW_POST_PYRAMID      3
+#define DRAW_POST_ARROW3D      4
+#define DRAW_POST_DISPLACEMENT 5
 
 // ArrowLocation
-#define DRAW_POST_LOCATE_COG     1
-#define DRAW_POST_LOCATE_VERTEX  2
+#define DRAW_POST_LOCATE_COG    1
+#define DRAW_POST_LOCATE_VERTEX 2
 
 // TensorType
-#define DRAW_POST_VONMISES      0
-#define DRAW_POST_EIGENVECTORS  1
+#define DRAW_POST_VONMISES     0
+#define DRAW_POST_EIGENVECTORS 1
 
 // RangeType
 #define DRAW_POST_RANGE_DEFAULT  1
@@ -230,9 +228,9 @@ class Post_View{
 #define DRAW_POST_RANGE_PER_STEP 3
 
 // ScaleType
-#define DRAW_POST_LINEAR             1
-#define DRAW_POST_LOGARITHMIC        2
-#define DRAW_POST_DOUBLELOGARITHMIC  3 // for vorticity e.g.
+#define DRAW_POST_LINEAR            1
+#define DRAW_POST_LOGARITHMIC       2
+#define DRAW_POST_DOUBLELOGARITHMIC 3 // for vorticity e.g.
 
 // Public functions
 
diff --git a/Fltk/Callbacks.cpp b/Fltk/Callbacks.cpp
index 50ef603687..bf14f507bd 100644
--- a/Fltk/Callbacks.cpp
+++ b/Fltk/Callbacks.cpp
@@ -1,4 +1,4 @@
-// $Id: Callbacks.cpp,v 1.290 2004-10-26 00:43:22 geuzaine Exp $
+// $Id: Callbacks.cpp,v 1.291 2004-10-26 01:04:51 geuzaine Exp $
 //
 // Copyright (C) 1997-2004 C. Geuzaine, J.-F. Remacle
 //
@@ -3556,9 +3556,6 @@ void view_options_ok_cb(CALLBACK_ARGS)
       case 4:
 	val = DRAW_POST_DISPLACEMENT;
 	break;
-      case 5:
-	val = DRAW_POST_DISPLACEMENT_EXTERNAL;
-	break;
       default: // 3
 	val = DRAW_POST_ARROW3D;
 	break;
diff --git a/Fltk/GUI.cpp b/Fltk/GUI.cpp
index 2e51417823..e66ffc55e1 100644
--- a/Fltk/GUI.cpp
+++ b/Fltk/GUI.cpp
@@ -1,4 +1,4 @@
-// $Id: GUI.cpp,v 1.369 2004-10-26 00:43:22 geuzaine Exp $
+// $Id: GUI.cpp,v 1.370 2004-10-26 01:04:52 geuzaine Exp $
 //
 // Copyright (C) 1997-2004 C. Geuzaine, J.-F. Remacle
 //
@@ -2627,7 +2627,6 @@ void GUI::create_option_window()
           {"Pyramid", 0, 0, 0},
           {"3D arrow", 0, 0, 0},
           {"Displacement", 0, 0, 0},
-          {"Raised view", 0, 0, 0},
           {0}
         };
         view_choice[2] = new Fl_Choice(L + 2 * WB, 2 * WB + 6 * BH, IW, BH, "Vector display");
diff --git a/Graphics/PostElement.cpp b/Graphics/PostElement.cpp
index ea48743cca..93f40f04ef 100644
--- a/Graphics/PostElement.cpp
+++ b/Graphics/PostElement.cpp
@@ -1,4 +1,4 @@
-// $Id: PostElement.cpp,v 1.49 2004-10-26 00:43:23 geuzaine Exp $
+// $Id: PostElement.cpp,v 1.50 2004-10-26 01:04:53 geuzaine Exp $
 //
 // Copyright (C) 1997-2004 C. Geuzaine, J.-F. Remacle
 //
@@ -999,13 +999,10 @@ int GetDataFromOtherView(int type, int nbnod, Post_View *v, int *nbcomp,
     break;
   }
 
-  if(comp == 3){
-    if(v2->VectorType == DRAW_POST_DISPLACEMENT_EXTERNAL)
-      *vectype = DRAW_POST_ARROW3D; // avoid infinite recursion
-    else
-      *vectype = v2->VectorType;
-  }
-
+  if(v2->VectorType == DRAW_POST_DISPLACEMENT)
+    *vectype = DRAW_POST_ARROW3D; // avoid recursion
+  else
+    *vectype = v2->VectorType;
   *nbcomp = comp;
 
   return 1;
@@ -1037,7 +1034,7 @@ void Draw_VectorElement(int type, Post_View * View, int preproNormals,
     norm[k] = sqrt(Val[k][0] * Val[k][0] + Val[k][1] * Val[k][1] + Val[k][2] * Val[k][2]);
   }
 
-  int ext_nbcomp = 3, ext_vectype = DRAW_POST_ARROW3D;
+  int ext_nbcomp = 1, ext_vectype = DRAW_POST_ARROW3D;
   double *ext_vals = &V[3 * nbnod * View->TimeStep];
   double ext_min = ValMin, ext_max = ValMax, ext_norm[8];
   for(int k = 0; k < nbnod; k++)
@@ -1054,11 +1051,7 @@ void Draw_VectorElement(int type, Post_View * View, int preproNormals,
     for(int k = 0; k < nbnod; k++)
       Raise[i][k] = View->Raise[i] * norm[k];
 
-  if(View->VectorType == DRAW_POST_DISPLACEMENT ||
-     View->VectorType == DRAW_POST_DISPLACEMENT_EXTERNAL){
-
-    if(View->VectorType == DRAW_POST_DISPLACEMENT)
-      ext_nbcomp = 1;
+  if(View->VectorType == DRAW_POST_DISPLACEMENT){
 
     double fact = View->DisplacementFactor;
     double xx[8], yy[8], zz[8];
diff --git a/doc/FAQ b/doc/FAQ
index a1be513496..0c27d9cfc1 100644
--- a/doc/FAQ
+++ b/doc/FAQ
@@ -1,4 +1,4 @@
-$Id: FAQ,v 1.41 2004-10-26 00:43:23 geuzaine Exp $
+$Id: FAQ,v 1.42 2004-10-26 01:04:53 geuzaine Exp $
 
 This is the Gmsh FAQ
 
@@ -262,11 +262,11 @@ The easiest is to load two views: the first one containing a
 displacement field (a vector view that will be used to deform the
 mesh), and the second one containing the field you want to display
 (this view has to contain the same number of elements as the
-displacement view). You should then set 'Vector type' to 'Raised view'
-in the first view, as well as set 'External data source' to the second
-view. (You might want to make the second view invisible, too. If you
-want to amplify or decrease the amount of deformation, just modify the
-'Displacement factor' option.)
+displacement view). You should then set 'Vector type' to
+'Displacement' in the first view, as well as set 'External data
+source' to the second view. (You might want to make the second view
+invisible, too. If you want to amplify or decrease the amount of
+deformation, just modify the 'Displacement factor' option.)
 
 Another solution is to use the DiplacementRaise plugin.
 
diff --git a/doc/VERSIONS b/doc/VERSIONS
index 9541f9f381..5c5135e076 100644
--- a/doc/VERSIONS
+++ b/doc/VERSIONS
@@ -1,11 +1,10 @@
-$Id: VERSIONS,v 1.259 2004-10-26 00:43:23 geuzaine Exp $
-
-New since 1.56: generalized 'raised view' for displacement maps of
-arbitrary view types; the arrows representing a vector field can now
-also be colored by the values from other scalar, vector or tensor
-fields; new adaptive high order visualization mode; new options for
-solvers (SocketCommand and NameCommand) and views
-(ArrowSizeProportional);
+$Id: VERSIONS,v 1.260 2004-10-26 01:04:53 geuzaine Exp $
+
+New since 1.56: generalized displacement maps to display arbitrary
+view types; the arrows representing a vector field can now also be
+colored by the values from other scalar, vector or tensor fields; new
+adaptive high order visualization mode; new options for solvers
+(SocketCommand and NameCommand) and views (ArrowSizeProportional);
 
 New in 1.56: new post-processing option to draw a scalar view raised
 by a displacement view without using Plugin(DisplacementRaise) (makes
-- 
GitLab