diff --git a/Plugin/Annotate.cpp b/Plugin/Annotate.cpp index 15e7bd95d98d78662460b8af8c13fca7504739ee..f3cf70698e65ec73b8aab284c53b256547f4157c 100644 --- a/Plugin/Annotate.cpp +++ b/Plugin/Annotate.cpp @@ -1,4 +1,4 @@ -// $Id: Annotate.cpp,v 1.6 2005-01-17 05:19:59 geuzaine Exp $ +// $Id: Annotate.cpp,v 1.7 2005-03-09 02:19:09 geuzaine Exp $ // // Copyright (C) 1997-2005 C. Geuzaine, J.-F. Remacle // @@ -29,23 +29,24 @@ #if defined(HAVE_FLTK) #include "GmshUI.h" #include "GUI.h" +#include "Draw.h" #endif extern Context_T CTX; StringXNumber AnnotateOptions_Number[] = { - {GMSH_FULLRC, "X", NULL, 50.}, - {GMSH_FULLRC, "Y", NULL, 30.}, - {GMSH_FULLRC, "Z", NULL, 0.}, - {GMSH_FULLRC, "3D", NULL, 0.}, - {GMSH_FULLRC, "FontSize", NULL, 14.}, + {GMSH_FULLRC, "X", GMSH_AnnotatePlugin::callbackX, 50.}, + {GMSH_FULLRC, "Y", GMSH_AnnotatePlugin::callbackY, 30.}, + {GMSH_FULLRC, "Z", GMSH_AnnotatePlugin::callbackZ, 0.}, + {GMSH_FULLRC, "3D", GMSH_AnnotatePlugin::callback3D, 0.}, + {GMSH_FULLRC, "FontSize", GMSH_AnnotatePlugin::callbackFontSize, 14.}, {GMSH_FULLRC, "iView", NULL, -1.} }; StringXString AnnotateOptions_String[] = { - {GMSH_FULLRC, "Text", NULL, "My Text"}, - {GMSH_FULLRC, "Font", NULL, "Helvetica"}, - {GMSH_FULLRC, "Align", NULL, "Left"} + {GMSH_FULLRC, "Text", GMSH_AnnotatePlugin::callbackText, "My Text"}, + {GMSH_FULLRC, "Font", GMSH_AnnotatePlugin::callbackFont, "Helvetica"}, + {GMSH_FULLRC, "Align", GMSH_AnnotatePlugin::callbackAlign, "Left"} }; extern "C" @@ -61,6 +62,136 @@ GMSH_AnnotatePlugin::GMSH_AnnotatePlugin() ; } +static double getStyle() +{ + int fontsize = (int)AnnotateOptions_Number[4].def, font = 0, align = 0; +#if defined(HAVE_FLTK) + font = GetFontIndex(AnnotateOptions_String[1].def); + // align only makes sense in screen coordinates at the moment: + if(!AnnotateOptions_Number[3].def) + align = GetFontAlign(AnnotateOptions_String[2].def); +#endif + return (double)((align<<16)|(font<<8)|(fontsize)); +} + +void GMSH_AnnotatePlugin::draw() +{ +#if defined(HAVE_FLTK) + double X = AnnotateOptions_Number[0].def; + double Y = AnnotateOptions_Number[1].def; + double Z = AnnotateOptions_Number[2].def; + double style = getStyle(); + + glColor4ubv((GLubyte *) & CTX.color.fg); + if(AnnotateOptions_Number[3].def == 1){ // 3D + glRasterPos3d(X, Y, Z); + Draw_String(AnnotateOptions_String[0].def, style); + // draw 10-pixel marker + double d = 10 * CTX.pixel_equiv_x / CTX.s[0]; + glBegin(GL_LINES); + glVertex3d(X-d,Y,Z); glVertex3d(X+d,Y,Z); + glVertex3d(X,Y-d,Z); glVertex3d(X,Y+d,Z); + glVertex3d(X,Y,Z-d); glVertex3d(X,Y,Z+d); + glEnd(); + } + else{ + double modelview[16], projection[16]; + glGetDoublev(GL_PROJECTION_MATRIX, projection); + glGetDoublev(GL_MODELVIEW_MATRIX, modelview); + + glMatrixMode(GL_PROJECTION); + glLoadIdentity(); + glOrtho((double)CTX.viewport[0], (double)CTX.viewport[2], + (double)CTX.viewport[1], (double)CTX.viewport[3], -1., 1.); + glMatrixMode(GL_MODELVIEW); + glLoadIdentity(); + FixText2DCoordinates(&X, &Y); + glRasterPos2d(X, Y); + Draw_String(AnnotateOptions_String[0].def, style); + // draw 10-pixel marker + glBegin(GL_LINES); + glVertex2d(X-10,Y); glVertex2d(X+10,Y); + glVertex2d(X,Y-10); glVertex2d(X,Y+10); + glEnd(); + + glMatrixMode(GL_PROJECTION); + glLoadMatrixd(projection); + glMatrixMode(GL_MODELVIEW); + glLoadMatrixd(modelview); + } +#endif +} + +double GMSH_AnnotatePlugin::callback(int num, int action, double value, double *opt, + double step, double min, double max) +{ + switch(action){ // configure the input field + case 1: return step; + case 2: return min; + case 3: return max; + default: break; + } + *opt = value; +#if defined(HAVE_FLTK) + DrawPlugin(draw); +#endif + return 0.; +} + +char *GMSH_AnnotatePlugin::callbackStr(int num, int action, char *value, char **opt) +{ + *opt = value; +#if defined(HAVE_FLTK) + DrawPlugin(draw); +#endif + return NULL; +} + +double GMSH_AnnotatePlugin::callbackX(int num, int action, double value) +{ + return callback(num, action, value, &AnnotateOptions_Number[0].def, + 0.5, -100., 100000.); +} + +double GMSH_AnnotatePlugin::callbackY(int num, int action, double value) +{ + return callback(num, action, value, &AnnotateOptions_Number[1].def, + 0.5, -100., 100000.); +} + +double GMSH_AnnotatePlugin::callbackZ(int num, int action, double value) +{ + return callback(num, action, value, &AnnotateOptions_Number[2].def, + 0.5, -100., 100000.); +} + +double GMSH_AnnotatePlugin::callback3D(int num, int action, double value) +{ + return callback(num, action, value, &AnnotateOptions_Number[3].def, + 1, 0, 1); +} + +double GMSH_AnnotatePlugin::callbackFontSize(int num, int action, double value) +{ + return callback(num, action, value, &AnnotateOptions_Number[4].def, + 1, 5, 100); +} + +char *GMSH_AnnotatePlugin::callbackText(int num, int action, char *value) +{ + return callbackStr(num, action, value, &AnnotateOptions_String[0].def); +} + +char *GMSH_AnnotatePlugin::callbackFont(int num, int action, char *value) +{ + return callbackStr(num, action, value, &AnnotateOptions_String[1].def); +} + +char *GMSH_AnnotatePlugin::callbackAlign(int num, int action, char *value) +{ + return callbackStr(num, action, value, &AnnotateOptions_String[2].def); +} + void GMSH_AnnotatePlugin::getName(char *name) const { strcpy(name, "Annotate"); @@ -116,11 +247,9 @@ Post_View *GMSH_AnnotatePlugin::execute(Post_View * v) double Y = AnnotateOptions_Number[1].def; double Z = AnnotateOptions_Number[2].def; int dim3 = (int)AnnotateOptions_Number[3].def; - int fontsize = (int)AnnotateOptions_Number[4].def; int iView = (int)AnnotateOptions_Number[5].def; char *text = AnnotateOptions_String[0].def; - char *fontname = AnnotateOptions_String[1].def; - char *alignstr = AnnotateOptions_String[2].def; + double style = getStyle(); if(iView < 0) iView = v ? v->Index : 0; @@ -130,18 +259,8 @@ Post_View *GMSH_AnnotatePlugin::execute(Post_View * v) return v; } - int font = 0, align = 0; -#if defined(HAVE_FLTK) - font = GetFontIndex(fontname); - // align only makes sense in screen coordinates at the moment: - if(!dim3) - align = GetFontAlign(alignstr); -#endif - Post_View *v1 = *(Post_View **)List_Pointer(CTX.post.list, iView); - double style = (double)((align<<16)|(font<<8)|(fontsize)); - if(dim3){ List_Add(v1->T3D, &X); List_Add(v1->T3D, &Y); diff --git a/Plugin/Annotate.h b/Plugin/Annotate.h index 8b180eea6c08301b5790456ab26ba56f4d748ce3..7ab31c5f39acfb10e513116d4a3233126211d0db 100644 --- a/Plugin/Annotate.h +++ b/Plugin/Annotate.h @@ -29,6 +29,10 @@ extern "C" class GMSH_AnnotatePlugin : public GMSH_Post_Plugin { +private: + static double callback(int num, int action, double value, double *opt, + double step, double min, double max); + static char *callbackStr(int num, int action, char *value, char **opt); public: GMSH_AnnotatePlugin(); void getName(char *name) const; @@ -39,6 +43,16 @@ public: int getNbOptionsStr() const; StringXString* getOptionStr(int iopt); Post_View *execute(Post_View *); + + static double callbackX(int, int, double); + static double callbackY(int, int, double); + static double callbackZ(int, int, double); + static double callback3D(int, int, double); + static double callbackFontSize(int, int, double); + static char *callbackText(int, int, char *); + static char *callbackFont(int, int, char *); + static char *callbackAlign(int, int, char *); + static void draw(); }; #endif diff --git a/Plugin/CutParametric.cpp b/Plugin/CutParametric.cpp index 0dd141877190c13e6926352967a39d6ceaa4bbd1..69ccc1cb715d9bb92d6485fead698a935edd3dff 100644 --- a/Plugin/CutParametric.cpp +++ b/Plugin/CutParametric.cpp @@ -1,4 +1,4 @@ -// $Id: CutParametric.cpp,v 1.13 2005-03-04 19:08:38 geuzaine Exp $ +// $Id: CutParametric.cpp,v 1.14 2005-03-09 02:19:09 geuzaine Exp $ // // Copyright (C) 1997-2005 C. Geuzaine, J.-F. Remacle // @@ -25,6 +25,11 @@ #include "Context.h" #include <math.h> +#if defined(HAVE_FLTK) +#include "GmshUI.h" +#include "Draw.h" +#endif + #if defined(HAVE_MATH_EVAL) #include "matheval.h" #endif @@ -32,23 +37,17 @@ extern Context_T CTX; StringXNumber CutParametricOptions_Number[] = { - {GMSH_FULLRC, "MinU", NULL, 0.}, - {GMSH_FULLRC, "MaxU", NULL, 2*M_PI}, - {GMSH_FULLRC, "nPointsU", NULL, 360.}, - //{GMSH_FULLRC, "MinV", NULL, 0.}, - //{GMSH_FULLRC, "MaxV", NULL, 1.}, - //{GMSH_FULLRC, "nPointsV", NULL, 0.}, - //{GMSH_FULLRC, "MinW", NULL, 0.}, - //{GMSH_FULLRC, "MaxW", NULL, 1.}, - //{GMSH_FULLRC, "nPointsW", NULL, 0.}, - {GMSH_FULLRC, "ConnectPoints", NULL, 0.}, + {GMSH_FULLRC, "MinU", GMSH_CutParametricPlugin::callbackMinU, 0.}, + {GMSH_FULLRC, "MaxU", GMSH_CutParametricPlugin::callbackMaxU, 2*M_PI}, + {GMSH_FULLRC, "nPointsU", GMSH_CutParametricPlugin::callbackN, 360.}, + {GMSH_FULLRC, "ConnectPoints", GMSH_CutParametricPlugin::callbackConnect, 0.}, {GMSH_FULLRC, "iView", NULL, -1.} }; StringXString CutParametricOptions_String[] = { - {GMSH_FULLRC, "X", NULL, "0 + 1 * Cos(u)"}, - {GMSH_FULLRC, "Y", NULL, "0 + 1 * Sin(u)"}, - {GMSH_FULLRC, "Z", NULL, "0"}, + {GMSH_FULLRC, "X", GMSH_CutParametricPlugin::callbackX, "0 + 1 * Cos(u)"}, + {GMSH_FULLRC, "Y", GMSH_CutParametricPlugin::callbackY, "0 + 1 * Sin(u)"}, + {GMSH_FULLRC, "Z", GMSH_CutParametricPlugin::callbackZ, "0"}, }; extern "C" @@ -65,6 +64,155 @@ GMSH_CutParametricPlugin::GMSH_CutParametricPlugin() ; } +static double getU(int i) +{ + double minU = CutParametricOptions_Number[0].def; + double maxU = CutParametricOptions_Number[1].def; + int nbU = (int)CutParametricOptions_Number[2].def; + + if(nbU == 1) + return minU; + else + return minU + (double)(i)/(double)(nbU-1) * (maxU - minU); +} + +int GMSH_CutParametricPlugin::recompute = 1; +vector<double> GMSH_CutParametricPlugin::x; +vector<double> GMSH_CutParametricPlugin::y; +vector<double> GMSH_CutParametricPlugin::z; + +int GMSH_CutParametricPlugin::fillXYZ() +{ +#if !defined(HAVE_MATH_EVAL) + Msg(GERROR, "MathEval is not compiled in this version of Gmsh"); + return 0; +#else + char *exprx = CutParametricOptions_String[0].def; + char *expry = CutParametricOptions_String[1].def; + char *exprz = CutParametricOptions_String[2].def; + int nbU = (int)CutParametricOptions_Number[2].def; + + x.resize(nbU); + y.resize(nbU); + z.resize(nbU); + void *fx = evaluator_create(exprx); + if(!fx){ + Msg(GERROR, "Invalid expression '%s'", exprx); + return 0; + } + void *fy = evaluator_create(expry); + if(!fy){ + evaluator_destroy(fx); + Msg(GERROR, "Invalid expression '%s'", expry); + return 0; + } + void *fz = evaluator_create(exprz); + if(!fz){ + Msg(GERROR, "Invalid expression '%s'", exprz); + evaluator_destroy(fx); + evaluator_destroy(fy); + return 0; + } + for(int i = 0; i < nbU; ++i){ + char *names[] = { "u" }; + double values[] = { getU(i) }; + x[i] = evaluator_evaluate(fx, sizeof(names)/sizeof(names[0]), names, values); + y[i] = evaluator_evaluate(fy, sizeof(names)/sizeof(names[0]), names, values); + z[i] = evaluator_evaluate(fz, sizeof(names)/sizeof(names[0]), names, values); + } + return 1; +#endif +} + +void GMSH_CutParametricPlugin::draw() +{ +#if defined(HAVE_FLTK) + if(recompute){ + fillXYZ(); + recompute = 0; + } + glColor4ubv((GLubyte *) & CTX.color.fg); + if(CutParametricOptions_Number[3].def && x.size() > 1){ + glBegin(GL_LINES); + for(unsigned int i = 1; i < x.size(); ++i){ + glVertex3d(x[i-1], y[i-1], z[i-1]); + glVertex3d(x[i], y[i], z[i]); + } + glEnd(); + } + else{ + for(unsigned int i = 0; i < x.size(); ++i) + Draw_Point(1, CTX.point_size, &x[i], &y[i], &z[i], 1); + } +#endif +} + +double GMSH_CutParametricPlugin::callback(int num, int action, double value, double *opt, + double step, double min, double max) +{ + switch(action){ // configure the input field + case 1: return step; + case 2: return min; + case 3: return max; + default: break; + } + *opt = value; +#if defined(HAVE_FLTK) + recompute = 1; + DrawPlugin(draw); +#endif + return 0.; +} + +char *GMSH_CutParametricPlugin::callbackStr(int num, int action, char *value, char **opt) +{ + *opt = value; +#if defined(HAVE_FLTK) + recompute = 1; + DrawPlugin(draw); +#endif + return NULL; +} + +double GMSH_CutParametricPlugin::callbackMinU(int num, int action, double value) +{ + return callback(num, action, value, &CutParametricOptions_Number[0].def, + 0.01, 0., 10.); +} + +double GMSH_CutParametricPlugin::callbackMaxU(int num, int action, double value) +{ + return callback(num, action, value, &CutParametricOptions_Number[1].def, + 0.01, 0., 10.); +} + +double GMSH_CutParametricPlugin::callbackN(int num, int action, double value) +{ + return callback(num, action, value, &CutParametricOptions_Number[2].def, + 1, 1, 1000); +} + +double GMSH_CutParametricPlugin::callbackConnect(int num, int action, double value) +{ + return callback(num, action, value, &CutParametricOptions_Number[3].def, + 1, 0, 1); +} + +char *GMSH_CutParametricPlugin::callbackX(int num, int action, char *value) +{ + return callbackStr(num, action, value, &CutParametricOptions_String[0].def); +} + +char *GMSH_CutParametricPlugin::callbackY(int num, int action, char *value) +{ + return callbackStr(num, action, value, &CutParametricOptions_String[1].def); +} + +char *GMSH_CutParametricPlugin::callbackZ(int num, int action, char *value) +{ + return callbackStr(num, action, value, &CutParametricOptions_String[2].def); +} + void GMSH_CutParametricPlugin::getName(char *name) const { strcpy(name, "Cut Parametric"); @@ -154,86 +302,48 @@ Post_View *GMSH_CutParametricPlugin::execute(Post_View * v) return v; } -#if !defined(HAVE_MATH_EVAL) - - Msg(GERROR, "MathEval is not compiled in this version of Gmsh"); - return v; - -#else + if(!fillXYZ()) + return v; - double minU = CutParametricOptions_Number[0].def; - double maxU = CutParametricOptions_Number[1].def; int nbU = (int)CutParametricOptions_Number[2].def; int connect = (int)CutParametricOptions_Number[3].def; if(nbU < 2) connect = 0; - char *exprx = CutParametricOptions_String[0].def; - char *expry = CutParametricOptions_String[1].def; - char *exprz = CutParametricOptions_String[2].def; - - void *fx = evaluator_create(exprx); - if(!fx){ - Msg(GERROR, "Invalid expression '%s'", exprx); - return v; - } - - void *fy = evaluator_create(expry); - if(!fy){ - evaluator_destroy(fx); - Msg(GERROR, "Invalid expression '%s'", expry); - return v; - } - - void *fz = evaluator_create(exprz); - if(!fz){ - evaluator_destroy(fx); - evaluator_destroy(fy); - Msg(GERROR, "Invalid expression '%s'", exprz); - return v; - } - Post_View *v1 = *(Post_View **)List_Pointer(CTX.post.list, iView); OctreePost o(v1); Post_View *v2 = BeginView(1); double *res0 = new double[9*v1->NbTimeStep]; - double *res = new double[9*v1->NbTimeStep]; - double x = 0., y = 0., z = 0., x0 = 0., y0 = 0., z0 = 0.; + double *res1 = new double[9*v1->NbTimeStep]; + double x0 = 0., y0 = 0., z0 = 0., x1 = 0., y1 = 0., z1 = 0.; - for(int k = 0; k < 9*v1->NbTimeStep; ++k) res0[k] = res[k] = 0.; + for(int k = 0; k < 9*v1->NbTimeStep; ++k) res0[k] = res1[k] = 0.; for(int i = 0; i < nbU; ++i){ if(i && connect){ - x0 = x; - y0 = y; - z0 = z; - for(int k = 0; k < 9*v1->NbTimeStep; ++k) res0[k] = res[k]; + x0 = x1; + y0 = y1; + z0 = z1; + for(int k = 0; k < 9*v1->NbTimeStep; ++k) res0[k] = res1[k]; } - double u; - if(nbU == 1 || maxU == minU) - u = minU; - else - u = minU + (double)(i)/(double)(nbU-1) * (maxU - minU); - char *names[] = { "u" }; - double values[] = { u }; - x = evaluator_evaluate(fx, sizeof(names)/sizeof(names[0]), names, values); - y = evaluator_evaluate(fy, sizeof(names)/sizeof(names[0]), names, values); - z = evaluator_evaluate(fz, sizeof(names)/sizeof(names[0]), names, values); + x1 = x[i]; + y1 = y[i]; + z1 = z[i]; if(v->NbST || v->NbSQ || v->NbSS || v->NbSH || v->NbSI || v->NbSY){ - o.searchScalar(x, y, z, res); - addInView(connect, i, 1, v1->NbTimeStep, x0, y0, z0, res0, x, y, z, res, + o.searchScalar(x1, y1, z1, res1); + addInView(connect, i, 1, v1->NbTimeStep, x0, y0, z0, res0, x1, y1, z1, res1, v2->SP, &v2->NbSP, v2->SL, &v2->NbSL); } if(v->NbVT || v->NbVQ || v->NbVS || v->NbVH || v->NbVI || v->NbVY){ - o.searchVector(x, y, z, res); - addInView(connect, i, 3, v1->NbTimeStep, x0, y0, z0, res0, x, y, z, res, + o.searchVector(x1, y1, z1, res1); + addInView(connect, i, 3, v1->NbTimeStep, x0, y0, z0, res0, x1, y1, z1, res1, v2->VP, &v2->NbVP, v2->VL, &v2->NbVL); } if(v->NbTT || v->NbTQ || v->NbTS || v->NbTH || v->NbTI || v->NbTY){ - o.searchTensor(x, y, z, res); - addInView(connect, i, 9, v1->NbTimeStep, x0, y0, z0, res0, x, y, z, res, + o.searchTensor(x1, y1, z1, res1); + addInView(connect, i, 9, v1->NbTimeStep, x0, y0, z0, res0, x1, y1, z1, res1, v2->TP, &v2->NbTP, v2->TL, &v2->NbTL); } } @@ -243,13 +353,8 @@ Post_View *GMSH_CutParametricPlugin::execute(Post_View * v) sprintf(filename, "%s_CutParametric.pos", v1->Name); EndView(v2, 1, filename, name); - evaluator_destroy(fx); - evaluator_destroy(fy); - evaluator_destroy(fz); delete [] res0; - delete [] res; + delete [] res1; return v2; - -#endif } diff --git a/Plugin/CutParametric.h b/Plugin/CutParametric.h index d550b300ae4ba9575f8d73287845a8f6a9454b91..2b109b83bc52e7174269d80d8d3c24005ccca079 100644 --- a/Plugin/CutParametric.h +++ b/Plugin/CutParametric.h @@ -20,6 +20,8 @@ // // Please report all bugs and problems to <gmsh@geuz.org>. +#include <vector> + #include "Plugin.h" extern "C" @@ -29,6 +31,13 @@ extern "C" class GMSH_CutParametricPlugin : public GMSH_Post_Plugin { +private: + static double callback(int num, int action, double value, double *opt, + double step, double min, double max); + static char *callbackStr(int num, int action, char *value, char **opt); + static int fillXYZ(); + static int recompute; + static vector<double> x, y, z; public: GMSH_CutParametricPlugin(); void getName (char *name) const; @@ -41,6 +50,15 @@ public: int getNbOptionsStr() const; StringXString* getOptionStr(int iopt); Post_View *execute (Post_View *); + + static double callbackMinU(int, int, double); + static double callbackMaxU(int, int, double); + static double callbackN(int, int, double); + static double callbackConnect(int, int, double); + static char *callbackX(int, int, char *); + static char *callbackY(int, int, char *); + static char *callbackZ(int, int, char *); + static void draw(); }; #endif diff --git a/Plugin/Makefile b/Plugin/Makefile index f7df8d5847242455a3b0291866597de480c2ca5a..b909254a4e6760c9f0374c25d43426d7db94700a 100644 --- a/Plugin/Makefile +++ b/Plugin/Makefile @@ -1,4 +1,4 @@ -# $Id: Makefile,v 1.80 2005-03-02 07:49:41 geuzaine Exp $ +# $Id: Makefile,v 1.81 2005-03-09 02:19:09 geuzaine Exp $ # # Copyright (C) 1997-2005 C. Geuzaine, J.-F. Remacle # @@ -123,7 +123,11 @@ CutParametric.o: CutParametric.cpp OctreePost.h Octree.h \ OctreeInternals.h CutParametric.h Plugin.h ../Common/Options.h \ ../Common/Message.h ../Common/Views.h ../Common/ColorTable.h \ ../DataStr/List.h ../Common/VertexArray.h ../Common/SmoothNormals.h \ - ../Common/GmshMatrix.h ../Common/AdaptiveViews.h ../Common/Context.h + ../Common/GmshMatrix.h ../Common/AdaptiveViews.h ../Common/Context.h \ + ../Common/GmshUI.h ../Graphics/Draw.h ../Mesh/Mesh.h ../DataStr/Tree.h \ + ../DataStr/avl.h ../Mesh/Vertex.h ../Mesh/Element.h ../Mesh/Simplex.h \ + ../Mesh/Face.h ../Mesh/Edge.h ../Geo/ExtrudeParams.h \ + ../Mesh/DiscreteSurface.h ../Mesh/Metric.h ../Mesh/Matrix.h Lambda2.o: Lambda2.cpp Plugin.h ../Common/Options.h ../Common/Message.h \ ../Common/Views.h ../Common/ColorTable.h ../DataStr/List.h \ ../Common/VertexArray.h ../Common/SmoothNormals.h \ @@ -253,7 +257,7 @@ Annotate.o: Annotate.cpp Plugin.h ../Common/Options.h ../Common/Message.h \ ../DataStr/avl.h ../Mesh/Vertex.h ../Mesh/Element.h ../Mesh/Simplex.h \ ../Mesh/Face.h ../Mesh/Edge.h ../Geo/ExtrudeParams.h \ ../Mesh/DiscreteSurface.h ../Mesh/Metric.h ../Mesh/Matrix.h \ - ../Fltk/Colorbar_Window.h + ../Fltk/Colorbar_Window.h ../Graphics/Draw.h Remove.o: Remove.cpp Plugin.h ../Common/Options.h ../Common/Message.h \ ../Common/Views.h ../Common/ColorTable.h ../DataStr/List.h \ ../Common/VertexArray.h ../Common/SmoothNormals.h \ diff --git a/Plugin/Probe.cpp b/Plugin/Probe.cpp index a4bcb99ac7e7a83a793765b66877dbd11914dac8..7f8c69a5b7e92aef70fb25f65bf6153e93834d80 100644 --- a/Plugin/Probe.cpp +++ b/Plugin/Probe.cpp @@ -1,4 +1,4 @@ -// $Id: Probe.cpp,v 1.9 2005-03-04 19:08:38 geuzaine Exp $ +// $Id: Probe.cpp,v 1.10 2005-03-09 02:19:09 geuzaine Exp $ // // Copyright (C) 1997-2005 C. Geuzaine, J.-F. Remacle // @@ -78,7 +78,7 @@ void GMSH_ProbePlugin::draw() glEnd(); } else{ - // draw a small marker + // draw 10-pixel marker double d = 10 * CTX.pixel_equiv_x / CTX.s[0]; glBegin(GL_LINES); glVertex3d(x-d,y,z); glVertex3d(x+d,y,z);