From f3e737c4ad2cd5fb2c4fc5938b6dcda5f8cf0a6e Mon Sep 17 00:00:00 2001 From: Christophe Geuzaine <cgeuzaine@ulg.ac.be> Date: Wed, 14 May 2003 14:23:10 +0000 Subject: [PATCH] cleanup vonmises (a bit) --- Common/Views.cpp | 6 +-- Common/Views.h | 2 + Graphics/PostElement.cpp | 87 ++++++++++++++++++---------------------- doc/VERSIONS | 5 ++- 4 files changed, 45 insertions(+), 55 deletions(-) diff --git a/Common/Views.cpp b/Common/Views.cpp index 9aaf727bb8..d34494fc8c 100644 --- a/Common/Views.cpp +++ b/Common/Views.cpp @@ -1,4 +1,4 @@ -// $Id: Views.cpp,v 1.95 2003-05-14 13:35:50 stainier Exp $ +// $Id: Views.cpp,v 1.96 2003-05-14 14:23:10 geuzaine Exp $ // // Copyright (C) 1997-2003 C. Geuzaine, J.-F. Remacle // @@ -157,10 +157,6 @@ Post_View *BeginView(int allocate) return v; } -// utility function - -double ComputeVonMises(double*); // prototype - double ComputeVonMises(double *V) { static const double THIRD = 1.e0 / 3.e0; double tr = (V[0] + V[4] + V[8]) * THIRD; diff --git a/Common/Views.h b/Common/Views.h index 1e03f72e61..604b8017a9 100644 --- a/Common/Views.h +++ b/Common/Views.h @@ -159,4 +159,6 @@ Post_View *Create2DGraph(char *xname, char *yname, int nbdata, double *x, double GmshColorTable *Get_ColorTable(int num); void Print_ColorTable(int num, char *prefix, FILE *file); +double ComputeVonMises(double* val); + #endif diff --git a/Graphics/PostElement.cpp b/Graphics/PostElement.cpp index 1dfc24d1a0..ece178b253 100644 --- a/Graphics/PostElement.cpp +++ b/Graphics/PostElement.cpp @@ -1,4 +1,4 @@ -// $Id: PostElement.cpp,v 1.15 2003-05-14 13:35:50 stainier Exp $ +// $Id: PostElement.cpp,v 1.16 2003-05-14 14:23:10 geuzaine Exp $ // // Copyright (C) 1997-2003 C. Geuzaine, J.-F. Remacle // @@ -1009,8 +1009,6 @@ void Draw_VectorPyramid(ARGS) // Tensor Elements -extern double ComputeVonMises(double*); - void Draw_TensorElement(int type, Post_View * View, double ValMin, double ValMax, double Raise[3][8], double *X, double *Y, double *Z, double *V) @@ -1044,56 +1042,44 @@ void Draw_TensorElement(int type, Post_View * View, break; } - /// by lack of any current better solution, - /// tensors are displayed as their Von Mises - /// invariant (J2 invariant) - /// this will simply call the scalar function - if(View->TensorType == DRAW_POST_VONMISES) { + /// By lack of any current better solution, tensors are displayed as + /// their Von Mises invariant (J2 invariant); this will simply call + /// the scalar function... - double V_VonMises[8]; - for(int i = 0; i < nbnod; i++) - V_VonMises[i] = ComputeVonMises(V + 9*i); + // View->TensorType == DRAW_POST_VONMISES - switch (type) { - case POINT: - Draw_ScalarPoint(View, 0, ValMin, ValMax, Raise, X, Y, Z, V_VonMises); - break; - case LINE: - Draw_ScalarLine(View, 0, ValMin, ValMax, Raise, X, Y, Z, V_VonMises); - break; - case TRIANGLE: - Draw_ScalarTriangle(View, 0, ValMin, ValMax, Raise, X, Y, Z, - V_VonMises); - break; - case QUADRANGLE: - Draw_ScalarQuadrangle(View, 0, ValMin, ValMax, Raise, X, Y, Z, - V_VonMises); - break; - case TETRAHEDRON: - Draw_ScalarTetrahedron(View, 0, ValMin, ValMax, Raise, X, Y, Z, - V_VonMises); - break; - case HEXAHEDRON: - Draw_ScalarHexahedron(View, 0, ValMin, ValMax, Raise, X, Y, Z, - V_VonMises); - break; - case PRISM: - Draw_ScalarPrism(View, 0, ValMin, ValMax, Raise, X, Y, Z, V_VonMises); - break; - case PYRAMID: - Draw_ScalarPyramid(View, 0, ValMin, ValMax, Raise, X, Y, Z, V_VonMises); - break; - } + double V_VonMises[8]; + for(int i = 0; i < nbnod; i++){ + V_VonMises[i] = ComputeVonMises(V + 9*i); } - else { - static int error = 0; - if(!error) { - error = 1; - Msg(GERROR, "Tensor field visualization is not implemented"); - Msg(GERROR, "We *need* some ideas on how to implement this!"); - Msg(GERROR, "Send your ideas to <gmsh@geuz.org>!"); - } + + switch (type) { + case POINT: + Draw_ScalarPoint(View, 0, ValMin, ValMax, Raise, X, Y, Z, V_VonMises); + break; + case LINE: + Draw_ScalarLine(View, 0, ValMin, ValMax, Raise, X, Y, Z, V_VonMises); + break; + case TRIANGLE: + Draw_ScalarTriangle(View, 0, ValMin, ValMax, Raise, X, Y, Z, V_VonMises); + break; + case QUADRANGLE: + Draw_ScalarQuadrangle(View, 0, ValMin, ValMax, Raise, X, Y, Z, V_VonMises); + break; + case TETRAHEDRON: + Draw_ScalarTetrahedron(View, 0, ValMin, ValMax, Raise, X, Y, Z, V_VonMises); + break; + case HEXAHEDRON: + Draw_ScalarHexahedron(View, 0, ValMin, ValMax, Raise, X, Y, Z, V_VonMises); + break; + case PRISM: + Draw_ScalarPrism(View, 0, ValMin, ValMax, Raise, X, Y, Z, V_VonMises); + break; + case PYRAMID: + Draw_ScalarPyramid(View, 0, ValMin, ValMax, Raise, X, Y, Z, V_VonMises); + break; } + } #define ARGS Post_View *View, \ @@ -1139,3 +1125,6 @@ void Draw_TensorPyramid(ARGS) { Draw_TensorElement(PYRAMID, View, ValMin, ValMax, Raise, X, Y, Z, V); } + +#undef ARGS + diff --git a/doc/VERSIONS b/doc/VERSIONS index c4b1a3e761..65fa3b40db 100644 --- a/doc/VERSIONS +++ b/doc/VERSIONS @@ -1,4 +1,7 @@ -$Id: VERSIONS,v 1.142 2003-04-21 01:32:54 geuzaine Exp $ +$Id: VERSIONS,v 1.143 2003-05-14 14:23:10 geuzaine Exp $ + +New in 1.45: small bug fixes (min/max computation for tensor views, +physical points in read mesh, etc.); documentation updates; New in 1.44: new reference manual; added support for PNG output; fixed small configure script bugs; -- GitLab