diff --git a/Box/Box.cpp b/Box/Box.cpp index 53f7e4ca78864bbeb3c4434f65a8487f41fe722a..2bc4bf57af1bb081157d021783f1a9da4339a0cf 100644 --- a/Box/Box.cpp +++ b/Box/Box.cpp @@ -1,4 +1,4 @@ -// $Id: Box.cpp,v 1.51 2008-04-13 18:52:51 geuzaine Exp $ +// $Id: Box.cpp,v 1.52 2008-04-28 10:10:51 geuzaine Exp $ // // Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle // @@ -82,6 +82,7 @@ int GMSHBOX(int argc, char *argv[]) OpenProject(CTX.filename); for(unsigned int i = 1; i < CTX.files.size(); i++) MergeFile(CTX.files[i].c_str()); +#if !defined(HAVE_NO_POST) if(CTX.bgm_filename) { MergeFile(CTX.bgm_filename); if(PView::list.size()) @@ -89,6 +90,7 @@ int GMSHBOX(int argc, char *argv[]) else fprintf(stderr, ERROR_STR "Invalid background mesh (no view)\n"); } +#endif if(CTX.batch > 0) { GModel::current()->mesh(CTX.batch); CreateOutputFile(CTX.output_filename, CTX.mesh.format); diff --git a/Common/CommandLine.cpp b/Common/CommandLine.cpp index c07a85098ff81be0e656bf7271bb542efa2ee0c1..5c47911f140ed74507d6b15953c0bbf26fbd9b00 100644 --- a/Common/CommandLine.cpp +++ b/Common/CommandLine.cpp @@ -1,4 +1,4 @@ -// $Id: CommandLine.cpp,v 1.127 2008-04-01 12:47:09 geuzaine Exp $ +// $Id: CommandLine.cpp,v 1.128 2008-04-28 10:10:51 geuzaine Exp $ // // Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle // @@ -29,10 +29,13 @@ #include "Context.h" #include "Options.h" #include "GModel.h" -#include "PView.h" #include "CreateFile.h" #include "OS.h" +#if !defined(HAVE_NO_POST) +#include "PView.h" +#endif + #if !defined(GMSH_EXTRA_VERSION) #error #error Common/GmshVersion.h is not up-to-date. @@ -296,11 +299,15 @@ void Get_Options(int argc, char *argv[]) while(i < argc) { char filename[256]; sprintf(filename, "%s_new", argv[i]); +#if !defined(HAVE_NO_POST) unsigned int n = PView::list.size(); +#endif OpenProject(argv[i]); +#if !defined(HAVE_NO_POST) // convert post-processing views to latest binary format for(unsigned int j = n; j < PView::list.size(); j++) PView::list[j]->write(filename, 1, (j == n) ? false : true); +#endif // convert mesh to latest binary format if(GModel::current()->getMeshStatus() > 0){ CTX.mesh.msh_file_version = 2.0; diff --git a/Common/Gmsh.cpp b/Common/Gmsh.cpp index 9118b34aaddd38c2a726dd4ebf599b4e20ca451c..6a56ac579cd2ac0fb1f80c2c8589e662d3f7db86 100644 --- a/Common/Gmsh.cpp +++ b/Common/Gmsh.cpp @@ -1,4 +1,4 @@ -// $Id: Gmsh.cpp,v 1.4 2008-04-13 20:52:07 geuzaine Exp $ +// $Id: Gmsh.cpp,v 1.5 2008-04-28 10:10:51 geuzaine Exp $ // // Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle // @@ -19,13 +19,17 @@ // // Please report all bugs and problems to <gmsh@geuz.org>. +#include <string> #include "Parser.h" #include "Options.h" #include "CommandLine.h" #include "OS.h" -#include "PluginManager.h" #include "Numeric.h" +#if !defined(HAVE_NO_POST) +#include "PluginManager.h" +#endif + int GmshInitialize(int argc, char **argv) { // Initialize the symbol tree that will hold variable names in the @@ -41,8 +45,10 @@ int GmshInitialize(int argc, char **argv) // Make sure we have enough resources (stack) CheckResources(); +#if !defined(HAVE_NO_POST) // Initialize the default plugins GMSH_PluginManager::instance()->registerDefaultPlugins(); +#endif // Check for buggy obsolete GSL versions check_gsl(); diff --git a/Common/Makefile b/Common/Makefile index 45ebd517d3d45833725d2ac4d9ef721e482c2f19..0f6b0e5560c7e6f1e06434db3ab6eedeb99ba37c 100644 --- a/Common/Makefile +++ b/Common/Makefile @@ -1,4 +1,4 @@ -# $Id: Makefile,v 1.170 2008-04-23 23:00:39 geuzaine Exp $ +# $Id: Makefile,v 1.171 2008-04-28 10:10:51 geuzaine Exp $ # # Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle # @@ -76,15 +76,16 @@ Octree.o: Octree.cpp Octree.h OctreeInternals.h OctreeInternals.o: OctreeInternals.cpp Message.h OctreeInternals.h Options.o: Options.cpp GmshUI.h GmshDefines.h Message.h \ ../Graphics/Draw.h ../Geo/SBoundingBox3d.h ../Geo/SPoint3.h \ - ../Post/PView.h ../Post/PViewData.h ../DataStr/List.h \ - ../Post/PViewOptions.h ../Post/ColorTable.h ../Post/adaptiveData.h \ - ../Common/GmshMatrix.h ../Mesh/Generator.h Context.h Options.h \ - ../Mesh/BackgroundMesh.h ../Plugin/PluginManager.h ../Plugin/Plugin.h \ - ../Common/Options.h ../Common/Message.h ../Post/PViewDataList.h \ - ../Post/PViewData.h ../Fltk/Solvers.h ../Fltk/GUI.h \ - ../Fltk/Opengl_Window.h ../Fltk/Colorbar_Window.h ../Common/GmshUI.h \ - ../Fltk/Popup_Button.h ../Fltk/SpherePosition_Widget.h ../Mesh/Field.h \ - ../Geo/Geo.h ../Common/GmshDefines.h ../Geo/gmshSurface.h ../Geo/Pair.h \ + ../Mesh/Generator.h Context.h Options.h ../Post/ColorTable.h \ + ../Mesh/BackgroundMesh.h ../Post/PView.h ../Post/PViewData.h \ + ../DataStr/List.h ../Post/PViewOptions.h ../Post/ColorTable.h \ + ../Post/adaptiveData.h ../Common/GmshMatrix.h ../Plugin/PluginManager.h \ + ../Plugin/Plugin.h ../Common/Options.h ../Common/Message.h \ + ../Post/PViewDataList.h ../Post/PViewData.h ../Fltk/Solvers.h \ + ../Fltk/GUI.h ../Fltk/Opengl_Window.h ../Fltk/Colorbar_Window.h \ + ../Common/GmshUI.h ../Fltk/Popup_Button.h \ + ../Fltk/SpherePosition_Widget.h ../Mesh/Field.h ../Geo/Geo.h \ + ../Common/GmshDefines.h ../Geo/gmshSurface.h ../Geo/Pair.h \ ../Geo/Range.h ../Geo/SPoint2.h ../Geo/SPoint3.h ../Geo/SVector3.h \ ../Geo/SPoint3.h ../Geo/SBoundingBox3d.h ../Numeric/Numeric.h \ ../Numeric/NumericEmbedded.h ../DataStr/Tree.h ../DataStr/avl.h \ @@ -98,17 +99,17 @@ CommandLine.o: CommandLine.cpp GmshUI.h GmshDefines.h GmshVersion.h \ ../Geo/SPoint3.h ../Geo/SPoint2.h ../Geo/GFace.h ../Geo/GEntity.h \ ../Geo/GPoint.h ../Geo/GEdgeLoop.h ../Geo/GEdge.h ../Geo/SPoint2.h \ ../Geo/SVector3.h ../Geo/Pair.h ../Geo/GRegion.h ../Geo/GEntity.h \ - ../Geo/SBoundingBox3d.h ../Post/PView.h ../Post/PViewData.h \ - ../DataStr/List.h ../Post/PViewOptions.h ../Post/ColorTable.h \ - ../Parser/CreateFile.h OS.h + ../Geo/SBoundingBox3d.h ../Parser/CreateFile.h OS.h ../Post/PView.h \ + ../Post/PViewData.h ../DataStr/List.h ../Post/PViewOptions.h \ + ../Post/ColorTable.h Gmsh.o: Gmsh.cpp ../Parser/Parser.h ../DataStr/List.h ../DataStr/Tree.h \ ../DataStr/avl.h Options.h ../Post/ColorTable.h CommandLine.h OS.h \ + ../Numeric/Numeric.h ../Numeric/NumericEmbedded.h \ ../Plugin/PluginManager.h ../Plugin/Plugin.h ../Common/Options.h \ ../Common/Message.h ../Post/PView.h ../Post/PViewData.h \ ../Geo/SBoundingBox3d.h ../Geo/SPoint3.h ../Post/PViewOptions.h \ ../Post/ColorTable.h ../Post/PViewDataList.h ../Post/PViewData.h \ - ../Common/GmshMatrix.h ../Numeric/Numeric.h \ - ../Numeric/NumericEmbedded.h + ../Common/GmshMatrix.h OS.o: OS.cpp Message.h Visibility.o: Visibility.cpp Visibility.h GmshDefines.h ../Geo/GVertex.h \ ../Geo/GEntity.h ../Geo/Range.h ../Geo/SPoint3.h \ diff --git a/Common/Options.cpp b/Common/Options.cpp index cef0a33753b601131c867dc611bd5dc49b308257..5a17a55054e6f60d7f67ab885fcc5b8f71f22bad 100644 --- a/Common/Options.cpp +++ b/Common/Options.cpp @@ -1,4 +1,4 @@ -// $Id: Options.cpp,v 1.395 2008-04-22 07:37:08 geuzaine Exp $ +// $Id: Options.cpp,v 1.396 2008-04-28 10:10:51 geuzaine Exp $ // // Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle // @@ -24,16 +24,19 @@ #include "GmshDefines.h" #include "Message.h" #include "Draw.h" -#include "PView.h" -#include "adaptiveData.h" #include "Generator.h" #include "Context.h" #include "Options.h" #include "BackgroundMesh.h" -#include "PluginManager.h" extern Context_T CTX; +#if !defined(HAVE_NO_POST) +#include "PView.h" +#include "adaptiveData.h" +#include "PluginManager.h" +#endif + #if defined(HAVE_FLTK) #include "Solvers.h" #include "GUI.h" @@ -153,12 +156,14 @@ void Init_Options(int num) void ReInit_Options(int num) { // horrible trick so that opt_view_XXX will act on the reference view +#if !defined(HAVE_NO_POST) std::vector<PView*> tmp = PView::list; PView::list.clear(); Init_Options_Safe(num); PView::list = tmp; for(unsigned int i = 0; i < PView::list.size(); i++) PView::list[i]->setOptions(); +#endif } void Init_Options_GUI(int num) @@ -203,6 +208,7 @@ static void Print_OptionCategory(int level, int diff, int help, const char *cat, GmshColorTable *Get_ColorTable(int num) { +#if !defined(HAVE_NO_POST) PViewOptions *opt; if(PView::list.empty() || num < 0 || num > (int)PView::list.size() - 1) opt = &PViewOptions::reference; @@ -212,10 +218,14 @@ GmshColorTable *Get_ColorTable(int num) PView::list[num]->setChanged(true); } return &opt->CT; +#else + return 0; +#endif } static void Print_ColorTable(int num, int diff, const char *prefix, FILE *file) { +#if !defined(HAVE_NO_POST) PViewOptions *opt; if(PView::list.empty() || num < 0 || num > (int)PView::list.size() - 1) opt = &PViewOptions::reference; @@ -248,6 +258,7 @@ static void Print_ColorTable(int num, int diff, const char *prefix, FILE *file) fprintf(file, "%s\n", tmp); else Msg(DIRECT, tmp); +#endif } void Print_Options(int num, int level, int diff, int help, const char *filename) @@ -326,6 +337,7 @@ void Print_Options(int num, int level, int diff, int help, const char *filename) "PostProcessing.", file); if(level & GMSH_FULLRC) { +#if !defined(HAVE_NO_POST) for(unsigned int i = 0; i < PView::list.size(); i++) { char tmp[256]; sprintf(tmp, "View[%d].", i); @@ -338,6 +350,7 @@ void Print_Options(int num, int level, int diff, int help, const char *filename) strcat(tmp, "ColorTable"); Print_ColorTable(i, diff, tmp, file); } +#endif } else if(level & GMSH_OPTIONSRC) { Print_OptionCategory(level, diff, help, "View options (strings)", file); @@ -452,6 +465,7 @@ void Print_OptionsDoc() fprintf(file, "@end ftable\n"); fclose(file); +#if !defined(HAVE_NO_POST) file = fopen("opt_view.texi", "w"); if(!file) { Msg(GERROR, "Unable to open file 'opt_view.texi'"); @@ -468,7 +482,6 @@ void Print_OptionsDoc() fprintf(file, "@end ftable\n"); fclose(file); - file = fopen("opt_plugin.texi", "w"); if(!file) { Msg(GERROR, "Unable to open file 'opt_plugin.texi'"); @@ -513,6 +526,7 @@ void Print_OptionsDoc() } fprintf(file, "@end ftable\n"); fclose(file); +#endif } // General routines for string options @@ -1927,6 +1941,7 @@ int _gui_action_valid(int action, int num) const char *opt_view_name(OPT_ARGS_STR) { +#if !defined(HAVE_NO_POST) GET_VIEW(""); if(!data) return ""; if(action & GMSH_SET) { @@ -1944,10 +1959,14 @@ const char *opt_view_name(OPT_ARGS_STR) } #endif return data->getName().c_str(); +#else + return ""; +#endif } const char *opt_view_format(OPT_ARGS_STR) { +#if !defined(HAVE_NO_POST) GET_VIEW(""); if(action & GMSH_SET) { strcpy(opt->Format, val); @@ -1957,17 +1976,25 @@ const char *opt_view_format(OPT_ARGS_STR) WID->view_input[1]->value(opt->Format); #endif return opt->Format; +#else + return ""; +#endif } const char *opt_view_filename(OPT_ARGS_STR) { +#if !defined(HAVE_NO_POST) GET_VIEW(""); if(!data) return ""; return data->getFileName().c_str(); +#else + return ""; +#endif } const char *opt_view_axes_label0(OPT_ARGS_STR) { +#if !defined(HAVE_NO_POST) GET_VIEW(""); if(action & GMSH_SET) { strcpy(opt->AxesLabel[0], val); @@ -1977,10 +2004,14 @@ const char *opt_view_axes_label0(OPT_ARGS_STR) WID->view_input[10]->value(opt->AxesLabel[0]); #endif return opt->AxesLabel[0]; +#else + return ""; +#endif } const char *opt_view_axes_label1(OPT_ARGS_STR) { +#if !defined(HAVE_NO_POST) GET_VIEW(""); if(action & GMSH_SET) { strcpy(opt->AxesLabel[1], val); @@ -1990,10 +2021,14 @@ const char *opt_view_axes_label1(OPT_ARGS_STR) WID->view_input[11]->value(opt->AxesLabel[1]); #endif return opt->AxesLabel[1]; +#else + return ""; +#endif } const char *opt_view_axes_label2(OPT_ARGS_STR) { +#if !defined(HAVE_NO_POST) GET_VIEW(""); if(action & GMSH_SET) { strcpy(opt->AxesLabel[2], val); @@ -2003,10 +2038,14 @@ const char *opt_view_axes_label2(OPT_ARGS_STR) WID->view_input[12]->value(opt->AxesLabel[2]); #endif return opt->AxesLabel[2]; +#else + return ""; +#endif } const char *opt_view_axes_format0(OPT_ARGS_STR) { +#if !defined(HAVE_NO_POST) GET_VIEW(""); if(action & GMSH_SET) { strcpy(opt->AxesFormat[0], val); @@ -2016,10 +2055,14 @@ const char *opt_view_axes_format0(OPT_ARGS_STR) WID->view_input[7]->value(opt->AxesFormat[0]); #endif return opt->AxesFormat[0]; +#else + return ""; +#endif } const char *opt_view_axes_format1(OPT_ARGS_STR) { +#if !defined(HAVE_NO_POST) GET_VIEW(""); if(action & GMSH_SET) { strcpy(opt->AxesFormat[1], val); @@ -2029,10 +2072,14 @@ const char *opt_view_axes_format1(OPT_ARGS_STR) WID->view_input[8]->value(opt->AxesFormat[1]); #endif return opt->AxesFormat[1]; +#else + return ""; +#endif } const char *opt_view_axes_format2(OPT_ARGS_STR) { +#if !defined(HAVE_NO_POST) GET_VIEW(""); if(action & GMSH_SET) { strcpy(opt->AxesFormat[2], val); @@ -2042,10 +2089,14 @@ const char *opt_view_axes_format2(OPT_ARGS_STR) WID->view_input[9]->value(opt->AxesFormat[2]); #endif return opt->AxesFormat[2]; +#else + return ""; +#endif } const char *opt_view_gen_raise0(OPT_ARGS_STR) { +#if !defined(HAVE_NO_POST) GET_VIEW(""); if(action & GMSH_SET) { strcpy(opt->GenRaiseX, val); @@ -2056,10 +2107,14 @@ const char *opt_view_gen_raise0(OPT_ARGS_STR) WID->view_input[4]->value(opt->GenRaiseX); #endif return opt->GenRaiseX; +#else + return ""; +#endif } const char *opt_view_gen_raise1(OPT_ARGS_STR) { +#if !defined(HAVE_NO_POST) GET_VIEW(""); if(action & GMSH_SET) { strcpy(opt->GenRaiseY, val); @@ -2070,10 +2125,14 @@ const char *opt_view_gen_raise1(OPT_ARGS_STR) WID->view_input[5]->value(opt->GenRaiseY); #endif return opt->GenRaiseY; +#else + return ""; +#endif } const char *opt_view_gen_raise2(OPT_ARGS_STR) { +#if !defined(HAVE_NO_POST) GET_VIEW(""); if(action & GMSH_SET) { strcpy(opt->GenRaiseZ, val); @@ -2084,6 +2143,9 @@ const char *opt_view_gen_raise2(OPT_ARGS_STR) WID->view_input[6]->value(opt->GenRaiseZ); #endif return opt->GenRaiseZ; +#else + return ""; +#endif } int _h2d(char c) @@ -2119,6 +2181,7 @@ void _string2stipple(char str[32], int &repeat, int &pattern) const char *opt_view_stipple0(OPT_ARGS_STR) { +#if !defined(HAVE_NO_POST) GET_VIEW(""); if(action & GMSH_SET) { strncpy(opt->StippleString[0], val, 31); @@ -2126,10 +2189,14 @@ const char *opt_view_stipple0(OPT_ARGS_STR) _string2stipple(opt->StippleString[0], opt->Stipple[0][0], opt->Stipple[0][1]); } return opt->StippleString[0]; +#else + return ""; +#endif } const char *opt_view_stipple1(OPT_ARGS_STR) { +#if !defined(HAVE_NO_POST) GET_VIEW(""); if(action & GMSH_SET) { strncpy(opt->StippleString[1], val, 31); @@ -2137,10 +2204,14 @@ const char *opt_view_stipple1(OPT_ARGS_STR) _string2stipple(opt->StippleString[1], opt->Stipple[1][0], opt->Stipple[1][1]); } return opt->StippleString[1]; +#else + return ""; +#endif } const char *opt_view_stipple2(OPT_ARGS_STR) { +#if !defined(HAVE_NO_POST) GET_VIEW(""); if(action & GMSH_SET) { strncpy(opt->StippleString[2], val, 31); @@ -2148,10 +2219,14 @@ const char *opt_view_stipple2(OPT_ARGS_STR) _string2stipple(opt->StippleString[2], opt->Stipple[2][0], opt->Stipple[2][1]); } return opt->StippleString[2]; +#else + return ""; +#endif } const char *opt_view_stipple3(OPT_ARGS_STR) { +#if !defined(HAVE_NO_POST) GET_VIEW(""); if(action & GMSH_SET) { strncpy(opt->StippleString[3], val, 31); @@ -2159,10 +2234,14 @@ const char *opt_view_stipple3(OPT_ARGS_STR) _string2stipple(opt->StippleString[3], opt->Stipple[3][0], opt->Stipple[3][1]); } return opt->StippleString[3]; +#else + return ""; +#endif } const char *opt_view_stipple4(OPT_ARGS_STR) { +#if !defined(HAVE_NO_POST) GET_VIEW(""); if(action & GMSH_SET) { strncpy(opt->StippleString[4], val, 31); @@ -2170,10 +2249,14 @@ const char *opt_view_stipple4(OPT_ARGS_STR) _string2stipple(opt->StippleString[4], opt->Stipple[4][0], opt->Stipple[4][1]); } return opt->StippleString[4]; +#else + return ""; +#endif } const char *opt_view_stipple5(OPT_ARGS_STR) { +#if !defined(HAVE_NO_POST) GET_VIEW(""); if(action & GMSH_SET) { strncpy(opt->StippleString[5], val, 31); @@ -2181,10 +2264,14 @@ const char *opt_view_stipple5(OPT_ARGS_STR) _string2stipple(opt->StippleString[5], opt->Stipple[5][0], opt->Stipple[5][1]); } return opt->StippleString[5]; +#else + return ""; +#endif } const char *opt_view_stipple6(OPT_ARGS_STR) { +#if !defined(HAVE_NO_POST) GET_VIEW(""); if(action & GMSH_SET) { strncpy(opt->StippleString[6], val, 31); @@ -2192,10 +2279,14 @@ const char *opt_view_stipple6(OPT_ARGS_STR) _string2stipple(opt->StippleString[6], opt->Stipple[6][0], opt->Stipple[6][1]); } return opt->StippleString[6]; +#else + return ""; +#endif } const char *opt_view_stipple7(OPT_ARGS_STR) { +#if !defined(HAVE_NO_POST) GET_VIEW(""); if(action & GMSH_SET) { strncpy(opt->StippleString[7], val, 31); @@ -2203,10 +2294,14 @@ const char *opt_view_stipple7(OPT_ARGS_STR) _string2stipple(opt->StippleString[7], opt->Stipple[7][0], opt->Stipple[7][1]); } return opt->StippleString[7]; +#else + return ""; +#endif } const char *opt_view_stipple8(OPT_ARGS_STR) { +#if !defined(HAVE_NO_POST) GET_VIEW(""); if(action & GMSH_SET) { strncpy(opt->StippleString[8], val, 31); @@ -2214,10 +2309,14 @@ const char *opt_view_stipple8(OPT_ARGS_STR) _string2stipple(opt->StippleString[8], opt->Stipple[8][0], opt->Stipple[8][1]); } return opt->StippleString[8]; +#else + return ""; +#endif } const char *opt_view_stipple9(OPT_ARGS_STR) { +#if !defined(HAVE_NO_POST) GET_VIEW(""); if(action & GMSH_SET) { strncpy(opt->StippleString[9], val, 31); @@ -2225,6 +2324,9 @@ const char *opt_view_stipple9(OPT_ARGS_STR) _string2stipple(opt->StippleString[9], opt->Stipple[9][0], opt->Stipple[9][1]); } return opt->StippleString[9]; +#else + return ""; +#endif } // Numeric option routines @@ -3240,8 +3342,10 @@ double opt_general_color_scheme(OPT_ARGS_NUM) Set_DefaultColorOptions(0, MeshOptions_Color); Set_DefaultColorOptions(0, SolverOptions_Color); Set_DefaultColorOptions(0, PostProcessingOptions_Color); +#if !defined(HAVE_NO_POST) for(unsigned int i = 0; i < PView::list.size(); i++) Set_DefaultColorOptions(i, ViewOptions_Color); +#endif Set_DefaultColorOptions(0, PrintOptions_Color); Set_ColorOptions_GUI(0, GeneralOptions_Color); @@ -3249,15 +3353,19 @@ double opt_general_color_scheme(OPT_ARGS_NUM) Set_ColorOptions_GUI(0, MeshOptions_Color); Set_ColorOptions_GUI(0, SolverOptions_Color); Set_ColorOptions_GUI(0, PostProcessingOptions_Color); +#if !defined(HAVE_NO_POST) for(unsigned int i = 0; i < PView::list.size(); i++) Set_ColorOptions_GUI(i, ViewOptions_Color); +#endif Set_ColorOptions_GUI(0, PrintOptions_Color); +#if !defined(HAVE_NO_POST) // horrible trick so that opt_view_XXX will act on the reference view std::vector<PView*> tmp = PView::list; PView::list.clear(); Set_DefaultColorOptions(0, ViewOptions_Color); PView::list = tmp; +#endif } #if defined(HAVE_FLTK) if(WID && (action & GMSH_GUI)) @@ -5475,7 +5583,11 @@ double opt_post_plugins(OPT_ARGS_NUM) double opt_post_nb_views(OPT_ARGS_NUM) { +#if !defined(HAVE_NO_POST) return PView::list.size(); +#else + return 0; +#endif } double opt_post_file_format(OPT_ARGS_NUM) @@ -5487,6 +5599,7 @@ double opt_post_file_format(OPT_ARGS_NUM) double opt_view_nb_timestep(OPT_ARGS_NUM) { +#if !defined(HAVE_NO_POST) GET_VIEW(0.); if(!data) return 1; #if defined(HAVE_FLTK) @@ -5496,10 +5609,14 @@ double opt_view_nb_timestep(OPT_ARGS_NUM) WID->check_anim_buttons(); #endif return data->getNumTimeSteps(); +#else + return 0.; +#endif } double opt_view_timestep(OPT_ARGS_NUM) { +#if !defined(HAVE_NO_POST) GET_VIEW(0.); if(!data) return 0; if(action & GMSH_SET) { @@ -5520,26 +5637,38 @@ double opt_view_timestep(OPT_ARGS_NUM) WID->view_value[50]->value(opt->TimeStep); #endif return opt->TimeStep; +#else + return 0.; +#endif } double opt_view_min(OPT_ARGS_NUM) { +#if !defined(HAVE_NO_POST) GET_VIEW(0.); if(!data) return 0.; // use adaptive data if available return view->getData(true)->getMin(); +#else + return 0.; +#endif } double opt_view_max(OPT_ARGS_NUM) { +#if !defined(HAVE_NO_POST) GET_VIEW(0.); if(!data) return 0.; // use adaptive data if available return view->getData(true)->getMax(); +#else + return 0.; +#endif } double opt_view_custom_min(OPT_ARGS_NUM) { +#if !defined(HAVE_NO_POST) GET_VIEW(0.); if(action & GMSH_SET) { opt->CustomMin = val; @@ -5551,10 +5680,14 @@ double opt_view_custom_min(OPT_ARGS_NUM) } #endif return opt->CustomMin; +#else + return 0.; +#endif } double opt_view_custom_max(OPT_ARGS_NUM) { +#if !defined(HAVE_NO_POST) GET_VIEW(0.); if(action & GMSH_SET) { opt->CustomMax = val; @@ -5565,52 +5698,80 @@ double opt_view_custom_max(OPT_ARGS_NUM) WID->view_value[32]->value(opt->CustomMax); #endif return opt->CustomMax; +#else + return 0.; +#endif } double opt_view_xmin(OPT_ARGS_NUM) { +#if !defined(HAVE_NO_POST) GET_VIEW(0.); if(!data) return 0.; return data->getBoundingBox().min().x(); +#else + return 0.; +#endif } double opt_view_xmax(OPT_ARGS_NUM) { +#if !defined(HAVE_NO_POST) GET_VIEW(0.); if(!data) return 0.; return data->getBoundingBox().max().x(); +#else + return 0.; +#endif } double opt_view_ymin(OPT_ARGS_NUM) { +#if !defined(HAVE_NO_POST) GET_VIEW(0.); if(!data) return 0.; return data->getBoundingBox().min().y(); +#else + return 0.; +#endif } double opt_view_ymax(OPT_ARGS_NUM) { +#if !defined(HAVE_NO_POST) GET_VIEW(0.); if(!data) return 0.; return data->getBoundingBox().max().y(); +#else + return 0.; +#endif } double opt_view_zmin(OPT_ARGS_NUM) { +#if !defined(HAVE_NO_POST) GET_VIEW(0.); if(!data) return 0.; return data->getBoundingBox().min().z(); +#else + return 0.; +#endif } double opt_view_zmax(OPT_ARGS_NUM) { +#if !defined(HAVE_NO_POST) GET_VIEW(0.); if(!data) return 0.; return data->getBoundingBox().max().z(); +#else + return 0.; +#endif } double opt_view_offset0(OPT_ARGS_NUM) { +#if !defined(HAVE_NO_POST) GET_VIEW(0.); if(action & GMSH_SET) { opt->Offset[0] = val; @@ -5621,10 +5782,14 @@ double opt_view_offset0(OPT_ARGS_NUM) WID->view_value[40]->value(opt->Offset[0]); #endif return opt->Offset[0]; +#else + return 0.; +#endif } double opt_view_offset1(OPT_ARGS_NUM) { +#if !defined(HAVE_NO_POST) GET_VIEW(0.); if(action & GMSH_SET) { opt->Offset[1] = val; @@ -5635,10 +5800,14 @@ double opt_view_offset1(OPT_ARGS_NUM) WID->view_value[41]->value(opt->Offset[1]); #endif return opt->Offset[1]; +#else + return 0.; +#endif } double opt_view_offset2(OPT_ARGS_NUM) { +#if !defined(HAVE_NO_POST) GET_VIEW(0.); if(action & GMSH_SET) { opt->Offset[2] = val; @@ -5649,10 +5818,14 @@ double opt_view_offset2(OPT_ARGS_NUM) WID->view_value[42]->value(opt->Offset[2]); #endif return opt->Offset[2]; +#else + return 0.; +#endif } double opt_view_raise0(OPT_ARGS_NUM) { +#if !defined(HAVE_NO_POST) GET_VIEW(0.); if(action & GMSH_SET) { opt->Raise[0] = val; @@ -5663,10 +5836,14 @@ double opt_view_raise0(OPT_ARGS_NUM) WID->view_value[43]->value(opt->Raise[0]); #endif return opt->Raise[0]; +#else + return 0.; +#endif } double opt_view_raise1(OPT_ARGS_NUM) { +#if !defined(HAVE_NO_POST) GET_VIEW(0.); if(action & GMSH_SET) { opt->Raise[1] = val; @@ -5677,10 +5854,14 @@ double opt_view_raise1(OPT_ARGS_NUM) WID->view_value[44]->value(opt->Raise[1]); #endif return opt->Raise[1]; +#else + return 0.; +#endif } double opt_view_raise2(OPT_ARGS_NUM) { +#if !defined(HAVE_NO_POST) GET_VIEW(0.); if(action & GMSH_SET) { opt->Raise[2] = val; @@ -5691,10 +5872,14 @@ double opt_view_raise2(OPT_ARGS_NUM) WID->view_value[45]->value(opt->Raise[2]); #endif return opt->Raise[2]; +#else + return 0.; +#endif } double opt_view_normal_raise(OPT_ARGS_NUM) { +#if !defined(HAVE_NO_POST) GET_VIEW(0.); if(action & GMSH_SET) { opt->NormalRaise = val; @@ -5705,10 +5890,14 @@ double opt_view_normal_raise(OPT_ARGS_NUM) WID->view_value[46]->value(opt->NormalRaise); #endif return opt->NormalRaise; +#else + return 0.; +#endif } double opt_view_transform00(OPT_ARGS_NUM) { +#if !defined(HAVE_NO_POST) GET_VIEW(0.); if(action & GMSH_SET) { opt->Transform[0][0] = val; @@ -5719,10 +5908,14 @@ double opt_view_transform00(OPT_ARGS_NUM) WID->view_value[51]->value(opt->Transform[0][0]); #endif return opt->Transform[0][0]; +#else + return 0.; +#endif } double opt_view_transform01(OPT_ARGS_NUM) { +#if !defined(HAVE_NO_POST) GET_VIEW(0.); if(action & GMSH_SET) { opt->Transform[0][1] = val; @@ -5733,10 +5926,14 @@ double opt_view_transform01(OPT_ARGS_NUM) WID->view_value[52]->value(opt->Transform[0][1]); #endif return opt->Transform[0][1]; +#else + return 0.; +#endif } double opt_view_transform02(OPT_ARGS_NUM) { +#if !defined(HAVE_NO_POST) GET_VIEW(0.); if(action & GMSH_SET) { opt->Transform[0][2] = val; @@ -5747,10 +5944,14 @@ double opt_view_transform02(OPT_ARGS_NUM) WID->view_value[53]->value(opt->Transform[0][2]); #endif return opt->Transform[0][2]; +#else + return 0.; +#endif } double opt_view_transform10(OPT_ARGS_NUM) { +#if !defined(HAVE_NO_POST) GET_VIEW(0.); if(action & GMSH_SET) { opt->Transform[1][0] = val; @@ -5761,10 +5962,14 @@ double opt_view_transform10(OPT_ARGS_NUM) WID->view_value[54]->value(opt->Transform[1][0]); #endif return opt->Transform[1][0]; +#else + return 0.; +#endif } double opt_view_transform11(OPT_ARGS_NUM) { +#if !defined(HAVE_NO_POST) GET_VIEW(0.); if(action & GMSH_SET) { opt->Transform[1][1] = val; @@ -5775,10 +5980,14 @@ double opt_view_transform11(OPT_ARGS_NUM) WID->view_value[55]->value(opt->Transform[1][1]); #endif return opt->Transform[1][1]; +#else + return 0.; +#endif } double opt_view_transform12(OPT_ARGS_NUM) { +#if !defined(HAVE_NO_POST) GET_VIEW(0.); if(action & GMSH_SET) { opt->Transform[1][2] = val; @@ -5789,10 +5998,14 @@ double opt_view_transform12(OPT_ARGS_NUM) WID->view_value[56]->value(opt->Transform[1][2]); #endif return opt->Transform[1][2]; +#else + return 0.; +#endif } double opt_view_transform20(OPT_ARGS_NUM) { +#if !defined(HAVE_NO_POST) GET_VIEW(0.); if(action & GMSH_SET) { opt->Transform[2][0] = val; @@ -5803,10 +6016,14 @@ double opt_view_transform20(OPT_ARGS_NUM) WID->view_value[57]->value(opt->Transform[2][0]); #endif return opt->Transform[2][0]; +#else + return 0.; +#endif } double opt_view_transform21(OPT_ARGS_NUM) { +#if !defined(HAVE_NO_POST) GET_VIEW(0.); if(action & GMSH_SET) { opt->Transform[2][1] = val; @@ -5817,10 +6034,14 @@ double opt_view_transform21(OPT_ARGS_NUM) WID->view_value[58]->value(opt->Transform[2][1]); #endif return opt->Transform[2][1]; +#else + return 0.; +#endif } double opt_view_transform22(OPT_ARGS_NUM) { +#if !defined(HAVE_NO_POST) GET_VIEW(0.); if(action & GMSH_SET) { opt->Transform[2][2] = val; @@ -5831,10 +6052,14 @@ double opt_view_transform22(OPT_ARGS_NUM) WID->view_value[59]->value(opt->Transform[2][2]); #endif return opt->Transform[2][2]; +#else + return 0.; +#endif } double opt_view_arrow_size(OPT_ARGS_NUM) { +#if !defined(HAVE_NO_POST) GET_VIEW(0.); if(action & GMSH_SET) { opt->ArrowSize = val; @@ -5844,10 +6069,14 @@ double opt_view_arrow_size(OPT_ARGS_NUM) WID->view_value[60]->value(opt->ArrowSize); #endif return opt->ArrowSize; +#else + return 0.; +#endif } double opt_view_arrow_size_proportional(OPT_ARGS_NUM) { +#if !defined(HAVE_NO_POST) GET_VIEW(0.); if(action & GMSH_SET) { opt->ArrowSizeProportional = (int)val; @@ -5857,10 +6086,14 @@ double opt_view_arrow_size_proportional(OPT_ARGS_NUM) WID->view_butt[0]->value(opt->ArrowSizeProportional); #endif return opt->ArrowSizeProportional; +#else + return 0.; +#endif } double opt_view_arrow_head_radius(OPT_ARGS_NUM) { +#if !defined(HAVE_NO_POST) GET_VIEW(0.); if(action & GMSH_SET){ if(val < 0.) val = 0.; @@ -5868,10 +6101,14 @@ double opt_view_arrow_head_radius(OPT_ARGS_NUM) opt->ArrowRelHeadRadius = val; } return opt->ArrowRelHeadRadius; +#else + return 0.; +#endif } double opt_view_arrow_stem_length(OPT_ARGS_NUM) { +#if !defined(HAVE_NO_POST) GET_VIEW(0.); if(action & GMSH_SET){ if(val < 0.) val = 0.; @@ -5879,10 +6116,14 @@ double opt_view_arrow_stem_length(OPT_ARGS_NUM) opt->ArrowRelStemLength = val; } return opt->ArrowRelStemLength; +#else + return 0.; +#endif } double opt_view_arrow_stem_radius(OPT_ARGS_NUM) { +#if !defined(HAVE_NO_POST) GET_VIEW(0.); if(action & GMSH_SET){ if(val < 0.) val = 0.; @@ -5890,10 +6131,14 @@ double opt_view_arrow_stem_radius(OPT_ARGS_NUM) opt->ArrowRelStemRadius = val; } return opt->ArrowRelStemRadius; +#else + return 0.; +#endif } double opt_view_normals(OPT_ARGS_NUM) { +#if !defined(HAVE_NO_POST) GET_VIEW(0.); if(action & GMSH_SET) { opt->Normals = val; @@ -5903,10 +6148,14 @@ double opt_view_normals(OPT_ARGS_NUM) WID->view_value[0]->value(opt->Normals); #endif return opt->Normals; +#else + return 0.; +#endif } double opt_view_tangents(OPT_ARGS_NUM) { +#if !defined(HAVE_NO_POST) GET_VIEW(0.); if(action & GMSH_SET) { opt->Tangents = val; @@ -5916,10 +6165,14 @@ double opt_view_tangents(OPT_ARGS_NUM) WID->view_value[1]->value(opt->Tangents); #endif return opt->Tangents; +#else + return 0.; +#endif } double opt_view_displacement_factor(OPT_ARGS_NUM) { +#if !defined(HAVE_NO_POST) GET_VIEW(0.); if(action & GMSH_SET) { opt->DisplacementFactor = val; @@ -5930,10 +6183,14 @@ double opt_view_displacement_factor(OPT_ARGS_NUM) WID->view_value[63]->value(opt->DisplacementFactor); #endif return opt->DisplacementFactor; +#else + return 0.; +#endif } double opt_view_fake_transparency(OPT_ARGS_NUM) { +#if !defined(HAVE_NO_POST) GET_VIEW(0.); if(action & GMSH_SET) { opt->FakeTransparency = (int)val; @@ -5944,10 +6201,14 @@ double opt_view_fake_transparency(OPT_ARGS_NUM) WID->view_butt[24]->value(opt->FakeTransparency); #endif return opt->FakeTransparency; +#else + return 0.; +#endif } double opt_view_explode(OPT_ARGS_NUM) { +#if !defined(HAVE_NO_POST) GET_VIEW(0.); if(action & GMSH_SET) { opt->Explode = val; @@ -5958,10 +6219,14 @@ double opt_view_explode(OPT_ARGS_NUM) WID->view_value[12]->value(opt->Explode); #endif return opt->Explode; +#else + return 0.; +#endif } double opt_view_visible(OPT_ARGS_NUM) { +#if !defined(HAVE_NO_POST) GET_VIEW(0.); if(action & GMSH_SET) { opt->Visible = (int)val; @@ -5971,10 +6236,14 @@ double opt_view_visible(OPT_ARGS_NUM) WID->m_toggle_butt[num]->value(opt->Visible); #endif return opt->Visible; +#else + return 0.; +#endif } double opt_view_intervals_type(OPT_ARGS_NUM) { +#if !defined(HAVE_NO_POST) GET_VIEW(0.); if(action & GMSH_SET) { opt->IntervalsType = (int)val; @@ -5988,10 +6257,14 @@ double opt_view_intervals_type(OPT_ARGS_NUM) } #endif return opt->IntervalsType; +#else + return 0.; +#endif } double opt_view_saturate_values(OPT_ARGS_NUM) { +#if !defined(HAVE_NO_POST) GET_VIEW(0.); if(action & GMSH_SET) { opt->SaturateValues = (int)val; @@ -6003,10 +6276,14 @@ double opt_view_saturate_values(OPT_ARGS_NUM) } #endif return opt->SaturateValues; +#else + return 0.; +#endif } double opt_view_max_recursion_level(OPT_ARGS_NUM) { +#if !defined(HAVE_NO_POST) GET_VIEW(0.); if(action & GMSH_SET) { opt->MaxRecursionLevel = (int)val; @@ -6022,10 +6299,14 @@ double opt_view_max_recursion_level(OPT_ARGS_NUM) } #endif return opt->MaxRecursionLevel; +#else + return 0.; +#endif } double opt_view_target_error(OPT_ARGS_NUM) { +#if !defined(HAVE_NO_POST) GET_VIEW(0.); if(action & GMSH_SET) { opt->TargetError = val; @@ -6041,10 +6322,14 @@ double opt_view_target_error(OPT_ARGS_NUM) } #endif return opt->TargetError; +#else + return 0.; +#endif } double opt_view_type(OPT_ARGS_NUM) { +#if !defined(HAVE_NO_POST) GET_VIEW(0.); if(action & GMSH_SET) { opt->Type = (int)val; @@ -6058,10 +6343,14 @@ double opt_view_type(OPT_ARGS_NUM) } #endif return opt->Type; +#else + return 0.; +#endif } double opt_view_auto_position(OPT_ARGS_NUM) { +#if !defined(HAVE_NO_POST) GET_VIEW(0.); if(action & GMSH_SET) { opt->AutoPosition = (int)val; @@ -6073,10 +6362,14 @@ double opt_view_auto_position(OPT_ARGS_NUM) } #endif return opt->AutoPosition; +#else + return 0.; +#endif } double opt_view_position0(OPT_ARGS_NUM) { +#if !defined(HAVE_NO_POST) GET_VIEW(0.); if(action & GMSH_SET) { opt->Position[0] = (int)val; @@ -6086,10 +6379,14 @@ double opt_view_position0(OPT_ARGS_NUM) WID->view_value[20]->value(opt->Position[0]); #endif return opt->Position[0]; +#else + return 0.; +#endif } double opt_view_position1(OPT_ARGS_NUM) { +#if !defined(HAVE_NO_POST) GET_VIEW(0.); if(action & GMSH_SET) { opt->Position[1] = (int)val; @@ -6099,10 +6396,14 @@ double opt_view_position1(OPT_ARGS_NUM) WID->view_value[21]->value(opt->Position[1]); #endif return opt->Position[1]; +#else + return 0.; +#endif } double opt_view_size0(OPT_ARGS_NUM) { +#if !defined(HAVE_NO_POST) GET_VIEW(0.); if(action & GMSH_SET) { opt->Size[0] = (int)val; @@ -6112,10 +6413,14 @@ double opt_view_size0(OPT_ARGS_NUM) WID->view_value[22]->value(opt->Size[0]); #endif return opt->Size[0]; +#else + return 0.; +#endif } double opt_view_size1(OPT_ARGS_NUM) { +#if !defined(HAVE_NO_POST) GET_VIEW(0.); if(action & GMSH_SET) { opt->Size[1] = (int)val; @@ -6125,10 +6430,14 @@ double opt_view_size1(OPT_ARGS_NUM) WID->view_value[23]->value(opt->Size[1]); #endif return opt->Size[1]; +#else + return 0.; +#endif } double opt_view_axes(OPT_ARGS_NUM) { +#if !defined(HAVE_NO_POST) GET_VIEW(0.); if(action & GMSH_SET) { opt->Axes = (int)val; @@ -6142,9 +6451,13 @@ double opt_view_axes(OPT_ARGS_NUM) } #endif return opt->Axes; +#else + return 0.; +#endif } double opt_view_axes_mikado(OPT_ARGS_NUM){ +#if !defined(HAVE_NO_POST) GET_VIEW(0.); if(action & GMSH_SET) { opt->AxesMikado = (int)val; @@ -6155,10 +6468,14 @@ double opt_view_axes_mikado(OPT_ARGS_NUM){ } #endif return opt->AxesMikado; +#else + return 0.; +#endif } double opt_view_axes_auto_position(OPT_ARGS_NUM) { +#if !defined(HAVE_NO_POST) GET_VIEW(0.); if(action & GMSH_SET) { opt->AxesAutoPosition = (int)val; @@ -6170,10 +6487,14 @@ double opt_view_axes_auto_position(OPT_ARGS_NUM) } #endif return opt->AxesAutoPosition; +#else + return 0.; +#endif } double opt_view_axes_xmin(OPT_ARGS_NUM) { +#if !defined(HAVE_NO_POST) GET_VIEW(0.); if(action & GMSH_SET) { opt->AxesPosition[0] = val; @@ -6184,10 +6505,14 @@ double opt_view_axes_xmin(OPT_ARGS_NUM) } #endif return opt->AxesPosition[0]; +#else + return 0.; +#endif } double opt_view_axes_xmax(OPT_ARGS_NUM) { +#if !defined(HAVE_NO_POST) GET_VIEW(0.); if(action & GMSH_SET) { opt->AxesPosition[1] = val; @@ -6198,10 +6523,14 @@ double opt_view_axes_xmax(OPT_ARGS_NUM) } #endif return opt->AxesPosition[1]; +#else + return 0.; +#endif } double opt_view_axes_ymin(OPT_ARGS_NUM) { +#if !defined(HAVE_NO_POST) GET_VIEW(0.); if(action & GMSH_SET) { opt->AxesPosition[2] = val; @@ -6212,10 +6541,14 @@ double opt_view_axes_ymin(OPT_ARGS_NUM) } #endif return opt->AxesPosition[2]; +#else + return 0.; +#endif } double opt_view_axes_ymax(OPT_ARGS_NUM) { +#if !defined(HAVE_NO_POST) GET_VIEW(0.); if(action & GMSH_SET) { opt->AxesPosition[3] = val; @@ -6226,10 +6559,14 @@ double opt_view_axes_ymax(OPT_ARGS_NUM) } #endif return opt->AxesPosition[3]; +#else + return 0.; +#endif } double opt_view_axes_zmin(OPT_ARGS_NUM) { +#if !defined(HAVE_NO_POST) GET_VIEW(0.); if(action & GMSH_SET) { opt->AxesPosition[4] = val; @@ -6240,10 +6577,14 @@ double opt_view_axes_zmin(OPT_ARGS_NUM) } #endif return opt->AxesPosition[4]; +#else + return 0.; +#endif } double opt_view_axes_zmax(OPT_ARGS_NUM) { +#if !defined(HAVE_NO_POST) GET_VIEW(0.); if(action & GMSH_SET) { opt->AxesPosition[5] = val; @@ -6254,10 +6595,14 @@ double opt_view_axes_zmax(OPT_ARGS_NUM) } #endif return opt->AxesPosition[5]; +#else + return 0.; +#endif } double opt_view_axes_tics0(OPT_ARGS_NUM) { +#if !defined(HAVE_NO_POST) GET_VIEW(0.); if(action & GMSH_SET) { opt->AxesTics[0] = (int)val; @@ -6268,10 +6613,14 @@ double opt_view_axes_tics0(OPT_ARGS_NUM) } #endif return opt->AxesTics[0]; +#else + return 0.; +#endif } double opt_view_axes_tics1(OPT_ARGS_NUM) { +#if !defined(HAVE_NO_POST) GET_VIEW(0.); if(action & GMSH_SET) { opt->AxesTics[1] = (int)val; @@ -6282,10 +6631,14 @@ double opt_view_axes_tics1(OPT_ARGS_NUM) } #endif return opt->AxesTics[1]; +#else + return 0.; +#endif } double opt_view_axes_tics2(OPT_ARGS_NUM) { +#if !defined(HAVE_NO_POST) GET_VIEW(0.); if(action & GMSH_SET) { opt->AxesTics[2] = (int)val; @@ -6296,10 +6649,14 @@ double opt_view_axes_tics2(OPT_ARGS_NUM) } #endif return opt->AxesTics[2]; +#else + return 0.; +#endif } double opt_view_nb_iso(OPT_ARGS_NUM) { +#if !defined(HAVE_NO_POST) GET_VIEW(0.); if(action & GMSH_SET) { opt->NbIso = (int)val; @@ -6310,10 +6667,14 @@ double opt_view_nb_iso(OPT_ARGS_NUM) WID->view_value[30]->value(opt->NbIso); #endif return opt->NbIso; +#else + return 0.; +#endif } double opt_view_boundary(OPT_ARGS_NUM) { +#if !defined(HAVE_NO_POST) GET_VIEW(0.); if(action & GMSH_SET) { opt->Boundary = (int)val; @@ -6327,10 +6688,14 @@ double opt_view_boundary(OPT_ARGS_NUM) } #endif return opt->Boundary; +#else + return 0.; +#endif } double opt_view_light(OPT_ARGS_NUM) { +#if !defined(HAVE_NO_POST) GET_VIEW(0.); if(action & GMSH_SET) { opt->Light = (int)val; @@ -6343,10 +6708,14 @@ double opt_view_light(OPT_ARGS_NUM) } #endif return opt->Light; +#else + return 0.; +#endif } double opt_view_light_two_side(OPT_ARGS_NUM) { +#if !defined(HAVE_NO_POST) GET_VIEW(0.); if(action & GMSH_SET) { opt->LightTwoSide = (int)val; @@ -6356,10 +6725,14 @@ double opt_view_light_two_side(OPT_ARGS_NUM) WID->view_butt[9]->value(opt->LightTwoSide); #endif return opt->LightTwoSide; +#else + return 0.; +#endif } double opt_view_light_lines(OPT_ARGS_NUM) { +#if !defined(HAVE_NO_POST) GET_VIEW(0.); if(action & GMSH_SET) { opt->LightLines = (int)val; @@ -6369,10 +6742,14 @@ double opt_view_light_lines(OPT_ARGS_NUM) WID->view_butt[8]->value(opt->LightLines); #endif return opt->LightLines; +#else + return 0.; +#endif } double opt_view_smooth_normals(OPT_ARGS_NUM) { +#if !defined(HAVE_NO_POST) GET_VIEW(0.); if(action & GMSH_SET) { opt->SmoothNormals = (int)val; @@ -6383,10 +6760,14 @@ double opt_view_smooth_normals(OPT_ARGS_NUM) WID->view_butt[12]->value(opt->SmoothNormals); #endif return opt->SmoothNormals; +#else + return 0.; +#endif } double opt_view_angle_smooth_normals(OPT_ARGS_NUM) { +#if !defined(HAVE_NO_POST) GET_VIEW(0.); if(action & GMSH_SET) { opt->AngleSmoothNormals = val; @@ -6397,10 +6778,14 @@ double opt_view_angle_smooth_normals(OPT_ARGS_NUM) WID->view_value[10]->value(opt->AngleSmoothNormals); #endif return opt->AngleSmoothNormals; +#else + return 0.; +#endif } double opt_view_show_element(OPT_ARGS_NUM) { +#if !defined(HAVE_NO_POST) GET_VIEW(0.); if(action & GMSH_SET) { opt->ShowElement = (int)val; @@ -6411,10 +6796,14 @@ double opt_view_show_element(OPT_ARGS_NUM) WID->view_butt[10]->value(opt->ShowElement); #endif return opt->ShowElement; +#else + return 0.; +#endif } double opt_view_show_time(OPT_ARGS_NUM) { +#if !defined(HAVE_NO_POST) GET_VIEW(0.); if(action & GMSH_SET) { opt->ShowTime = (int)val; @@ -6426,10 +6815,14 @@ double opt_view_show_time(OPT_ARGS_NUM) WID->view_choice[12]->value(opt->ShowTime); #endif return opt->ShowTime; +#else + return 0.; +#endif } double opt_view_show_scale(OPT_ARGS_NUM) { +#if !defined(HAVE_NO_POST) GET_VIEW(0.); if(action & GMSH_SET) { opt->ShowScale = (int)val; @@ -6439,10 +6832,14 @@ double opt_view_show_scale(OPT_ARGS_NUM) WID->view_butt[4]->value(opt->ShowScale); #endif return opt->ShowScale; +#else + return 0.; +#endif } double opt_view_draw_strings(OPT_ARGS_NUM) { +#if !defined(HAVE_NO_POST) GET_VIEW(0.); if(action & GMSH_SET) { opt->DrawStrings = (int)val; @@ -6452,10 +6849,14 @@ double opt_view_draw_strings(OPT_ARGS_NUM) WID->view_butt[5]->value(opt->DrawStrings); #endif return opt->DrawStrings; +#else + return 0.; +#endif } double opt_view_draw_points(OPT_ARGS_NUM) { +#if !defined(HAVE_NO_POST) GET_VIEW(0.); if(action & GMSH_SET) { opt->DrawPoints = (int)val; @@ -6470,10 +6871,14 @@ double opt_view_draw_points(OPT_ARGS_NUM) } #endif return opt->DrawPoints; +#else + return 0.; +#endif } double opt_view_draw_lines(OPT_ARGS_NUM) { +#if !defined(HAVE_NO_POST) GET_VIEW(0.); if(action & GMSH_SET) { opt->DrawLines = (int)val; @@ -6488,10 +6893,14 @@ double opt_view_draw_lines(OPT_ARGS_NUM) } #endif return opt->DrawLines; +#else + return 0.; +#endif } double opt_view_draw_triangles(OPT_ARGS_NUM) { +#if !defined(HAVE_NO_POST) GET_VIEW(0.); if(action & GMSH_SET) { opt->DrawTriangles = (int)val; @@ -6506,10 +6915,14 @@ double opt_view_draw_triangles(OPT_ARGS_NUM) } #endif return opt->DrawTriangles; +#else + return 0.; +#endif } double opt_view_draw_quadrangles(OPT_ARGS_NUM) { +#if !defined(HAVE_NO_POST) GET_VIEW(0.); if(action & GMSH_SET) { opt->DrawQuadrangles = (int)val; @@ -6524,10 +6937,14 @@ double opt_view_draw_quadrangles(OPT_ARGS_NUM) } #endif return opt->DrawQuadrangles; +#else + return 0.; +#endif } double opt_view_draw_tetrahedra(OPT_ARGS_NUM) { +#if !defined(HAVE_NO_POST) GET_VIEW(0.); if(action & GMSH_SET) { opt->DrawTetrahedra = (int)val; @@ -6542,10 +6959,14 @@ double opt_view_draw_tetrahedra(OPT_ARGS_NUM) } #endif return opt->DrawTetrahedra; +#else + return 0.; +#endif } double opt_view_draw_hexahedra(OPT_ARGS_NUM) { +#if !defined(HAVE_NO_POST) GET_VIEW(0.); if(action & GMSH_SET) { opt->DrawHexahedra = (int)val; @@ -6560,10 +6981,14 @@ double opt_view_draw_hexahedra(OPT_ARGS_NUM) } #endif return opt->DrawHexahedra; +#else + return 0.; +#endif } double opt_view_draw_prisms(OPT_ARGS_NUM) { +#if !defined(HAVE_NO_POST) GET_VIEW(0.); if(action & GMSH_SET) { opt->DrawPrisms = (int)val; @@ -6578,10 +7003,14 @@ double opt_view_draw_prisms(OPT_ARGS_NUM) } #endif return opt->DrawPrisms; +#else + return 0.; +#endif } double opt_view_draw_pyramids(OPT_ARGS_NUM) { +#if !defined(HAVE_NO_POST) GET_VIEW(0.); if(action & GMSH_SET) { opt->DrawPyramids = (int)val; @@ -6596,10 +7025,14 @@ double opt_view_draw_pyramids(OPT_ARGS_NUM) } #endif return opt->DrawPyramids; +#else + return 0.; +#endif } double opt_view_draw_scalars(OPT_ARGS_NUM) { +#if !defined(HAVE_NO_POST) GET_VIEW(0.); if(action & GMSH_SET) { opt->DrawScalars = (int)val; @@ -6614,10 +7047,14 @@ double opt_view_draw_scalars(OPT_ARGS_NUM) } #endif return opt->DrawScalars; +#else + return 0.; +#endif } double opt_view_draw_vectors(OPT_ARGS_NUM) { +#if !defined(HAVE_NO_POST) GET_VIEW(0.); if(action & GMSH_SET) { opt->DrawVectors = (int)val; @@ -6632,10 +7069,14 @@ double opt_view_draw_vectors(OPT_ARGS_NUM) } #endif return opt->DrawVectors; +#else + return 0.; +#endif } double opt_view_draw_tensors(OPT_ARGS_NUM) { +#if !defined(HAVE_NO_POST) GET_VIEW(0.); if(action & GMSH_SET) { opt->DrawTensors = (int)val; @@ -6650,10 +7091,14 @@ double opt_view_draw_tensors(OPT_ARGS_NUM) } #endif return opt->DrawTensors; +#else + return 0.; +#endif } double opt_view_draw_skin_only(OPT_ARGS_NUM) { +#if !defined(HAVE_NO_POST) GET_VIEW(0.); if(action & GMSH_SET) { opt->DrawSkinOnly = (int)val; @@ -6664,10 +7109,14 @@ double opt_view_draw_skin_only(OPT_ARGS_NUM) WID->view_butt[2]->value(opt->DrawSkinOnly); #endif return opt->DrawSkinOnly; +#else + return 0.; +#endif } double opt_view_scale_type(OPT_ARGS_NUM) { +#if !defined(HAVE_NO_POST) GET_VIEW(0.); if(action & GMSH_SET) { opt->ScaleType = (int)val; @@ -6681,10 +7130,14 @@ double opt_view_scale_type(OPT_ARGS_NUM) } #endif return opt->ScaleType; +#else + return 0.; +#endif } double opt_view_range_type(OPT_ARGS_NUM) { +#if !defined(HAVE_NO_POST) GET_VIEW(0.); if(action & GMSH_SET) { opt->RangeType = (int)val; @@ -6699,10 +7152,14 @@ double opt_view_range_type(OPT_ARGS_NUM) } #endif return opt->RangeType; +#else + return 0.; +#endif } double opt_view_tensor_type(OPT_ARGS_NUM) { +#if !defined(HAVE_NO_POST) GET_VIEW(0.); if(action & GMSH_SET) { opt->TensorType = (int)val; @@ -6716,10 +7173,14 @@ double opt_view_tensor_type(OPT_ARGS_NUM) } #endif return opt->TensorType; +#else + return 0.; +#endif } double opt_view_vector_type(OPT_ARGS_NUM) { +#if !defined(HAVE_NO_POST) GET_VIEW(0.); if(action & GMSH_SET) { opt->VectorType = (int)val; @@ -6733,10 +7194,14 @@ double opt_view_vector_type(OPT_ARGS_NUM) } #endif return opt->VectorType; +#else + return 0.; +#endif } double opt_view_glyph_location(OPT_ARGS_NUM) { +#if !defined(HAVE_NO_POST) GET_VIEW(0.); if(action & GMSH_SET) { opt->GlyphLocation = (int)val; @@ -6750,10 +7215,14 @@ double opt_view_glyph_location(OPT_ARGS_NUM) } #endif return opt->GlyphLocation; +#else + return 0.; +#endif } double opt_view_center_glyphs(OPT_ARGS_NUM) { +#if !defined(HAVE_NO_POST) GET_VIEW(0.); if(action & GMSH_SET) { opt->CenterGlyphs = val ? 1 : 0; @@ -6765,10 +7234,14 @@ double opt_view_center_glyphs(OPT_ARGS_NUM) } #endif return opt->CenterGlyphs; +#else + return 0.; +#endif } double opt_view_point_size(OPT_ARGS_NUM) { +#if !defined(HAVE_NO_POST) GET_VIEW(0.); if(action & GMSH_SET) { opt->PointSize = val; @@ -6778,10 +7251,14 @@ double opt_view_point_size(OPT_ARGS_NUM) WID->view_value[61]->value(opt->PointSize); #endif return opt->PointSize; +#else + return 0.; +#endif } double opt_view_line_width(OPT_ARGS_NUM) { +#if !defined(HAVE_NO_POST) GET_VIEW(0.); if(action & GMSH_SET) { opt->LineWidth = val; @@ -6791,10 +7268,14 @@ double opt_view_line_width(OPT_ARGS_NUM) WID->view_value[62]->value(opt->LineWidth); #endif return opt->LineWidth; +#else + return 0.; +#endif } double opt_view_point_type(OPT_ARGS_NUM) { +#if !defined(HAVE_NO_POST) GET_VIEW(0.); if(action & GMSH_SET) { opt->PointType = (int)val; @@ -6808,10 +7289,14 @@ double opt_view_point_type(OPT_ARGS_NUM) } #endif return opt->PointType; +#else + return 0.; +#endif } double opt_view_line_type(OPT_ARGS_NUM) { +#if !defined(HAVE_NO_POST) GET_VIEW(0.); if(action & GMSH_SET) { opt->LineType = (int)val; @@ -6825,10 +7310,14 @@ double opt_view_line_type(OPT_ARGS_NUM) } #endif return opt->LineType; +#else + return 0.; +#endif } double opt_view_colormap_alpha(OPT_ARGS_NUM) { +#if !defined(HAVE_NO_POST) GET_VIEW(0.); if(action & GMSH_SET) { opt->CT.dpar[COLORTABLE_ALPHA] = val; @@ -6841,10 +7330,14 @@ double opt_view_colormap_alpha(OPT_ARGS_NUM) } #endif return opt->CT.dpar[COLORTABLE_ALPHA]; +#else + return 0.; +#endif } double opt_view_colormap_alpha_power(OPT_ARGS_NUM) { +#if !defined(HAVE_NO_POST) GET_VIEW(0.); if(action & GMSH_SET) { opt->CT.dpar[COLORTABLE_ALPHAPOW] = val; @@ -6857,10 +7350,14 @@ double opt_view_colormap_alpha_power(OPT_ARGS_NUM) } #endif return opt->CT.dpar[COLORTABLE_ALPHAPOW]; +#else + return 0.; +#endif } double opt_view_colormap_beta(OPT_ARGS_NUM) { +#if !defined(HAVE_NO_POST) GET_VIEW(0.); if(action & GMSH_SET) { opt->CT.dpar[COLORTABLE_BETA] = val; @@ -6873,10 +7370,14 @@ double opt_view_colormap_beta(OPT_ARGS_NUM) } #endif return opt->CT.dpar[COLORTABLE_BETA]; +#else + return 0.; +#endif } double opt_view_colormap_bias(OPT_ARGS_NUM) { +#if !defined(HAVE_NO_POST) GET_VIEW(0.); if(action & GMSH_SET) { opt->CT.dpar[COLORTABLE_BIAS] = val; @@ -6889,10 +7390,14 @@ double opt_view_colormap_bias(OPT_ARGS_NUM) } #endif return opt->CT.dpar[COLORTABLE_BIAS]; +#else + return 0.; +#endif } double opt_view_colormap_curvature(OPT_ARGS_NUM) { +#if !defined(HAVE_NO_POST) GET_VIEW(0.); if(action & GMSH_SET) { opt->CT.dpar[COLORTABLE_CURVATURE] = val; @@ -6905,10 +7410,14 @@ double opt_view_colormap_curvature(OPT_ARGS_NUM) } #endif return opt->CT.dpar[COLORTABLE_CURVATURE]; +#else + return 0.; +#endif } double opt_view_colormap_invert(OPT_ARGS_NUM) { +#if !defined(HAVE_NO_POST) GET_VIEW(0.); if(action & GMSH_SET) { opt->CT.ipar[COLORTABLE_INVERT] = (int)val; @@ -6921,10 +7430,14 @@ double opt_view_colormap_invert(OPT_ARGS_NUM) } #endif return opt->CT.ipar[COLORTABLE_INVERT]; +#else + return 0.; +#endif } double opt_view_colormap_number(OPT_ARGS_NUM) { +#if !defined(HAVE_NO_POST) GET_VIEW(0.); if(action & GMSH_SET) { opt->CT.ipar[COLORTABLE_NUMBER] = (int)val; @@ -6937,10 +7450,14 @@ double opt_view_colormap_number(OPT_ARGS_NUM) } #endif return opt->CT.ipar[COLORTABLE_NUMBER]; +#else + return 0.; +#endif } double opt_view_colormap_rotation(OPT_ARGS_NUM) { +#if !defined(HAVE_NO_POST) GET_VIEW(0.); if(action & GMSH_SET) { opt->CT.ipar[COLORTABLE_ROTATION] = (int)val; @@ -6953,10 +7470,14 @@ double opt_view_colormap_rotation(OPT_ARGS_NUM) } #endif return opt->CT.ipar[COLORTABLE_ROTATION]; +#else + return 0.; +#endif } double opt_view_colormap_swap(OPT_ARGS_NUM) { +#if !defined(HAVE_NO_POST) GET_VIEW(0.); if(action & GMSH_SET) { opt->CT.ipar[COLORTABLE_SWAP] = (int)val; @@ -6969,10 +7490,14 @@ double opt_view_colormap_swap(OPT_ARGS_NUM) } #endif return opt->CT.ipar[COLORTABLE_SWAP]; +#else + return 0.; +#endif } double opt_view_external_view(OPT_ARGS_NUM) { +#if !defined(HAVE_NO_POST) GET_VIEW(0.); if(action & GMSH_SET) { opt->ExternalViewIndex = (int)val; @@ -6989,10 +7514,14 @@ double opt_view_external_view(OPT_ARGS_NUM) } #endif return opt->ExternalViewIndex; +#else + return 0.; +#endif } double opt_view_gen_raise_view(OPT_ARGS_NUM) { +#if !defined(HAVE_NO_POST) GET_VIEW(0.); if(action & GMSH_SET) { opt->ViewIndexForGenRaise = (int)val; @@ -7009,10 +7538,14 @@ double opt_view_gen_raise_view(OPT_ARGS_NUM) } #endif return opt->ViewIndexForGenRaise; +#else + return 0.; +#endif } double opt_view_gen_raise_factor(OPT_ARGS_NUM) { +#if !defined(HAVE_NO_POST) GET_VIEW(0.); if(action & GMSH_SET) { opt->GenRaiseFactor = val; @@ -7023,10 +7556,14 @@ double opt_view_gen_raise_factor(OPT_ARGS_NUM) WID->view_value[2]->value(opt->GenRaiseFactor); #endif return opt->GenRaiseFactor; +#else + return 0.; +#endif } double opt_view_use_gen_raise(OPT_ARGS_NUM) { +#if !defined(HAVE_NO_POST) GET_VIEW(0.); if(action & GMSH_SET) { opt->UseGenRaise = (int)val; @@ -7039,10 +7576,14 @@ double opt_view_use_gen_raise(OPT_ARGS_NUM) } #endif return opt->UseGenRaise; +#else + return 0.; +#endif } double opt_view_use_stipple(OPT_ARGS_NUM) { +#if !defined(HAVE_NO_POST) GET_VIEW(0.); if(action & GMSH_SET) { opt->UseStipple = (int)val; @@ -7053,6 +7594,9 @@ double opt_view_use_stipple(OPT_ARGS_NUM) } #endif return opt->UseStipple; +#else + return 0.; +#endif } double opt_print_format(OPT_ARGS_NUM) @@ -7630,6 +8174,7 @@ unsigned int opt_mesh_color_19(OPT_ARGS_COL){ return opt_mesh_color_(19, num, ac unsigned int opt_view_color_points(OPT_ARGS_COL) { +#if !defined(HAVE_NO_POST) GET_VIEW(0); if(action & GMSH_SET) { opt->color.point = val; @@ -7641,10 +8186,14 @@ unsigned int opt_view_color_points(OPT_ARGS_COL) } #endif return opt->color.point; +#else + return 0; +#endif } unsigned int opt_view_color_lines(OPT_ARGS_COL) { +#if !defined(HAVE_NO_POST) GET_VIEW(0); if(action & GMSH_SET) { opt->color.line = val; @@ -7656,10 +8205,14 @@ unsigned int opt_view_color_lines(OPT_ARGS_COL) } #endif return opt->color.line; +#else + return 0; +#endif } unsigned int opt_view_color_triangles(OPT_ARGS_COL) { +#if !defined(HAVE_NO_POST) GET_VIEW(0); if(action & GMSH_SET) { opt->color.triangle = val; @@ -7671,10 +8224,14 @@ unsigned int opt_view_color_triangles(OPT_ARGS_COL) } #endif return opt->color.triangle; +#else + return 0; +#endif } unsigned int opt_view_color_quadrangles(OPT_ARGS_COL) { +#if !defined(HAVE_NO_POST) GET_VIEW(0); if(action & GMSH_SET) { opt->color.quadrangle = val; @@ -7686,10 +8243,14 @@ unsigned int opt_view_color_quadrangles(OPT_ARGS_COL) } #endif return opt->color.quadrangle; +#else + return 0; +#endif } unsigned int opt_view_color_tetrahedra(OPT_ARGS_COL) { +#if !defined(HAVE_NO_POST) GET_VIEW(0); if(action & GMSH_SET) { opt->color.tetrahedron = val; @@ -7701,10 +8262,14 @@ unsigned int opt_view_color_tetrahedra(OPT_ARGS_COL) } #endif return opt->color.tetrahedron; +#else + return 0; +#endif } unsigned int opt_view_color_hexahedra(OPT_ARGS_COL) { +#if !defined(HAVE_NO_POST) GET_VIEW(0); if(action & GMSH_SET) { opt->color.hexahedron = val; @@ -7716,10 +8281,14 @@ unsigned int opt_view_color_hexahedra(OPT_ARGS_COL) } #endif return opt->color.hexahedron; +#else + return 0; +#endif } unsigned int opt_view_color_prisms(OPT_ARGS_COL) { +#if !defined(HAVE_NO_POST) GET_VIEW(0); if(action & GMSH_SET) { opt->color.prism = val; @@ -7731,10 +8300,14 @@ unsigned int opt_view_color_prisms(OPT_ARGS_COL) } #endif return opt->color.prism; +#else + return 0; +#endif } unsigned int opt_view_color_pyramids(OPT_ARGS_COL) { +#if !defined(HAVE_NO_POST) GET_VIEW(0); if(action & GMSH_SET) { opt->color.pyramid = val; @@ -7746,10 +8319,14 @@ unsigned int opt_view_color_pyramids(OPT_ARGS_COL) } #endif return opt->color.pyramid; +#else + return 0; +#endif } unsigned int opt_view_color_tangents(OPT_ARGS_COL) { +#if !defined(HAVE_NO_POST) GET_VIEW(0); if(action & GMSH_SET) { opt->color.tangents = val; @@ -7761,10 +8338,14 @@ unsigned int opt_view_color_tangents(OPT_ARGS_COL) } #endif return opt->color.tangents; +#else + return 0; +#endif } unsigned int opt_view_color_normals(OPT_ARGS_COL) { +#if !defined(HAVE_NO_POST) GET_VIEW(0); if(action & GMSH_SET) { opt->color.normals = val; @@ -7776,10 +8357,14 @@ unsigned int opt_view_color_normals(OPT_ARGS_COL) } #endif return opt->color.normals; +#else + return 0; +#endif } unsigned int opt_view_color_text2d(OPT_ARGS_COL) { +#if !defined(HAVE_NO_POST) GET_VIEW(0); if(action & GMSH_SET) { opt->color.text2d = val; @@ -7790,10 +8375,14 @@ unsigned int opt_view_color_text2d(OPT_ARGS_COL) } #endif return opt->color.text2d; +#else + return 0; +#endif } unsigned int opt_view_color_text3d(OPT_ARGS_COL) { +#if !defined(HAVE_NO_POST) GET_VIEW(0); if(action & GMSH_SET) { opt->color.text3d = val; @@ -7804,10 +8393,14 @@ unsigned int opt_view_color_text3d(OPT_ARGS_COL) } #endif return opt->color.text3d; +#else + return 0; +#endif } unsigned int opt_view_color_axes(OPT_ARGS_COL) { +#if !defined(HAVE_NO_POST) GET_VIEW(0); if(action & GMSH_SET) { opt->color.axes = val; @@ -7818,4 +8411,7 @@ unsigned int opt_view_color_axes(OPT_ARGS_COL) } #endif return opt->color.axes; +#else + return 0; +#endif } diff --git a/Geo/GEdge.cpp b/Geo/GEdge.cpp index 209a9a1d09276b88c1db581c53d434d4ec42365c..c697ad7a61039193c28e7ee7321f870d449aed31 100644 --- a/Geo/GEdge.cpp +++ b/Geo/GEdge.cpp @@ -1,4 +1,4 @@ -// $Id: GEdge.cpp,v 1.47 2008-04-23 09:02:53 geuzaine Exp $ +// $Id: GEdge.cpp,v 1.48 2008-04-28 10:10:52 geuzaine Exp $ // // Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle // @@ -136,6 +136,12 @@ std::string GEdge::getAdditionalInfoString() return std::string(tmp); } +GPoint GEdge::closestPoint(const SPoint3 & queryPoint) const +{ + Msg(GERROR, "Closet point not implemented for this type of edge"); + return GPoint(0, 0, 0); +} + int GEdge::containsParam(double pt) const { Range<double> rg = parBounds(0); diff --git a/Geo/GEdge.h b/Geo/GEdge.h index d53fa4256420e9185af152b97568ac0fec5ed267..c2a4db0bd1f68a7aad87e7d2763df5b50b7b4fee 100644 --- a/Geo/GEdge.h +++ b/Geo/GEdge.h @@ -66,7 +66,7 @@ class GEdge : public GEntity { virtual GPoint point(double p) const = 0; // Get the closest point on the edge to the given point. - virtual GPoint closestPoint(const SPoint3 & queryPoint) const { throw; } + virtual GPoint closestPoint(const SPoint3 & queryPoint) const; // True if the edge contains the given parameter. virtual int containsParam(double pt) const; diff --git a/Geo/GFace.cpp b/Geo/GFace.cpp index b1fe9d4e7e3f4374b17ca935ec585c600ef91354..43dbb95ad1c812b0ecc8235962626c30148e3aca 100644 --- a/Geo/GFace.cpp +++ b/Geo/GFace.cpp @@ -1,4 +1,4 @@ -// $Id: GFace.cpp,v 1.60 2008-03-20 11:44:04 geuzaine Exp $ +// $Id: GFace.cpp,v 1.61 2008-04-28 10:10:52 geuzaine Exp $ // // Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle // @@ -112,6 +112,14 @@ SBoundingBox3d GFace::bounds() const return res; } +surface_params GFace::getSurfaceParams() const +{ + surface_params p; + p.radius = p.radius2 = p.height = p.cx = p.cy = p.cz = 0.; + Msg(GERROR, "Empty surface parameters for this type of surface"); + return p; +} + std::list<GVertex*> GFace::vertices() const { std::list<GEdge*>::const_iterator it = l_edges.begin(); @@ -430,7 +438,7 @@ void GFace::getMeanPlaneData(double plan[3][3]) const plan[i][j] = meanPlane.plan[i][j]; } -double GFace::curvature (const SPoint2 ¶m) const +double GFace::curvature(const SPoint2 ¶m) const { if (geomType() == Plane) return 0; @@ -466,6 +474,12 @@ double GFace::curvature (const SPoint2 ¶m) const return c; } +double GFace::getMetricEigenvalue(const SPoint2 &) +{ + Msg(GERROR, "Metric eigenvalue is not implemented for this type of surface"); + return 0.; +} + void GFace::XYZtoUV(const double X, const double Y, const double Z, double &U, double &V, const double relax, const bool onSurface) const @@ -561,6 +575,12 @@ SPoint2 GFace::parFromPoint(const SPoint3 &p) const return SPoint2(U, V); } +GPoint GFace::closestPoint(const SPoint3 & queryPoint) const +{ + Msg(GERROR, "Closet point not implemented for this type of surface"); + return GPoint(0, 0, 0); +} + int GFace::containsParam(const SPoint2 &pt) const { Range<double> uu = parBounds(0); diff --git a/Geo/GFace.h b/Geo/GFace.h index 46600eb1e5f38fbe5732ed40a2bdbf9673c34025..8d1810e89bf947fc346cf97bda7c09e28c53e511 100644 --- a/Geo/GFace.h +++ b/Geo/GFace.h @@ -96,7 +96,7 @@ class GFace : public GEntity virtual SBoundingBox3d bounds() const; // retrieve surface params - virtual surface_params getSurfaceParams() const { throw; } + virtual surface_params getSurfaceParams() const; // Return the point on the face corresponding to the given parameter. virtual GPoint point(double par1, double par2) const = 0; @@ -114,7 +114,7 @@ class GFace : public GEntity // metric at a given point this is a special feature for // stereographic mappings of the sphere that is used in 2D mesh // generation ! - virtual double getMetricEigenvalue(const SPoint2 &){ throw; } + virtual double getMetricEigenvalue(const SPoint2 &); // Return the parmater location on the face given a point in space // that is on the face. @@ -124,7 +124,7 @@ class GFace : public GEntity virtual int containsParam(const SPoint2 &pt) const; // Return the point on the face closest to the given point. - virtual GPoint closestPoint(const SPoint3 & queryPoint) const { throw; } + virtual GPoint closestPoint(const SPoint3 & queryPoint) const; // Return the normal to the face at the given parameter location. virtual SVector3 normal(const SPoint2 ¶m) const = 0; diff --git a/Makefile b/Makefile index 96b50bcb667b38f1c491ab3f1527d5f7a7f63d1c..959621a4bc905dff0e8ad42cdd28fecf635d3e7f 100644 --- a/Makefile +++ b/Makefile @@ -1,4 +1,4 @@ -# $Id: Makefile,v 1.480 2008-04-23 23:00:39 geuzaine Exp $ +# $Id: Makefile,v 1.481 2008-04-28 10:10:50 geuzaine Exp $ # # Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle # @@ -23,8 +23,8 @@ include variables GMSH_MAJOR_VERSION = 2 GMSH_MINOR_VERSION = 2 -GMSH_PATCH_VERSION = 0 -GMSH_EXTRA_VERSION = +GMSH_PATCH_VERSION = 1 +GMSH_EXTRA_VERSION = GMSH_VERSION = ${GMSH_MAJOR_VERSION}.${GMSH_MINOR_VERSION}.${GMSH_PATCH_VERSION}${GMSH_EXTRA_VERSION} diff --git a/Mesh/Field.cpp b/Mesh/Field.cpp index 0177ea88c524158ce9a2ed57c42fce3c2301caeb..88c9448589b84034137534270191c4de6d7c98d3 100644 --- a/Mesh/Field.cpp +++ b/Mesh/Field.cpp @@ -1,4 +1,4 @@ -// $Id: Field.cpp,v 1.34 2008-04-22 13:27:43 remacle Exp $ +// $Id: Field.cpp,v 1.35 2008-04-28 10:10:52 geuzaine Exp $ // // Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle // @@ -37,8 +37,11 @@ #include "GeoInterpolation.h" #include "GModel.h" #include "Message.h" + +#if !defined(HAVE_NO_POST) #include "OctreePost.h" #include "PViewDataList.h" +#endif #define MAX_LC 1.e22 @@ -916,6 +919,7 @@ public: }; #endif +#if !defined(HAVE_NO_POST) class PostViewField:public Field { OctreePost *octree; @@ -978,6 +982,7 @@ public:int view_index; return dialogBox; } }; +#endif class MinField:public Field { @@ -1160,7 +1165,9 @@ FieldManager::FieldManager() map_type_name["Threshold"] = new FieldFactoryT < ThresholdField > (); map_type_name["Box"] = new FieldFactoryT < BoxField > (); map_type_name["LonLat"] = new FieldFactoryT < LonLatField > (); +#if !defined(HAVE_NO_POST) map_type_name["PostView"] = new FieldFactoryT < PostViewField > (); +#endif map_type_name["Gradient"] = new FieldFactoryT < GradientField > (); map_type_name["Min"] = new FieldFactoryT < MinField > (); map_type_name["Max"] = new FieldFactoryT < MaxField > (); @@ -1206,6 +1213,7 @@ Field::Field() { } +#if !defined(HAVE_NO_POST) void Field::put_on_view(PView * view, int comp) { PViewDataList *data = dynamic_cast < PViewDataList * >(view->getData()); @@ -1246,6 +1254,7 @@ void Field::put_on_view(PView * view, int comp) data->finalize(); view->setChanged(true); } +#endif void FieldManager::set_background_mesh(int iView) { diff --git a/Mesh/Field.h b/Mesh/Field.h index 30ae062c270b1ce5441ec90307e6e5376ba96644..c98864601941d7447e1c37e8969e7a9a436dee29 100644 --- a/Mesh/Field.h +++ b/Mesh/Field.h @@ -24,7 +24,10 @@ #include <list> #include <string.h> #include "Geo.h" + +#if !defined(HAVE_NO_POST) #include "PView.h" +#endif class Field; @@ -75,7 +78,9 @@ class Field { Field(); virtual const char *get_name() = 0; virtual FieldDialogBox *&dialog_box() = 0; +#if !defined(HAVE_NO_POST) void put_on_view(PView * view, int comp = -1); +#endif }; class FieldFactory { diff --git a/Mesh/Generator.cpp b/Mesh/Generator.cpp index 1c7fde7fe891adc8179171055ac7abb45ce84c5e..043dacc5f6be7cee63420ab2210788c330577a09 100644 --- a/Mesh/Generator.cpp +++ b/Mesh/Generator.cpp @@ -1,4 +1,4 @@ -// $Id: Generator.cpp,v 1.140 2008-04-17 21:05:51 geuzaine Exp $ +// $Id: Generator.cpp,v 1.141 2008-04-28 10:10:52 geuzaine Exp $ // // Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle // @@ -22,7 +22,6 @@ #include "Message.h" #include "Numeric.h" #include "Context.h" -#include "PView.h" #include "OS.h" #include "GModel.h" #include "MElement.h" @@ -34,6 +33,10 @@ #include "BoundaryLayer.h" #include "HighOrder.h" +#if !defined(HAVE_NO_POST) +#include "PView.h" +#endif + extern Context_T CTX; template<class T> @@ -132,6 +135,7 @@ void GetStatistics(double stat[50], double quality[3][100]) stat[25] = rhoMax; } +#if !defined(HAVE_NO_POST) stat[26] = PView::list.size(); for(unsigned int i = 0; i < PView::list.size(); i++) { PViewData *data = PView::list[i]->getData(); @@ -145,6 +149,7 @@ void GetStatistics(double stat[50], double quality[3][100]) stat[34] += data->getNumPyramids(); stat[35] += data->getNumStrings2D() + data->getNumStrings3D(); } +#endif } static bool TooManyElements(GModel *m, int dim) diff --git a/Mesh/Makefile b/Mesh/Makefile index ecd8680120678749af3e00fc73c1afe6d4f27892..e74ad5d1ee9776af1136dd9954d5693b93fca85c 100644 --- a/Mesh/Makefile +++ b/Mesh/Makefile @@ -1,4 +1,4 @@ -# $Id: Makefile,v 1.216 2008-04-23 23:00:39 geuzaine Exp $ +# $Id: Makefile,v 1.217 2008-04-28 10:10:52 geuzaine Exp $ # # Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle # @@ -88,21 +88,20 @@ depend: # DO NOT DELETE THIS LINE Generator.o: Generator.cpp ../Common/Message.h ../Numeric/Numeric.h \ - ../Numeric/NumericEmbedded.h ../Common/Context.h ../Post/PView.h \ - ../Post/PViewData.h ../DataStr/List.h ../Geo/SBoundingBox3d.h \ - ../Geo/SPoint3.h ../Post/PViewOptions.h ../Post/ColorTable.h \ - ../Common/OS.h ../Geo/GModel.h ../Geo/GVertex.h ../Geo/GEntity.h \ - ../Geo/Range.h ../Geo/SPoint3.h ../Geo/SBoundingBox3d.h ../Geo/GPoint.h \ - ../Geo/SPoint2.h ../Geo/GEdge.h ../Geo/GEntity.h ../Geo/GVertex.h \ - ../Geo/SVector3.h ../Geo/SPoint3.h ../Geo/SPoint3.h ../Geo/SPoint2.h \ - ../Geo/GFace.h ../Geo/GEntity.h ../Geo/GPoint.h ../Geo/GEdgeLoop.h \ - ../Geo/GEdge.h ../Geo/SPoint2.h ../Geo/SVector3.h ../Geo/Pair.h \ - ../Geo/GRegion.h ../Geo/GEntity.h ../Geo/SBoundingBox3d.h \ + ../Numeric/NumericEmbedded.h ../Common/Context.h ../Common/OS.h \ + ../Geo/GModel.h ../Geo/GVertex.h ../Geo/GEntity.h ../Geo/Range.h \ + ../Geo/SPoint3.h ../Geo/SBoundingBox3d.h ../Geo/SPoint3.h \ + ../Geo/GPoint.h ../Geo/SPoint2.h ../Geo/GEdge.h ../Geo/GEntity.h \ + ../Geo/GVertex.h ../Geo/SVector3.h ../Geo/SPoint3.h ../Geo/SPoint3.h \ + ../Geo/SPoint2.h ../Geo/GFace.h ../Geo/GEntity.h ../Geo/GPoint.h \ + ../Geo/GEdgeLoop.h ../Geo/GEdge.h ../Geo/SPoint2.h ../Geo/SVector3.h \ + ../Geo/Pair.h ../Geo/GRegion.h ../Geo/GEntity.h ../Geo/SBoundingBox3d.h \ ../Geo/MElement.h ../Common/GmshDefines.h ../Geo/MVertex.h \ ../Geo/SPoint3.h ../Geo/MEdge.h ../Geo/MVertex.h ../Geo/SVector3.h \ ../Geo/MFace.h ../Geo/MVertex.h ../Geo/SVector3.h meshGEdge.h \ meshGFace.h meshGFaceBDS.h meshGRegion.h BackgroundMesh.h \ - BoundaryLayer.h HighOrder.h + BoundaryLayer.h HighOrder.h ../Post/PView.h ../Post/PViewData.h \ + ../DataStr/List.h ../Post/PViewOptions.h ../Post/ColorTable.h Field.o: Field.cpp ../Common/Context.h Field.h ../Geo/Geo.h \ ../Common/GmshDefines.h ../Geo/gmshSurface.h ../Geo/Pair.h \ ../Geo/Range.h ../Geo/SPoint2.h ../Geo/SPoint3.h ../Geo/SVector3.h \ diff --git a/Parser/Gmsh.tab.cpp b/Parser/Gmsh.tab.cpp index b45d6b10520efb32403b9e0092fdc97d2a9f9b74..bd163fe78e7bae92704bffbe38a0016b4c6cbf27 100644 --- a/Parser/Gmsh.tab.cpp +++ b/Parser/Gmsh.tab.cpp @@ -324,7 +324,7 @@ /* Copy the first part of user declarations. */ #line 1 "Gmsh.y" -// $Id: Gmsh.tab.cpp,v 1.360 2008-04-24 17:29:47 geuzaine Exp $ +// $Id: Gmsh.tab.cpp,v 1.361 2008-04-28 10:10:52 geuzaine Exp $ // // Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle // @@ -351,7 +351,6 @@ #include "Message.h" #include "Malloc.h" #include "Tools.h" -#include "PluginManager.h" #include "ParUtil.h" #include "Numeric.h" #include "Context.h" @@ -360,8 +359,6 @@ #include "GeoInterpolation.h" #include "Generator.h" #include "Draw.h" -#include "PView.h" -#include "PViewDataList.h" #include "Options.h" #include "Colors.h" #include "Parser.h" @@ -375,6 +372,13 @@ #include "Field.h" #include "BackgroundMesh.h" +#if !defined(HAVE_NO_POST) +#include "PView.h" +#include "PViewDataList.h" +#include "PluginManager.h" +static PViewDataList *ViewData; +#endif + Tree_T *Symbol_T = NULL; extern Context_T CTX; @@ -383,7 +387,6 @@ static ExtrudeParams extr; static gmshSurface *myGmshSurface = 0; -static PViewDataList *ViewData; static List_T *ViewValueList; static double ViewCoord[100]; static int *ViewNumList, ViewCoordIdx; @@ -421,7 +424,7 @@ int PrintListOfDouble(char *format, List_T *list, char *buffer); #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED typedef union YYSTYPE -#line 79 "Gmsh.y" +#line 82 "Gmsh.y" { char *c; int i; @@ -432,7 +435,7 @@ typedef union YYSTYPE List_T *l; } /* Line 193 of yacc.c. */ -#line 436 "Gmsh.tab.cpp" +#line 439 "Gmsh.tab.cpp" YYSTYPE; # define yystype YYSTYPE /* obsolescent; will be withdrawn */ # define YYSTYPE_IS_DECLARED 1 @@ -445,7 +448,7 @@ typedef union YYSTYPE /* Line 216 of yacc.c. */ -#line 449 "Gmsh.tab.cpp" +#line 452 "Gmsh.tab.cpp" #ifdef short # undef short @@ -980,42 +983,42 @@ static const yytype_int16 yyrhs[] = /* YYRLINE[YYN] -- source line where rule number YYN was defined. */ static const yytype_uint16 yyrline[] = { - 0, 145, 145, 146, 151, 153, 157, 158, 159, 160, - 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, - 174, 178, 185, 190, 205, 218, 247, 259, 268, 281, - 284, 285, 286, 287, 288, 292, 294, 299, 301, 307, - 451, 306, 465, 470, 479, 478, 493, 498, 507, 506, - 520, 532, 550, 549, 561, 562, 563, 564, 565, 569, - 570, 577, 608, 647, 701, 718, 736, 747, 764, 771, - 786, 804, 830, 857, 871, 888, 903, 921, 941, 964, - 973, 978, 997, 1016, 1040, 1050, 1065, 1069, 1079, 1082, - 1100, 1122, 1138, 1160, 1178, 1196, 1214, 1240, 1258, 1284, - 1304, 1322, 1340, 1366, 1383, 1402, 1420, 1459, 1465, 1471, - 1478, 1503, 1528, 1544, 1564, 1582, 1599, 1620, 1625, 1630, - 1635, 1640, 1651, 1657, 1666, 1667, 1672, 1675, 1679, 1702, - 1725, 1748, 1776, 1785, 1789, 1802, 1818, 1833, 1847, 1853, - 1859, 1868, 1882, 1930, 1946, 1959, 1978, 1988, 2010, 2014, - 2019, 2024, 2036, 2053, 2070, 2097, 2124, 2155, 2163, 2169, - 2176, 2180, 2189, 2197, 2205, 2214, 2213, 2226, 2225, 2238, - 2237, 2250, 2249, 2261, 2260, 2276, 2283, 2290, 2297, 2304, - 2311, 2318, 2325, 2332, 2340, 2339, 2351, 2350, 2362, 2361, - 2373, 2372, 2384, 2383, 2395, 2394, 2406, 2405, 2417, 2416, - 2428, 2427, 2442, 2445, 2451, 2460, 2480, 2503, 2507, 2531, - 2549, 2567, 2585, 2614, 2649, 2654, 2681, 2695, 2708, 2725, - 2731, 2737, 2740, 2749, 2759, 2760, 2761, 2762, 2763, 2764, - 2765, 2766, 2767, 2774, 2775, 2776, 2777, 2778, 2779, 2780, - 2781, 2782, 2783, 2784, 2785, 2786, 2787, 2788, 2789, 2790, - 2791, 2792, 2793, 2794, 2795, 2796, 2797, 2798, 2799, 2800, - 2801, 2802, 2803, 2804, 2805, 2807, 2808, 2809, 2810, 2811, - 2812, 2813, 2814, 2815, 2816, 2817, 2818, 2819, 2820, 2821, - 2822, 2823, 2824, 2825, 2826, 2827, 2836, 2837, 2838, 2839, - 2840, 2841, 2842, 2846, 2862, 2877, 2897, 2910, 2923, 2946, - 2964, 2982, 3000, 3018, 3026, 3030, 3034, 3038, 3042, 3049, - 3053, 3057, 3061, 3068, 3073, 3081, 3086, 3090, 3095, 3099, - 3107, 3118, 3126, 3134, 3140, 3151, 3171, 3181, 3191, 3208, - 3235, 3240, 3244, 3248, 3261, 3265, 3277, 3284, 3305, 3309, - 3324, 3329, 3336, 3340, 3347, 3351, 3359, 3367, 3381, 3395, - 3399, 3418, 3441 + 0, 148, 148, 149, 154, 156, 160, 161, 162, 163, + 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, + 177, 181, 188, 193, 208, 221, 250, 264, 275, 290, + 295, 296, 297, 298, 299, 303, 305, 310, 312, 318, + 464, 317, 482, 489, 500, 499, 518, 525, 536, 535, + 553, 567, 587, 586, 600, 601, 602, 603, 604, 608, + 609, 616, 647, 686, 740, 757, 775, 786, 803, 810, + 825, 843, 869, 896, 910, 927, 942, 960, 980, 1003, + 1012, 1017, 1036, 1055, 1079, 1091, 1108, 1112, 1122, 1125, + 1143, 1165, 1181, 1203, 1221, 1239, 1257, 1283, 1301, 1327, + 1347, 1365, 1383, 1409, 1426, 1445, 1463, 1502, 1508, 1514, + 1521, 1546, 1571, 1587, 1607, 1625, 1642, 1663, 1668, 1673, + 1678, 1683, 1694, 1700, 1709, 1710, 1715, 1718, 1722, 1745, + 1768, 1791, 1819, 1828, 1832, 1847, 1863, 1880, 1894, 1900, + 1906, 1915, 1929, 1977, 1995, 2010, 2029, 2041, 2065, 2069, + 2074, 2079, 2091, 2108, 2125, 2152, 2179, 2210, 2218, 2224, + 2231, 2235, 2244, 2252, 2260, 2269, 2268, 2281, 2280, 2293, + 2292, 2305, 2304, 2316, 2315, 2331, 2338, 2345, 2352, 2359, + 2366, 2373, 2380, 2387, 2395, 2394, 2406, 2405, 2417, 2416, + 2428, 2427, 2439, 2438, 2450, 2449, 2461, 2460, 2472, 2471, + 2483, 2482, 2497, 2500, 2506, 2515, 2535, 2558, 2562, 2586, + 2604, 2622, 2640, 2669, 2704, 2709, 2736, 2750, 2763, 2780, + 2786, 2792, 2795, 2804, 2814, 2815, 2816, 2817, 2818, 2819, + 2820, 2821, 2822, 2829, 2830, 2831, 2832, 2833, 2834, 2835, + 2836, 2837, 2838, 2839, 2840, 2841, 2842, 2843, 2844, 2845, + 2846, 2847, 2848, 2849, 2850, 2851, 2852, 2853, 2854, 2855, + 2856, 2857, 2858, 2859, 2860, 2862, 2863, 2864, 2865, 2866, + 2867, 2868, 2869, 2870, 2871, 2872, 2873, 2874, 2875, 2876, + 2877, 2878, 2879, 2880, 2881, 2882, 2891, 2892, 2893, 2894, + 2895, 2896, 2897, 2901, 2917, 2932, 2952, 2965, 2978, 3001, + 3019, 3037, 3055, 3073, 3081, 3085, 3089, 3093, 3097, 3104, + 3108, 3112, 3116, 3123, 3128, 3136, 3141, 3145, 3150, 3154, + 3162, 3173, 3181, 3189, 3195, 3206, 3226, 3236, 3246, 3263, + 3290, 3295, 3299, 3303, 3316, 3320, 3332, 3339, 3360, 3364, + 3379, 3384, 3391, 3395, 3402, 3406, 3414, 3422, 3436, 3450, + 3454, 3473, 3496 }; #endif @@ -3656,96 +3659,96 @@ yyreduce: switch (yyn) { case 3: -#line 146 "Gmsh.y" +#line 149 "Gmsh.y" { yyerrok; return 1; ;} break; case 6: -#line 157 "Gmsh.y" +#line 160 "Gmsh.y" { return 1; ;} break; case 7: -#line 158 "Gmsh.y" +#line 161 "Gmsh.y" { return 1; ;} break; case 8: -#line 159 "Gmsh.y" +#line 162 "Gmsh.y" { return 1; ;} break; case 9: -#line 160 "Gmsh.y" +#line 163 "Gmsh.y" { return 1; ;} break; case 10: -#line 161 "Gmsh.y" +#line 164 "Gmsh.y" { List_Delete((yyvsp[(1) - (1)].l)); return 1; ;} break; case 11: -#line 162 "Gmsh.y" +#line 165 "Gmsh.y" { return 1; ;} break; case 12: -#line 163 "Gmsh.y" +#line 166 "Gmsh.y" { return 1; ;} break; case 13: -#line 164 "Gmsh.y" +#line 167 "Gmsh.y" { return 1; ;} break; case 14: -#line 165 "Gmsh.y" +#line 168 "Gmsh.y" { List_Delete((yyvsp[(1) - (1)].l)); return 1; ;} break; case 15: -#line 166 "Gmsh.y" +#line 169 "Gmsh.y" { return 1; ;} break; case 16: -#line 167 "Gmsh.y" +#line 170 "Gmsh.y" { return 1; ;} break; case 17: -#line 168 "Gmsh.y" +#line 171 "Gmsh.y" { return 1; ;} break; case 18: -#line 169 "Gmsh.y" +#line 172 "Gmsh.y" { return 1; ;} break; case 19: -#line 170 "Gmsh.y" +#line 173 "Gmsh.y" { return 1; ;} break; case 20: -#line 175 "Gmsh.y" +#line 178 "Gmsh.y" { (yyval.c) = (char*)"w"; ;} break; case 21: -#line 179 "Gmsh.y" +#line 182 "Gmsh.y" { (yyval.c) = (char*)"a"; ;} break; case 22: -#line 186 "Gmsh.y" +#line 189 "Gmsh.y" { Msg(DIRECT, (yyvsp[(3) - (5)].c)); Free((yyvsp[(3) - (5)].c)); @@ -3753,7 +3756,7 @@ yyreduce: break; case 23: -#line 191 "Gmsh.y" +#line 194 "Gmsh.y" { char tmpstring[1024]; FixRelativePath((yyvsp[(6) - (7)].c), tmpstring); @@ -3771,7 +3774,7 @@ yyreduce: break; case 24: -#line 206 "Gmsh.y" +#line 209 "Gmsh.y" { char tmpstring[1024]; int i = PrintListOfDouble((yyvsp[(3) - (7)].c), (yyvsp[(5) - (7)].l), tmpstring); @@ -3787,7 +3790,7 @@ yyreduce: break; case 25: -#line 219 "Gmsh.y" +#line 222 "Gmsh.y" { char tmpstring[1024]; int i = PrintListOfDouble((yyvsp[(3) - (9)].c), (yyvsp[(5) - (9)].l), tmpstring); @@ -3814,8 +3817,9 @@ yyreduce: break; case 26: -#line 248 "Gmsh.y" +#line 251 "Gmsh.y" { +#if !defined(HAVE_NO_POST) if(!strcmp((yyvsp[(1) - (6)].c), "View") && ViewData->finalize()){ ViewData->setName((yyvsp[(2) - (6)].c)); ViewData->setFileName(gmsh_yyname); @@ -3824,64 +3828,72 @@ yyreduce: } else delete ViewData; +#endif Free((yyvsp[(1) - (6)].c)); Free((yyvsp[(2) - (6)].c)); ;} break; case 27: -#line 260 "Gmsh.y" +#line 265 "Gmsh.y" { +#if !defined(HAVE_NO_POST) if(!strcmp((yyvsp[(2) - (6)].c), "View")){ int index = (int)(yyvsp[(4) - (6)].d); if(index >= 0 && index < (int)PView::list.size()) new PView(PView::list[index], false); } +#endif Free((yyvsp[(2) - (6)].c)); ;} break; case 28: -#line 269 "Gmsh.y" +#line 276 "Gmsh.y" { +#if !defined(HAVE_NO_POST) if(!strcmp((yyvsp[(2) - (6)].c), "View")){ int index = (int)(yyvsp[(4) - (6)].d); if(index >= 0 && index < (int)PView::list.size()) new PView(PView::list[index], true); } +#endif Free((yyvsp[(2) - (6)].c)); ;} break; case 29: -#line 281 "Gmsh.y" +#line 290 "Gmsh.y" { +#if !defined(HAVE_NO_POST) ViewData = new PViewDataList(true); +#endif ;} break; case 35: -#line 293 "Gmsh.y" +#line 304 "Gmsh.y" { ViewCoord[ViewCoordIdx++] = (yyvsp[(1) - (1)].d); ;} break; case 36: -#line 295 "Gmsh.y" +#line 306 "Gmsh.y" { ViewCoord[ViewCoordIdx++] = (yyvsp[(3) - (3)].d); ;} break; case 37: -#line 300 "Gmsh.y" +#line 311 "Gmsh.y" { if(ViewValueList) List_Add(ViewValueList, &(yyvsp[(1) - (1)].d)); ;} break; case 38: -#line 302 "Gmsh.y" +#line 313 "Gmsh.y" { if(ViewValueList) List_Add(ViewValueList, &(yyvsp[(3) - (3)].d)); ;} break; case 39: -#line 307 "Gmsh.y" +#line 318 "Gmsh.y" { +#if !defined(HAVE_NO_POST) if(!strcmp((yyvsp[(1) - (1)].c), "SP")){ ViewValueList = ViewData->SP; ViewNumList = &ViewData->NbSP; } @@ -4023,97 +4035,119 @@ yyreduce: } Free((yyvsp[(1) - (1)].c)); ViewCoordIdx = 0; +#endif ;} break; case 40: -#line 451 "Gmsh.y" +#line 464 "Gmsh.y" { +#if !defined(HAVE_NO_POST) if(ViewValueList){ for(int i = 0; i < 3; i++) for(int j = 0; j < ViewCoordIdx / 3; j++) List_Add(ViewValueList, &ViewCoord[3 * j + i]); } +#endif ;} break; case 41: -#line 459 "Gmsh.y" +#line 474 "Gmsh.y" { +#if !defined(HAVE_NO_POST) if(ViewValueList) (*ViewNumList)++; +#endif ;} break; case 42: -#line 466 "Gmsh.y" +#line 483 "Gmsh.y" { +#if !defined(HAVE_NO_POST) for(int i = 0; i < (int)strlen((yyvsp[(1) - (1)].c))+1; i++) List_Add(ViewData->T2C, &(yyvsp[(1) - (1)].c)[i]); +#endif Free((yyvsp[(1) - (1)].c)); ;} break; case 43: -#line 471 "Gmsh.y" +#line 490 "Gmsh.y" { +#if !defined(HAVE_NO_POST) for(int i = 0; i < (int)strlen((yyvsp[(3) - (3)].c))+1; i++) List_Add(ViewData->T2C, &(yyvsp[(3) - (3)].c)[i]); +#endif Free((yyvsp[(3) - (3)].c)); ;} break; case 44: -#line 479 "Gmsh.y" +#line 500 "Gmsh.y" { +#if !defined(HAVE_NO_POST) List_Add(ViewData->T2D, &(yyvsp[(3) - (8)].d)); List_Add(ViewData->T2D, &(yyvsp[(5) - (8)].d)); List_Add(ViewData->T2D, &(yyvsp[(7) - (8)].d)); double d = List_Nbr(ViewData->T2C); List_Add(ViewData->T2D, &d); +#endif ;} break; case 45: -#line 487 "Gmsh.y" +#line 510 "Gmsh.y" { +#if !defined(HAVE_NO_POST) ViewData->NbT2++; +#endif ;} break; case 46: -#line 494 "Gmsh.y" +#line 519 "Gmsh.y" { +#if !defined(HAVE_NO_POST) for(int i = 0; i < (int)strlen((yyvsp[(1) - (1)].c))+1; i++) List_Add(ViewData->T3C, &(yyvsp[(1) - (1)].c)[i]); +#endif Free((yyvsp[(1) - (1)].c)); ;} break; case 47: -#line 499 "Gmsh.y" +#line 526 "Gmsh.y" { +#if !defined(HAVE_NO_POST) for(int i = 0; i < (int)strlen((yyvsp[(3) - (3)].c))+1; i++) List_Add(ViewData->T3C, &(yyvsp[(3) - (3)].c)[i]); +#endif Free((yyvsp[(3) - (3)].c)); ;} break; case 48: -#line 507 "Gmsh.y" +#line 536 "Gmsh.y" { +#if !defined(HAVE_NO_POST) List_Add(ViewData->T3D, &(yyvsp[(3) - (10)].d)); List_Add(ViewData->T3D, &(yyvsp[(5) - (10)].d)); List_Add(ViewData->T3D, &(yyvsp[(7) - (10)].d)); List_Add(ViewData->T3D, &(yyvsp[(9) - (10)].d)); double d = List_Nbr(ViewData->T3C); List_Add(ViewData->T3D, &d); +#endif ;} break; case 49: -#line 514 "Gmsh.y" +#line 545 "Gmsh.y" { +#if !defined(HAVE_NO_POST) ViewData->NbT3++; +#endif ;} break; case 50: -#line 522 "Gmsh.y" +#line 555 "Gmsh.y" { +#if !defined(HAVE_NO_POST) int type = (ViewData->NbSL || ViewData->NbVL) ? 1 : (ViewData->NbST || ViewData->NbVT) ? 3 : @@ -4122,12 +4156,14 @@ yyreduce: (ViewData->NbSH || ViewData->NbVH) ? 12 : 0; ViewData->setInterpolationScheme(type, (yyvsp[(3) - (8)].l), (yyvsp[(6) - (8)].l)); +#endif ;} break; case 51: -#line 536 "Gmsh.y" +#line 571 "Gmsh.y" { +#if !defined(HAVE_NO_POST) int type = (ViewData->NbSL || ViewData->NbVL) ? 1 : (ViewData->NbST || ViewData->NbVT) ? 3 : @@ -4136,59 +4172,62 @@ yyreduce: (ViewData->NbSH || ViewData->NbVH) ? 12 : 0; ViewData->setInterpolationScheme(type, (yyvsp[(3) - (14)].l), (yyvsp[(6) - (14)].l), (yyvsp[(9) - (14)].l), (yyvsp[(12) - (14)].l)); +#endif ;} break; case 52: -#line 550 "Gmsh.y" +#line 587 "Gmsh.y" { +#if !defined(HAVE_NO_POST) ViewValueList = ViewData->Time; +#endif ;} break; case 53: -#line 554 "Gmsh.y" +#line 593 "Gmsh.y" { ;} break; case 54: -#line 561 "Gmsh.y" +#line 600 "Gmsh.y" { (yyval.i) = 0; ;} break; case 55: -#line 562 "Gmsh.y" +#line 601 "Gmsh.y" { (yyval.i) = 1; ;} break; case 56: -#line 563 "Gmsh.y" +#line 602 "Gmsh.y" { (yyval.i) = 2; ;} break; case 57: -#line 564 "Gmsh.y" +#line 603 "Gmsh.y" { (yyval.i) = 3; ;} break; case 58: -#line 565 "Gmsh.y" +#line 604 "Gmsh.y" { (yyval.i) = 4; ;} break; case 59: -#line 569 "Gmsh.y" +#line 608 "Gmsh.y" { (yyval.i) = 1; ;} break; case 60: -#line 570 "Gmsh.y" +#line 609 "Gmsh.y" { (yyval.i) = -1; ;} break; case 61: -#line 578 "Gmsh.y" +#line 617 "Gmsh.y" { Symbol TheSymbol; TheSymbol.Name = (yyvsp[(1) - (4)].c); @@ -4222,7 +4261,7 @@ yyreduce: break; case 62: -#line 609 "Gmsh.y" +#line 648 "Gmsh.y" { Symbol TheSymbol; TheSymbol.Name = (yyvsp[(1) - (7)].c); @@ -4264,7 +4303,7 @@ yyreduce: break; case 63: -#line 648 "Gmsh.y" +#line 687 "Gmsh.y" { if(List_Nbr((yyvsp[(4) - (9)].l)) != List_Nbr((yyvsp[(8) - (9)].l))){ yymsg(GERROR, "Incompatible array dimensions in affectation"); @@ -4321,7 +4360,7 @@ yyreduce: break; case 64: -#line 702 "Gmsh.y" +#line 741 "Gmsh.y" { Symbol TheSymbol; TheSymbol.Name = (yyvsp[(1) - (6)].c); @@ -4341,7 +4380,7 @@ yyreduce: break; case 65: -#line 719 "Gmsh.y" +#line 758 "Gmsh.y" { // appends to the list Symbol TheSymbol; @@ -4362,7 +4401,7 @@ yyreduce: break; case 66: -#line 737 "Gmsh.y" +#line 776 "Gmsh.y" { Symbol TheSymbol; TheSymbol.Name = (yyvsp[(1) - (3)].c); @@ -4376,7 +4415,7 @@ yyreduce: break; case 67: -#line 748 "Gmsh.y" +#line 787 "Gmsh.y" { Symbol TheSymbol; TheSymbol.Name = (yyvsp[(1) - (6)].c); @@ -4395,14 +4434,14 @@ yyreduce: break; case 68: -#line 765 "Gmsh.y" +#line 804 "Gmsh.y" { Msg(WARNING, "Named string expressions not implemented yet"); ;} break; case 69: -#line 772 "Gmsh.y" +#line 811 "Gmsh.y" { const char* (*pStrOpt)(int num, int action, const char *value); StringXString *pStrCat; @@ -4420,7 +4459,7 @@ yyreduce: break; case 70: -#line 787 "Gmsh.y" +#line 826 "Gmsh.y" { const char* (*pStrOpt)(int num, int action, const char *value); StringXString *pStrCat; @@ -4438,7 +4477,7 @@ yyreduce: break; case 71: -#line 805 "Gmsh.y" +#line 844 "Gmsh.y" { double (*pNumOpt)(int num, int action, double value); StringXNumber *pNumCat; @@ -4467,7 +4506,7 @@ yyreduce: break; case 72: -#line 831 "Gmsh.y" +#line 870 "Gmsh.y" { double (*pNumOpt)(int num, int action, double value); StringXNumber *pNumCat; @@ -4497,7 +4536,7 @@ yyreduce: break; case 73: -#line 858 "Gmsh.y" +#line 897 "Gmsh.y" { double (*pNumOpt)(int num, int action, double value); StringXNumber *pNumCat; @@ -4514,7 +4553,7 @@ yyreduce: break; case 74: -#line 872 "Gmsh.y" +#line 911 "Gmsh.y" { double (*pNumOpt)(int num, int action, double value); StringXNumber *pNumCat; @@ -4531,7 +4570,7 @@ yyreduce: break; case 75: -#line 889 "Gmsh.y" +#line 928 "Gmsh.y" { unsigned int (*pColOpt)(int num, int action, unsigned int value); StringXColor *pColCat; @@ -4549,7 +4588,7 @@ yyreduce: break; case 76: -#line 904 "Gmsh.y" +#line 943 "Gmsh.y" { unsigned int (*pColOpt)(int num, int action, unsigned int value); StringXColor *pColCat; @@ -4567,7 +4606,7 @@ yyreduce: break; case 77: -#line 922 "Gmsh.y" +#line 961 "Gmsh.y" { GmshColorTable *ct = Get_ColorTable(0); if(!ct) @@ -4590,7 +4629,7 @@ yyreduce: break; case 78: -#line 942 "Gmsh.y" +#line 981 "Gmsh.y" { GmshColorTable *ct = Get_ColorTable((int)(yyvsp[(3) - (9)].d)); if(!ct) @@ -4613,7 +4652,7 @@ yyreduce: break; case 79: -#line 965 "Gmsh.y" +#line 1004 "Gmsh.y" { if(!strcmp((yyvsp[(1) - (5)].c),"Background")){ GModel::current()->getFields()->background_field = (int)(yyvsp[(4) - (5)].d); @@ -4625,7 +4664,7 @@ yyreduce: break; case 80: -#line 974 "Gmsh.y" +#line 1013 "Gmsh.y" { if(!GModel::current()->getFields()->new_field((int)(yyvsp[(3) - (7)].d), (yyvsp[(6) - (7)].c))) yymsg(GERROR, "Cannot create field %i of type '%s'", (int)(yyvsp[(3) - (7)].d), (yyvsp[(6) - (7)].c)); @@ -4633,7 +4672,7 @@ yyreduce: break; case 81: -#line 979 "Gmsh.y" +#line 1018 "Gmsh.y" { Field *field = GModel::current()->getFields()->get((int)(yyvsp[(3) - (9)].d)); if(field){ @@ -4655,7 +4694,7 @@ yyreduce: break; case 82: -#line 998 "Gmsh.y" +#line 1037 "Gmsh.y" { Field *field = GModel::current()->getFields()->get((int)(yyvsp[(3) - (9)].d)); if(field){ @@ -4677,7 +4716,7 @@ yyreduce: break; case 83: -#line 1017 "Gmsh.y" +#line 1056 "Gmsh.y" { Field *field = GModel::current()->getFields()->get((int)(yyvsp[(3) - (11)].d)); if(field){ @@ -4701,40 +4740,44 @@ yyreduce: break; case 84: -#line 1041 "Gmsh.y" +#line 1080 "Gmsh.y" { +#if !defined(HAVE_NO_POST) try { GMSH_PluginManager::instance()->setPluginOption((yyvsp[(3) - (9)].c), (yyvsp[(6) - (9)].c), (yyvsp[(8) - (9)].d)); } catch (...) { yymsg(GERROR, "Unknown option '%s' or plugin '%s'", (yyvsp[(6) - (9)].c), (yyvsp[(3) - (9)].c)); } +#endif Free((yyvsp[(3) - (9)].c)); Free((yyvsp[(6) - (9)].c)); ;} break; case 85: -#line 1051 "Gmsh.y" +#line 1092 "Gmsh.y" { +#if !defined(HAVE_NO_POST) try { GMSH_PluginManager::instance()->setPluginOption((yyvsp[(3) - (9)].c), (yyvsp[(6) - (9)].c), (yyvsp[(8) - (9)].c)); } catch (...) { yymsg(GERROR, "Unknown option '%s' or plugin '%s'", (yyvsp[(6) - (9)].c), (yyvsp[(3) - (9)].c)); } +#endif Free((yyvsp[(3) - (9)].c)); Free((yyvsp[(6) - (9)].c)); // FIXME: sometimes leak $8 ;} break; case 86: -#line 1066 "Gmsh.y" +#line 1109 "Gmsh.y" { (yyval.i) = (int)(yyvsp[(1) - (1)].d); ;} break; case 87: -#line 1070 "Gmsh.y" +#line 1113 "Gmsh.y" { (yyval.i) = GModel::current()->setPhysicalName (std::string((yyvsp[(1) - (1)].c)), ++GModel::current()->getGEOInternals()->MaxPhysicalNum); @@ -4743,14 +4786,14 @@ yyreduce: break; case 88: -#line 1079 "Gmsh.y" +#line 1122 "Gmsh.y" { (yyval.l) = 0; ;} break; case 89: -#line 1083 "Gmsh.y" +#line 1126 "Gmsh.y" { (yyval.l) = List_Create(4, 4, sizeof(double)); Vertex *v = FindPoint((int)(yyvsp[(4) - (5)].d)); @@ -4765,7 +4808,7 @@ yyreduce: break; case 90: -#line 1101 "Gmsh.y" +#line 1144 "Gmsh.y" { int num = (int)(yyvsp[(3) - (7)].d); if(FindPoint(num)){ @@ -4790,7 +4833,7 @@ yyreduce: break; case 91: -#line 1123 "Gmsh.y" +#line 1166 "Gmsh.y" { int num = (int)(yyvsp[(4) - (8)].i); if(FindPhysicalGroup(num, MSH_PHYSICAL_POINT)){ @@ -4809,7 +4852,7 @@ yyreduce: break; case 92: -#line 1139 "Gmsh.y" +#line 1182 "Gmsh.y" { for(int i = 0; i < List_Nbr((yyvsp[(3) - (6)].l)); i++){ double d; @@ -4831,7 +4874,7 @@ yyreduce: break; case 93: -#line 1161 "Gmsh.y" +#line 1204 "Gmsh.y" { int num = (int)(yyvsp[(3) - (7)].d); if(FindCurve(num)){ @@ -4852,7 +4895,7 @@ yyreduce: break; case 94: -#line 1179 "Gmsh.y" +#line 1222 "Gmsh.y" { int num = (int)(yyvsp[(3) - (7)].d); if(FindCurve(num)){ @@ -4873,7 +4916,7 @@ yyreduce: break; case 95: -#line 1197 "Gmsh.y" +#line 1240 "Gmsh.y" { int num = (int)(yyvsp[(3) - (7)].d); if(FindCurve(num)){ @@ -4894,7 +4937,7 @@ yyreduce: break; case 96: -#line 1215 "Gmsh.y" +#line 1258 "Gmsh.y" { int num = (int)(yyvsp[(3) - (9)].d); if(FindCurve(num)){ @@ -4923,7 +4966,7 @@ yyreduce: break; case 97: -#line 1241 "Gmsh.y" +#line 1284 "Gmsh.y" { int num = (int)(yyvsp[(3) - (7)].d); if(FindCurve(num)){ @@ -4944,7 +4987,7 @@ yyreduce: break; case 98: -#line 1259 "Gmsh.y" +#line 1302 "Gmsh.y" { int num = (int)(yyvsp[(3) - (9)].d); if(FindCurve(num)){ @@ -4973,7 +5016,7 @@ yyreduce: break; case 99: -#line 1286 "Gmsh.y" +#line 1329 "Gmsh.y" { int num = (int)(yyvsp[(3) - (17)].d); if(FindCurve(num)){ @@ -4995,7 +5038,7 @@ yyreduce: break; case 100: -#line 1305 "Gmsh.y" +#line 1348 "Gmsh.y" { int num = (int)(yyvsp[(3) - (7)].d); if(FindCurve(num)){ @@ -5016,7 +5059,7 @@ yyreduce: break; case 101: -#line 1323 "Gmsh.y" +#line 1366 "Gmsh.y" { int num = (int)(yyvsp[(3) - (7)].d); if(FindCurve(num)){ @@ -5037,7 +5080,7 @@ yyreduce: break; case 102: -#line 1341 "Gmsh.y" +#line 1384 "Gmsh.y" { int num = (int)(yyvsp[(3) - (11)].d); if(List_Nbr((yyvsp[(6) - (11)].l)) + (int)(yyvsp[(10) - (11)].d) + 1 != List_Nbr((yyvsp[(8) - (11)].l))){ @@ -5066,7 +5109,7 @@ yyreduce: break; case 103: -#line 1367 "Gmsh.y" +#line 1410 "Gmsh.y" { int num = (int)(yyvsp[(4) - (8)].d); if(FindEdgeLoop(num)){ @@ -5086,7 +5129,7 @@ yyreduce: break; case 104: -#line 1384 "Gmsh.y" +#line 1427 "Gmsh.y" { int num = (int)(yyvsp[(4) - (8)].i); if(FindPhysicalGroup(num, MSH_PHYSICAL_LINE)){ @@ -5105,7 +5148,7 @@ yyreduce: break; case 105: -#line 1403 "Gmsh.y" +#line 1446 "Gmsh.y" { int num = (int)(yyvsp[(4) - (8)].d); if(FindSurface(num)){ @@ -5126,7 +5169,7 @@ yyreduce: break; case 106: -#line 1421 "Gmsh.y" +#line 1464 "Gmsh.y" { int num = (int)(yyvsp[(4) - (9)].d), type = 0; if(FindSurface(num)){ @@ -5168,7 +5211,7 @@ yyreduce: break; case 107: -#line 1460 "Gmsh.y" +#line 1503 "Gmsh.y" { myGmshSurface = 0; (yyval.s).Type = 0; @@ -5177,7 +5220,7 @@ yyreduce: break; case 108: -#line 1466 "Gmsh.y" +#line 1509 "Gmsh.y" { myGmshSurface = gmshSurface::getSurface((int)(yyvsp[(3) - (4)].d)); (yyval.s).Type = 0; @@ -5186,7 +5229,7 @@ yyreduce: break; case 109: -#line 1472 "Gmsh.y" +#line 1515 "Gmsh.y" { int num = (int)(yyvsp[(4) - (10)].d); myGmshSurface = gmshParametricSurface::NewParametricSurface(num, (yyvsp[(7) - (10)].c), (yyvsp[(8) - (10)].c), (yyvsp[(9) - (10)].c)); @@ -5196,7 +5239,7 @@ yyreduce: break; case 110: -#line 1479 "Gmsh.y" +#line 1522 "Gmsh.y" { int num = (int)(yyvsp[(3) - (7)].d); if (List_Nbr((yyvsp[(6) - (7)].l)) != 2){ @@ -5224,7 +5267,7 @@ yyreduce: break; case 111: -#line 1504 "Gmsh.y" +#line 1547 "Gmsh.y" { int num = (int)(yyvsp[(3) - (7)].d); if (List_Nbr((yyvsp[(6) - (7)].l)) != 2){ @@ -5252,7 +5295,7 @@ yyreduce: break; case 112: -#line 1529 "Gmsh.y" +#line 1572 "Gmsh.y" { int num = (int)(yyvsp[(4) - (8)].d); if(FindSurfaceLoop(num)){ @@ -5271,7 +5314,7 @@ yyreduce: break; case 113: -#line 1545 "Gmsh.y" +#line 1588 "Gmsh.y" { int num = (int)(yyvsp[(4) - (8)].i); if(FindPhysicalGroup(num, MSH_PHYSICAL_SURFACE)){ @@ -5290,7 +5333,7 @@ yyreduce: break; case 114: -#line 1565 "Gmsh.y" +#line 1608 "Gmsh.y" { yymsg(GERROR, "'Complex Volume' command is deprecated: use 'Volume' instead"); int num = (int)(yyvsp[(4) - (8)].d); @@ -5311,7 +5354,7 @@ yyreduce: break; case 115: -#line 1583 "Gmsh.y" +#line 1626 "Gmsh.y" { int num = (int)(yyvsp[(3) - (7)].d); if(FindVolume(num)){ @@ -5331,7 +5374,7 @@ yyreduce: break; case 116: -#line 1600 "Gmsh.y" +#line 1643 "Gmsh.y" { int num = (int)(yyvsp[(4) - (8)].i); if(FindPhysicalGroup(num, MSH_PHYSICAL_VOLUME)){ @@ -5350,7 +5393,7 @@ yyreduce: break; case 117: -#line 1621 "Gmsh.y" +#line 1664 "Gmsh.y" { TranslateShapes((yyvsp[(2) - (5)].v)[0], (yyvsp[(2) - (5)].v)[1], (yyvsp[(2) - (5)].v)[2], (yyvsp[(4) - (5)].l)); (yyval.l) = (yyvsp[(4) - (5)].l); @@ -5358,7 +5401,7 @@ yyreduce: break; case 118: -#line 1626 "Gmsh.y" +#line 1669 "Gmsh.y" { RotateShapes((yyvsp[(3) - (11)].v)[0], (yyvsp[(3) - (11)].v)[1], (yyvsp[(3) - (11)].v)[2], (yyvsp[(5) - (11)].v)[0], (yyvsp[(5) - (11)].v)[1], (yyvsp[(5) - (11)].v)[2], (yyvsp[(7) - (11)].d), (yyvsp[(10) - (11)].l)); (yyval.l) = (yyvsp[(10) - (11)].l); @@ -5366,7 +5409,7 @@ yyreduce: break; case 119: -#line 1631 "Gmsh.y" +#line 1674 "Gmsh.y" { SymmetryShapes((yyvsp[(2) - (5)].v)[0], (yyvsp[(2) - (5)].v)[1], (yyvsp[(2) - (5)].v)[2], (yyvsp[(2) - (5)].v)[3], (yyvsp[(4) - (5)].l)); (yyval.l) = (yyvsp[(4) - (5)].l); @@ -5374,7 +5417,7 @@ yyreduce: break; case 120: -#line 1636 "Gmsh.y" +#line 1679 "Gmsh.y" { DilatShapes((yyvsp[(3) - (9)].v)[0], (yyvsp[(3) - (9)].v)[1], (yyvsp[(3) - (9)].v)[2], (yyvsp[(5) - (9)].d), (yyvsp[(8) - (9)].l)); (yyval.l) = (yyvsp[(8) - (9)].l); @@ -5382,7 +5425,7 @@ yyreduce: break; case 121: -#line 1641 "Gmsh.y" +#line 1684 "Gmsh.y" { (yyval.l) = List_Create(3, 3, sizeof(Shape)); for(int i = 0; i < List_Nbr((yyvsp[(3) - (4)].l)); i++){ @@ -5396,7 +5439,7 @@ yyreduce: break; case 122: -#line 1652 "Gmsh.y" +#line 1695 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); IntersectCurvesWithSurface((yyvsp[(4) - (9)].l), (int)(yyvsp[(8) - (9)].d), (yyval.l)); @@ -5405,7 +5448,7 @@ yyreduce: break; case 123: -#line 1658 "Gmsh.y" +#line 1701 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); BoundaryShapes((yyvsp[(3) - (4)].l), (yyval.l)); @@ -5414,31 +5457,31 @@ yyreduce: break; case 124: -#line 1666 "Gmsh.y" +#line 1709 "Gmsh.y" { (yyval.l) = (yyvsp[(1) - (1)].l); ;} break; case 125: -#line 1667 "Gmsh.y" +#line 1710 "Gmsh.y" { (yyval.l) = (yyvsp[(1) - (1)].l); ;} break; case 126: -#line 1672 "Gmsh.y" +#line 1715 "Gmsh.y" { (yyval.l) = List_Create(3, 3, sizeof(Shape)); ;} break; case 127: -#line 1676 "Gmsh.y" +#line 1719 "Gmsh.y" { List_Add((yyval.l), &(yyvsp[(2) - (2)].s)); ;} break; case 128: -#line 1680 "Gmsh.y" +#line 1723 "Gmsh.y" { for(int i = 0; i < List_Nbr((yyvsp[(4) - (6)].l)); i++){ double d; @@ -5464,7 +5507,7 @@ yyreduce: break; case 129: -#line 1703 "Gmsh.y" +#line 1746 "Gmsh.y" { for(int i = 0; i < List_Nbr((yyvsp[(4) - (6)].l)); i++){ double d; @@ -5490,7 +5533,7 @@ yyreduce: break; case 130: -#line 1726 "Gmsh.y" +#line 1769 "Gmsh.y" { for(int i = 0; i < List_Nbr((yyvsp[(4) - (6)].l)); i++){ double d; @@ -5516,7 +5559,7 @@ yyreduce: break; case 131: -#line 1749 "Gmsh.y" +#line 1792 "Gmsh.y" { for(int i = 0; i < List_Nbr((yyvsp[(4) - (6)].l)); i++){ double d; @@ -5542,7 +5585,7 @@ yyreduce: break; case 132: -#line 1777 "Gmsh.y" +#line 1820 "Gmsh.y" { for(int i = 0; i < List_Nbr((yyvsp[(3) - (4)].l)); i++){ Shape TheShape; @@ -5554,15 +5597,16 @@ yyreduce: break; case 133: -#line 1786 "Gmsh.y" +#line 1829 "Gmsh.y" { GModel::current()->getFields()->delete_field((int)(yyvsp[(4) - (6)].d)); ;} break; case 134: -#line 1790 "Gmsh.y" +#line 1833 "Gmsh.y" { +#if !defined(HAVE_NO_POST) if(!strcmp((yyvsp[(2) - (6)].c), "View")){ int index = (int)(yyvsp[(4) - (6)].d); if(index >= 0 && index < (int)PView::list.size()) @@ -5572,12 +5616,13 @@ yyreduce: } else yymsg(GERROR, "Unknown command 'Delete %s'", (yyvsp[(2) - (6)].c)); +#endif Free((yyvsp[(2) - (6)].c)); ;} break; case 135: -#line 1803 "Gmsh.y" +#line 1848 "Gmsh.y" { if(!strcmp((yyvsp[(2) - (3)].c), "Meshes") || !strcmp((yyvsp[(2) - (3)].c), "All")){ GModel::current()->destroy(); @@ -5596,20 +5641,22 @@ yyreduce: break; case 136: -#line 1819 "Gmsh.y" +#line 1864 "Gmsh.y" { +#if !defined(HAVE_NO_POST) if(!strcmp((yyvsp[(2) - (4)].c), "Empty") && !strcmp((yyvsp[(3) - (4)].c), "Views")){ for(int i = PView::list.size() - 1; i >= 0; i--) if(PView::list[i]->getData()->empty()) delete PView::list[i]; } else yymsg(GERROR, "Unknown command 'Delete %s %s'", (yyvsp[(2) - (4)].c), (yyvsp[(3) - (4)].c)); +#endif Free((yyvsp[(2) - (4)].c)); Free((yyvsp[(3) - (4)].c)); ;} break; case 137: -#line 1834 "Gmsh.y" +#line 1881 "Gmsh.y" { for(int i = 0; i < List_Nbr((yyvsp[(4) - (5)].l)); i++){ Shape TheShape; @@ -5621,7 +5668,7 @@ yyreduce: break; case 138: -#line 1848 "Gmsh.y" +#line 1895 "Gmsh.y" { for(int i = 0; i < 4; i++) VisibilityShape((yyvsp[(2) - (3)].c), i, 1); @@ -5630,7 +5677,7 @@ yyreduce: break; case 139: -#line 1854 "Gmsh.y" +#line 1901 "Gmsh.y" { for(int i = 0; i < 4; i++) VisibilityShape((yyvsp[(2) - (3)].c), i, 0); @@ -5639,7 +5686,7 @@ yyreduce: break; case 140: -#line 1860 "Gmsh.y" +#line 1907 "Gmsh.y" { for(int i = 0; i < List_Nbr((yyvsp[(3) - (4)].l)); i++){ Shape TheShape; @@ -5651,7 +5698,7 @@ yyreduce: break; case 141: -#line 1869 "Gmsh.y" +#line 1916 "Gmsh.y" { for(int i = 0; i < List_Nbr((yyvsp[(3) - (4)].l)); i++){ Shape TheShape; @@ -5663,7 +5710,7 @@ yyreduce: break; case 142: -#line 1883 "Gmsh.y" +#line 1930 "Gmsh.y" { if(!strcmp((yyvsp[(1) - (3)].c), "Include")){ char tmpstring[1024]; @@ -5714,8 +5761,9 @@ yyreduce: break; case 143: -#line 1931 "Gmsh.y" +#line 1978 "Gmsh.y" { +#if !defined(HAVE_NO_POST) if(!strcmp((yyvsp[(1) - (7)].c), "Save") && !strcmp((yyvsp[(2) - (7)].c), "View")){ int index = (int)(yyvsp[(4) - (7)].d); if(index >= 0 && index < (int)PView::list.size()){ @@ -5728,13 +5776,15 @@ yyreduce: } else yymsg(GERROR, "Unknown command '%s'", (yyvsp[(1) - (7)].c)); +#endif Free((yyvsp[(1) - (7)].c)); Free((yyvsp[(2) - (7)].c)); Free((yyvsp[(6) - (7)].c)); ;} break; case 144: -#line 1947 "Gmsh.y" +#line 1996 "Gmsh.y" { +#if !defined(HAVE_NO_POST) if(!strcmp((yyvsp[(1) - (7)].c), "Background") && !strcmp((yyvsp[(2) - (7)].c), "Mesh") && !strcmp((yyvsp[(3) - (7)].c), "View")){ int index = (int)(yyvsp[(5) - (7)].d); if(index >= 0 && index < (int)PView::list.size()) @@ -5744,12 +5794,13 @@ yyreduce: } else yymsg(GERROR, "Unknown command '%s'", (yyvsp[(1) - (7)].c)); +#endif Free((yyvsp[(1) - (7)].c)); Free((yyvsp[(2) - (7)].c)); Free((yyvsp[(3) - (7)].c)); ;} break; case 145: -#line 1960 "Gmsh.y" +#line 2011 "Gmsh.y" { if(!strcmp((yyvsp[(1) - (3)].c), "Sleep")){ SleepInSeconds((yyvsp[(2) - (3)].d)); @@ -5771,21 +5822,24 @@ yyreduce: break; case 146: -#line 1979 "Gmsh.y" +#line 2030 "Gmsh.y" { +#if !defined(HAVE_NO_POST) try { GMSH_PluginManager::instance()->action((yyvsp[(3) - (7)].c), (yyvsp[(6) - (7)].c), 0); } catch(...) { yymsg(GERROR, "Unknown action '%s' or plugin '%s'", (yyvsp[(6) - (7)].c), (yyvsp[(3) - (7)].c)); } +#endif Free((yyvsp[(3) - (7)].c)); Free((yyvsp[(6) - (7)].c)); ;} break; case 147: -#line 1989 "Gmsh.y" +#line 2042 "Gmsh.y" { +#if !defined(HAVE_NO_POST) if(!strcmp((yyvsp[(2) - (3)].c), "ElementsFromAllViews")) PView::combine(false, 1, CTX.post.combine_remove_orig); else if(!strcmp((yyvsp[(2) - (3)].c), "ElementsFromVisibleViews")) @@ -5804,19 +5858,20 @@ yyreduce: PView::combine(true, 2, CTX.post.combine_remove_orig); else yymsg(GERROR, "Unknown 'Combine' command"); +#endif Free((yyvsp[(2) - (3)].c)); ;} break; case 148: -#line 2011 "Gmsh.y" +#line 2066 "Gmsh.y" { exit(0); ;} break; case 149: -#line 2015 "Gmsh.y" +#line 2070 "Gmsh.y" { CTX.forced_bbox = 0; SetBoundingBox(); @@ -5824,7 +5879,7 @@ yyreduce: break; case 150: -#line 2020 "Gmsh.y" +#line 2075 "Gmsh.y" { CTX.forced_bbox = 1; SetBoundingBox((yyvsp[(3) - (15)].d), (yyvsp[(5) - (15)].d), (yyvsp[(7) - (15)].d), (yyvsp[(9) - (15)].d), (yyvsp[(11) - (15)].d), (yyvsp[(13) - (15)].d)); @@ -5832,7 +5887,7 @@ yyreduce: break; case 151: -#line 2025 "Gmsh.y" +#line 2080 "Gmsh.y" { #if defined(HAVE_FLTK) Draw(); @@ -5841,7 +5896,7 @@ yyreduce: break; case 152: -#line 2037 "Gmsh.y" +#line 2092 "Gmsh.y" { LoopControlVariablesTab[ImbricatedLoop][0] = (yyvsp[(3) - (6)].d); LoopControlVariablesTab[ImbricatedLoop][1] = (yyvsp[(5) - (6)].d); @@ -5861,7 +5916,7 @@ yyreduce: break; case 153: -#line 2054 "Gmsh.y" +#line 2109 "Gmsh.y" { LoopControlVariablesTab[ImbricatedLoop][0] = (yyvsp[(3) - (8)].d); LoopControlVariablesTab[ImbricatedLoop][1] = (yyvsp[(5) - (8)].d); @@ -5881,7 +5936,7 @@ yyreduce: break; case 154: -#line 2071 "Gmsh.y" +#line 2126 "Gmsh.y" { LoopControlVariablesTab[ImbricatedLoop][0] = (yyvsp[(5) - (8)].d); LoopControlVariablesTab[ImbricatedLoop][1] = (yyvsp[(7) - (8)].d); @@ -5911,7 +5966,7 @@ yyreduce: break; case 155: -#line 2098 "Gmsh.y" +#line 2153 "Gmsh.y" { LoopControlVariablesTab[ImbricatedLoop][0] = (yyvsp[(5) - (10)].d); LoopControlVariablesTab[ImbricatedLoop][1] = (yyvsp[(7) - (10)].d); @@ -5941,7 +5996,7 @@ yyreduce: break; case 156: -#line 2125 "Gmsh.y" +#line 2180 "Gmsh.y" { if(ImbricatedLoop <= 0){ yymsg(GERROR, "Invalid For/EndFor loop"); @@ -5975,7 +6030,7 @@ yyreduce: break; case 157: -#line 2156 "Gmsh.y" +#line 2211 "Gmsh.y" { if(!FunctionManager::Instance()->createFunction((yyvsp[(2) - (2)].c), gmsh_yyin, gmsh_yyname, gmsh_yylineno)) @@ -5986,7 +6041,7 @@ yyreduce: break; case 158: -#line 2164 "Gmsh.y" +#line 2219 "Gmsh.y" { if(!FunctionManager::Instance()->leaveFunction(&gmsh_yyin, gmsh_yyname, gmsh_yylineno)) @@ -5995,7 +6050,7 @@ yyreduce: break; case 159: -#line 2170 "Gmsh.y" +#line 2225 "Gmsh.y" { if(!FunctionManager::Instance()->enterFunction((yyvsp[(2) - (3)].c), &gmsh_yyin, gmsh_yyname, gmsh_yylineno)) @@ -6005,20 +6060,20 @@ yyreduce: break; case 160: -#line 2177 "Gmsh.y" +#line 2232 "Gmsh.y" { if(!(yyvsp[(3) - (4)].d)) skip_until("If", "EndIf"); ;} break; case 161: -#line 2181 "Gmsh.y" +#line 2236 "Gmsh.y" { ;} break; case 162: -#line 2190 "Gmsh.y" +#line 2245 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); ExtrudeShapes(TRANSLATE, (yyvsp[(4) - (5)].l), @@ -6029,7 +6084,7 @@ yyreduce: break; case 163: -#line 2198 "Gmsh.y" +#line 2253 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); ExtrudeShapes(ROTATE, (yyvsp[(10) - (11)].l), @@ -6040,7 +6095,7 @@ yyreduce: break; case 164: -#line 2206 "Gmsh.y" +#line 2261 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); ExtrudeShapes(TRANSLATE_ROTATE, (yyvsp[(12) - (13)].l), @@ -6051,14 +6106,14 @@ yyreduce: break; case 165: -#line 2214 "Gmsh.y" +#line 2269 "Gmsh.y" { extr.mesh.ExtrudeMesh = extr.mesh.Recombine = false; ;} break; case 166: -#line 2218 "Gmsh.y" +#line 2273 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); ExtrudeShapes(TRANSLATE, (yyvsp[(4) - (7)].l), @@ -6069,14 +6124,14 @@ yyreduce: break; case 167: -#line 2226 "Gmsh.y" +#line 2281 "Gmsh.y" { extr.mesh.ExtrudeMesh = extr.mesh.Recombine = false; ;} break; case 168: -#line 2230 "Gmsh.y" +#line 2285 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); ExtrudeShapes(ROTATE, (yyvsp[(10) - (13)].l), @@ -6087,14 +6142,14 @@ yyreduce: break; case 169: -#line 2238 "Gmsh.y" +#line 2293 "Gmsh.y" { extr.mesh.ExtrudeMesh = extr.mesh.Recombine = false; ;} break; case 170: -#line 2242 "Gmsh.y" +#line 2297 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); ExtrudeShapes(TRANSLATE_ROTATE, (yyvsp[(12) - (15)].l), @@ -6105,14 +6160,14 @@ yyreduce: break; case 171: -#line 2250 "Gmsh.y" +#line 2305 "Gmsh.y" { extr.mesh.ExtrudeMesh = extr.mesh.Recombine = false; ;} break; case 172: -#line 2254 "Gmsh.y" +#line 2309 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); ExtrudeShapes(BOUNDARY_LAYER, (yyvsp[(3) - (6)].l), 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., @@ -6122,14 +6177,14 @@ yyreduce: break; case 173: -#line 2261 "Gmsh.y" +#line 2316 "Gmsh.y" { extr.mesh.ExtrudeMesh = extr.mesh.Recombine = false; ;} break; case 174: -#line 2265 "Gmsh.y" +#line 2320 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); extr.mesh.ViewIndex = (int)(yyvsp[(4) - (10)].d); @@ -6142,7 +6197,7 @@ yyreduce: break; case 175: -#line 2277 "Gmsh.y" +#line 2332 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); ExtrudeShape(TRANSLATE, MSH_POINT, (int)(yyvsp[(4) - (8)].d), @@ -6152,7 +6207,7 @@ yyreduce: break; case 176: -#line 2284 "Gmsh.y" +#line 2339 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); ExtrudeShape(TRANSLATE, MSH_SEGM_LINE, (int)(yyvsp[(4) - (8)].d), @@ -6162,7 +6217,7 @@ yyreduce: break; case 177: -#line 2291 "Gmsh.y" +#line 2346 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); ExtrudeShape(TRANSLATE, MSH_SURF_PLAN, (int)(yyvsp[(4) - (8)].d), @@ -6172,7 +6227,7 @@ yyreduce: break; case 178: -#line 2298 "Gmsh.y" +#line 2353 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); ExtrudeShape(ROTATE, MSH_POINT, (int)(yyvsp[(4) - (12)].d), @@ -6182,7 +6237,7 @@ yyreduce: break; case 179: -#line 2305 "Gmsh.y" +#line 2360 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); ExtrudeShape(ROTATE, MSH_SEGM_LINE, (int)(yyvsp[(4) - (12)].d), @@ -6192,7 +6247,7 @@ yyreduce: break; case 180: -#line 2312 "Gmsh.y" +#line 2367 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); ExtrudeShape(ROTATE, MSH_SURF_PLAN, (int)(yyvsp[(4) - (12)].d), @@ -6202,7 +6257,7 @@ yyreduce: break; case 181: -#line 2319 "Gmsh.y" +#line 2374 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); ExtrudeShape(TRANSLATE_ROTATE, MSH_POINT, (int)(yyvsp[(4) - (14)].d), @@ -6212,7 +6267,7 @@ yyreduce: break; case 182: -#line 2326 "Gmsh.y" +#line 2381 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); ExtrudeShape(TRANSLATE_ROTATE, MSH_SEGM_LINE, (int)(yyvsp[(4) - (14)].d), @@ -6222,7 +6277,7 @@ yyreduce: break; case 183: -#line 2333 "Gmsh.y" +#line 2388 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); ExtrudeShape(TRANSLATE_ROTATE, MSH_SURF_PLAN, (int)(yyvsp[(4) - (14)].d), @@ -6232,14 +6287,14 @@ yyreduce: break; case 184: -#line 2340 "Gmsh.y" +#line 2395 "Gmsh.y" { extr.mesh.ExtrudeMesh = extr.mesh.Recombine = false; ;} break; case 185: -#line 2344 "Gmsh.y" +#line 2399 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); ExtrudeShape(TRANSLATE, MSH_POINT, (int)(yyvsp[(4) - (12)].d), @@ -6249,14 +6304,14 @@ yyreduce: break; case 186: -#line 2351 "Gmsh.y" +#line 2406 "Gmsh.y" { extr.mesh.ExtrudeMesh = extr.mesh.Recombine = false; ;} break; case 187: -#line 2355 "Gmsh.y" +#line 2410 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); ExtrudeShape(TRANSLATE, MSH_SEGM_LINE, (int)(yyvsp[(4) - (12)].d), @@ -6266,14 +6321,14 @@ yyreduce: break; case 188: -#line 2362 "Gmsh.y" +#line 2417 "Gmsh.y" { extr.mesh.ExtrudeMesh = extr.mesh.Recombine = false; ;} break; case 189: -#line 2366 "Gmsh.y" +#line 2421 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); ExtrudeShape(TRANSLATE, MSH_SURF_PLAN, (int)(yyvsp[(4) - (12)].d), @@ -6283,14 +6338,14 @@ yyreduce: break; case 190: -#line 2373 "Gmsh.y" +#line 2428 "Gmsh.y" { extr.mesh.ExtrudeMesh = extr.mesh.Recombine = false; ;} break; case 191: -#line 2377 "Gmsh.y" +#line 2432 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); ExtrudeShape(ROTATE, MSH_POINT, (int)(yyvsp[(4) - (16)].d), @@ -6300,14 +6355,14 @@ yyreduce: break; case 192: -#line 2384 "Gmsh.y" +#line 2439 "Gmsh.y" { extr.mesh.ExtrudeMesh = extr.mesh.Recombine = false; ;} break; case 193: -#line 2388 "Gmsh.y" +#line 2443 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); ExtrudeShape(ROTATE, MSH_SEGM_LINE, (int)(yyvsp[(4) - (16)].d), @@ -6317,14 +6372,14 @@ yyreduce: break; case 194: -#line 2395 "Gmsh.y" +#line 2450 "Gmsh.y" { extr.mesh.ExtrudeMesh = extr.mesh.Recombine = false; ;} break; case 195: -#line 2399 "Gmsh.y" +#line 2454 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); ExtrudeShape(ROTATE, MSH_SURF_PLAN, (int)(yyvsp[(4) - (16)].d), @@ -6334,14 +6389,14 @@ yyreduce: break; case 196: -#line 2406 "Gmsh.y" +#line 2461 "Gmsh.y" { extr.mesh.ExtrudeMesh = extr.mesh.Recombine = false; ;} break; case 197: -#line 2410 "Gmsh.y" +#line 2465 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); ExtrudeShape(TRANSLATE_ROTATE, MSH_POINT, (int)(yyvsp[(4) - (18)].d), @@ -6351,14 +6406,14 @@ yyreduce: break; case 198: -#line 2417 "Gmsh.y" +#line 2472 "Gmsh.y" { extr.mesh.ExtrudeMesh = extr.mesh.Recombine = false; ;} break; case 199: -#line 2421 "Gmsh.y" +#line 2476 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); ExtrudeShape(TRANSLATE_ROTATE, MSH_SEGM_LINE, (int)(yyvsp[(4) - (18)].d), @@ -6368,14 +6423,14 @@ yyreduce: break; case 200: -#line 2428 "Gmsh.y" +#line 2483 "Gmsh.y" { extr.mesh.ExtrudeMesh = extr.mesh.Recombine = false; ;} break; case 201: -#line 2432 "Gmsh.y" +#line 2487 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); ExtrudeShape(TRANSLATE_ROTATE, MSH_SURF_PLAN, (int)(yyvsp[(4) - (18)].d), @@ -6385,19 +6440,19 @@ yyreduce: break; case 202: -#line 2443 "Gmsh.y" +#line 2498 "Gmsh.y" { ;} break; case 203: -#line 2446 "Gmsh.y" +#line 2501 "Gmsh.y" { ;} break; case 204: -#line 2452 "Gmsh.y" +#line 2507 "Gmsh.y" { extr.mesh.ExtrudeMesh = true; extr.mesh.NbLayer = 1; @@ -6409,7 +6464,7 @@ yyreduce: break; case 205: -#line 2461 "Gmsh.y" +#line 2516 "Gmsh.y" { double d; extr.mesh.ExtrudeMesh = true; @@ -6432,7 +6487,7 @@ yyreduce: break; case 206: -#line 2481 "Gmsh.y" +#line 2536 "Gmsh.y" { yymsg(GERROR, "Explicit region numbers in layers are deprecated"); double d; @@ -6458,14 +6513,14 @@ yyreduce: break; case 207: -#line 2504 "Gmsh.y" +#line 2559 "Gmsh.y" { extr.mesh.Recombine = true; ;} break; case 208: -#line 2508 "Gmsh.y" +#line 2563 "Gmsh.y" { int num = (int)(yyvsp[(3) - (9)].d); if(FindSurface(num)){ @@ -6487,7 +6542,7 @@ yyreduce: break; case 209: -#line 2532 "Gmsh.y" +#line 2587 "Gmsh.y" { for(int i = 0; i < List_Nbr((yyvsp[(3) - (6)].l)); i++){ double d; @@ -6508,7 +6563,7 @@ yyreduce: break; case 210: -#line 2550 "Gmsh.y" +#line 2605 "Gmsh.y" { for(int i = 0; i < List_Nbr((yyvsp[(3) - (9)].l)); i++){ double d; @@ -6529,7 +6584,7 @@ yyreduce: break; case 211: -#line 2568 "Gmsh.y" +#line 2623 "Gmsh.y" { for(int i = 0; i < List_Nbr((yyvsp[(3) - (9)].l)); i++){ double d; @@ -6550,7 +6605,7 @@ yyreduce: break; case 212: -#line 2586 "Gmsh.y" +#line 2641 "Gmsh.y" { Surface *s = FindSurface((int)(yyvsp[(4) - (8)].d)); if(!s) @@ -6582,7 +6637,7 @@ yyreduce: break; case 213: -#line 2615 "Gmsh.y" +#line 2670 "Gmsh.y" { Surface *s = FindSurface((int)(yyvsp[(4) - (9)].d)); if(!s) @@ -6620,7 +6675,7 @@ yyreduce: break; case 214: -#line 2650 "Gmsh.y" +#line 2705 "Gmsh.y" { yymsg(WARNING, "Elliptic Surface is deprecated: use Transfinite instead (with smoothing)"); List_Delete((yyvsp[(7) - (8)].l)); @@ -6628,7 +6683,7 @@ yyreduce: break; case 215: -#line 2655 "Gmsh.y" +#line 2710 "Gmsh.y" { Volume *v = FindVolume((int)(yyvsp[(4) - (8)].d)); if(!v) @@ -6658,7 +6713,7 @@ yyreduce: break; case 216: -#line 2682 "Gmsh.y" +#line 2737 "Gmsh.y" { for(int i = 0; i < List_Nbr((yyvsp[(3) - (6)].l)); i++){ double d; @@ -6675,7 +6730,7 @@ yyreduce: break; case 217: -#line 2696 "Gmsh.y" +#line 2751 "Gmsh.y" { for(int i = 0; i < List_Nbr((yyvsp[(3) - (4)].l)); i++){ double d; @@ -6691,7 +6746,7 @@ yyreduce: break; case 218: -#line 2709 "Gmsh.y" +#line 2764 "Gmsh.y" { for(int i = 0; i < List_Nbr((yyvsp[(3) - (6)].l)); i++){ double d; @@ -6705,7 +6760,7 @@ yyreduce: break; case 219: -#line 2726 "Gmsh.y" +#line 2781 "Gmsh.y" { Surface *s = FindSurface((int)(yyvsp[(8) - (10)].d)); if(s) @@ -6714,7 +6769,7 @@ yyreduce: break; case 220: -#line 2732 "Gmsh.y" +#line 2787 "Gmsh.y" { Surface *s = FindSurface((int)(yyvsp[(8) - (10)].d)); if(s) @@ -6723,66 +6778,66 @@ yyreduce: break; case 221: -#line 2738 "Gmsh.y" +#line 2793 "Gmsh.y" { ;} break; case 222: -#line 2741 "Gmsh.y" +#line 2796 "Gmsh.y" { ;} break; case 223: -#line 2750 "Gmsh.y" +#line 2805 "Gmsh.y" { ReplaceAllDuplicates(); ;} break; case 224: -#line 2759 "Gmsh.y" +#line 2814 "Gmsh.y" { (yyval.d) = (yyvsp[(1) - (1)].d); ;} break; case 225: -#line 2760 "Gmsh.y" +#line 2815 "Gmsh.y" { (yyval.d) = (yyvsp[(2) - (3)].d); ;} break; case 226: -#line 2761 "Gmsh.y" +#line 2816 "Gmsh.y" { (yyval.d) = -(yyvsp[(2) - (2)].d); ;} break; case 227: -#line 2762 "Gmsh.y" +#line 2817 "Gmsh.y" { (yyval.d) = (yyvsp[(2) - (2)].d); ;} break; case 228: -#line 2763 "Gmsh.y" +#line 2818 "Gmsh.y" { (yyval.d) = !(yyvsp[(2) - (2)].d); ;} break; case 229: -#line 2764 "Gmsh.y" +#line 2819 "Gmsh.y" { (yyval.d) = (yyvsp[(1) - (3)].d) - (yyvsp[(3) - (3)].d); ;} break; case 230: -#line 2765 "Gmsh.y" +#line 2820 "Gmsh.y" { (yyval.d) = (yyvsp[(1) - (3)].d) + (yyvsp[(3) - (3)].d); ;} break; case 231: -#line 2766 "Gmsh.y" +#line 2821 "Gmsh.y" { (yyval.d) = (yyvsp[(1) - (3)].d) * (yyvsp[(3) - (3)].d); ;} break; case 232: -#line 2768 "Gmsh.y" +#line 2823 "Gmsh.y" { if(!(yyvsp[(3) - (3)].d)) yymsg(GERROR, "Division by zero in '%g / %g'", (yyvsp[(1) - (3)].d), (yyvsp[(3) - (3)].d)); @@ -6792,307 +6847,307 @@ yyreduce: break; case 233: -#line 2774 "Gmsh.y" +#line 2829 "Gmsh.y" { (yyval.d) = (int)(yyvsp[(1) - (3)].d) % (int)(yyvsp[(3) - (3)].d); ;} break; case 234: -#line 2775 "Gmsh.y" +#line 2830 "Gmsh.y" { (yyval.d) = pow((yyvsp[(1) - (3)].d), (yyvsp[(3) - (3)].d)); ;} break; case 235: -#line 2776 "Gmsh.y" +#line 2831 "Gmsh.y" { (yyval.d) = (yyvsp[(1) - (3)].d) < (yyvsp[(3) - (3)].d); ;} break; case 236: -#line 2777 "Gmsh.y" +#line 2832 "Gmsh.y" { (yyval.d) = (yyvsp[(1) - (3)].d) > (yyvsp[(3) - (3)].d); ;} break; case 237: -#line 2778 "Gmsh.y" +#line 2833 "Gmsh.y" { (yyval.d) = (yyvsp[(1) - (3)].d) <= (yyvsp[(3) - (3)].d); ;} break; case 238: -#line 2779 "Gmsh.y" +#line 2834 "Gmsh.y" { (yyval.d) = (yyvsp[(1) - (3)].d) >= (yyvsp[(3) - (3)].d); ;} break; case 239: -#line 2780 "Gmsh.y" +#line 2835 "Gmsh.y" { (yyval.d) = (yyvsp[(1) - (3)].d) == (yyvsp[(3) - (3)].d); ;} break; case 240: -#line 2781 "Gmsh.y" +#line 2836 "Gmsh.y" { (yyval.d) = (yyvsp[(1) - (3)].d) != (yyvsp[(3) - (3)].d); ;} break; case 241: -#line 2782 "Gmsh.y" +#line 2837 "Gmsh.y" { (yyval.d) = (yyvsp[(1) - (3)].d) && (yyvsp[(3) - (3)].d); ;} break; case 242: -#line 2783 "Gmsh.y" +#line 2838 "Gmsh.y" { (yyval.d) = (yyvsp[(1) - (3)].d) || (yyvsp[(3) - (3)].d); ;} break; case 243: -#line 2784 "Gmsh.y" +#line 2839 "Gmsh.y" { (yyval.d) = (yyvsp[(1) - (5)].d)? (yyvsp[(3) - (5)].d) : (yyvsp[(5) - (5)].d); ;} break; case 244: -#line 2785 "Gmsh.y" +#line 2840 "Gmsh.y" { (yyval.d) = exp((yyvsp[(3) - (4)].d)); ;} break; case 245: -#line 2786 "Gmsh.y" +#line 2841 "Gmsh.y" { (yyval.d) = log((yyvsp[(3) - (4)].d)); ;} break; case 246: -#line 2787 "Gmsh.y" +#line 2842 "Gmsh.y" { (yyval.d) = log10((yyvsp[(3) - (4)].d)); ;} break; case 247: -#line 2788 "Gmsh.y" +#line 2843 "Gmsh.y" { (yyval.d) = sqrt((yyvsp[(3) - (4)].d)); ;} break; case 248: -#line 2789 "Gmsh.y" +#line 2844 "Gmsh.y" { (yyval.d) = sin((yyvsp[(3) - (4)].d)); ;} break; case 249: -#line 2790 "Gmsh.y" +#line 2845 "Gmsh.y" { (yyval.d) = asin((yyvsp[(3) - (4)].d)); ;} break; case 250: -#line 2791 "Gmsh.y" +#line 2846 "Gmsh.y" { (yyval.d) = cos((yyvsp[(3) - (4)].d)); ;} break; case 251: -#line 2792 "Gmsh.y" +#line 2847 "Gmsh.y" { (yyval.d) = acos((yyvsp[(3) - (4)].d)); ;} break; case 252: -#line 2793 "Gmsh.y" +#line 2848 "Gmsh.y" { (yyval.d) = tan((yyvsp[(3) - (4)].d)); ;} break; case 253: -#line 2794 "Gmsh.y" +#line 2849 "Gmsh.y" { (yyval.d) = atan((yyvsp[(3) - (4)].d)); ;} break; case 254: -#line 2795 "Gmsh.y" +#line 2850 "Gmsh.y" { (yyval.d) = atan2((yyvsp[(3) - (6)].d), (yyvsp[(5) - (6)].d));;} break; case 255: -#line 2796 "Gmsh.y" +#line 2851 "Gmsh.y" { (yyval.d) = sinh((yyvsp[(3) - (4)].d)); ;} break; case 256: -#line 2797 "Gmsh.y" +#line 2852 "Gmsh.y" { (yyval.d) = cosh((yyvsp[(3) - (4)].d)); ;} break; case 257: -#line 2798 "Gmsh.y" +#line 2853 "Gmsh.y" { (yyval.d) = tanh((yyvsp[(3) - (4)].d)); ;} break; case 258: -#line 2799 "Gmsh.y" +#line 2854 "Gmsh.y" { (yyval.d) = fabs((yyvsp[(3) - (4)].d)); ;} break; case 259: -#line 2800 "Gmsh.y" +#line 2855 "Gmsh.y" { (yyval.d) = floor((yyvsp[(3) - (4)].d)); ;} break; case 260: -#line 2801 "Gmsh.y" +#line 2856 "Gmsh.y" { (yyval.d) = ceil((yyvsp[(3) - (4)].d)); ;} break; case 261: -#line 2802 "Gmsh.y" +#line 2857 "Gmsh.y" { (yyval.d) = fmod((yyvsp[(3) - (6)].d), (yyvsp[(5) - (6)].d)); ;} break; case 262: -#line 2803 "Gmsh.y" +#line 2858 "Gmsh.y" { (yyval.d) = fmod((yyvsp[(3) - (6)].d), (yyvsp[(5) - (6)].d)); ;} break; case 263: -#line 2804 "Gmsh.y" +#line 2859 "Gmsh.y" { (yyval.d) = sqrt((yyvsp[(3) - (6)].d)*(yyvsp[(3) - (6)].d)+(yyvsp[(5) - (6)].d)*(yyvsp[(5) - (6)].d)); ;} break; case 264: -#line 2805 "Gmsh.y" +#line 2860 "Gmsh.y" { (yyval.d) = (yyvsp[(3) - (4)].d)*(double)rand()/(double)RAND_MAX; ;} break; case 265: -#line 2807 "Gmsh.y" +#line 2862 "Gmsh.y" { (yyval.d) = exp((yyvsp[(3) - (4)].d)); ;} break; case 266: -#line 2808 "Gmsh.y" +#line 2863 "Gmsh.y" { (yyval.d) = log((yyvsp[(3) - (4)].d)); ;} break; case 267: -#line 2809 "Gmsh.y" +#line 2864 "Gmsh.y" { (yyval.d) = log10((yyvsp[(3) - (4)].d)); ;} break; case 268: -#line 2810 "Gmsh.y" +#line 2865 "Gmsh.y" { (yyval.d) = sqrt((yyvsp[(3) - (4)].d)); ;} break; case 269: -#line 2811 "Gmsh.y" +#line 2866 "Gmsh.y" { (yyval.d) = sin((yyvsp[(3) - (4)].d)); ;} break; case 270: -#line 2812 "Gmsh.y" +#line 2867 "Gmsh.y" { (yyval.d) = asin((yyvsp[(3) - (4)].d)); ;} break; case 271: -#line 2813 "Gmsh.y" +#line 2868 "Gmsh.y" { (yyval.d) = cos((yyvsp[(3) - (4)].d)); ;} break; case 272: -#line 2814 "Gmsh.y" +#line 2869 "Gmsh.y" { (yyval.d) = acos((yyvsp[(3) - (4)].d)); ;} break; case 273: -#line 2815 "Gmsh.y" +#line 2870 "Gmsh.y" { (yyval.d) = tan((yyvsp[(3) - (4)].d)); ;} break; case 274: -#line 2816 "Gmsh.y" +#line 2871 "Gmsh.y" { (yyval.d) = atan((yyvsp[(3) - (4)].d)); ;} break; case 275: -#line 2817 "Gmsh.y" +#line 2872 "Gmsh.y" { (yyval.d) = atan2((yyvsp[(3) - (6)].d), (yyvsp[(5) - (6)].d));;} break; case 276: -#line 2818 "Gmsh.y" +#line 2873 "Gmsh.y" { (yyval.d) = sinh((yyvsp[(3) - (4)].d)); ;} break; case 277: -#line 2819 "Gmsh.y" +#line 2874 "Gmsh.y" { (yyval.d) = cosh((yyvsp[(3) - (4)].d)); ;} break; case 278: -#line 2820 "Gmsh.y" +#line 2875 "Gmsh.y" { (yyval.d) = tanh((yyvsp[(3) - (4)].d)); ;} break; case 279: -#line 2821 "Gmsh.y" +#line 2876 "Gmsh.y" { (yyval.d) = fabs((yyvsp[(3) - (4)].d)); ;} break; case 280: -#line 2822 "Gmsh.y" +#line 2877 "Gmsh.y" { (yyval.d) = floor((yyvsp[(3) - (4)].d)); ;} break; case 281: -#line 2823 "Gmsh.y" +#line 2878 "Gmsh.y" { (yyval.d) = ceil((yyvsp[(3) - (4)].d)); ;} break; case 282: -#line 2824 "Gmsh.y" +#line 2879 "Gmsh.y" { (yyval.d) = fmod((yyvsp[(3) - (6)].d), (yyvsp[(5) - (6)].d)); ;} break; case 283: -#line 2825 "Gmsh.y" +#line 2880 "Gmsh.y" { (yyval.d) = fmod((yyvsp[(3) - (6)].d), (yyvsp[(5) - (6)].d)); ;} break; case 284: -#line 2826 "Gmsh.y" +#line 2881 "Gmsh.y" { (yyval.d) = sqrt((yyvsp[(3) - (6)].d)*(yyvsp[(3) - (6)].d)+(yyvsp[(5) - (6)].d)*(yyvsp[(5) - (6)].d)); ;} break; case 285: -#line 2827 "Gmsh.y" +#line 2882 "Gmsh.y" { (yyval.d) = (yyvsp[(3) - (4)].d)*(double)rand()/(double)RAND_MAX; ;} break; case 286: -#line 2836 "Gmsh.y" +#line 2891 "Gmsh.y" { (yyval.d) = (yyvsp[(1) - (1)].d); ;} break; case 287: -#line 2837 "Gmsh.y" +#line 2892 "Gmsh.y" { (yyval.d) = 3.141592653589793; ;} break; case 288: -#line 2838 "Gmsh.y" +#line 2893 "Gmsh.y" { (yyval.d) = ParUtil::Instance()->rank(); ;} break; case 289: -#line 2839 "Gmsh.y" +#line 2894 "Gmsh.y" { (yyval.d) = ParUtil::Instance()->size(); ;} break; case 290: -#line 2840 "Gmsh.y" +#line 2895 "Gmsh.y" { (yyval.d) = Get_GmshMajorVersion(); ;} break; case 291: -#line 2841 "Gmsh.y" +#line 2896 "Gmsh.y" { (yyval.d) = Get_GmshMinorVersion(); ;} break; case 292: -#line 2842 "Gmsh.y" +#line 2897 "Gmsh.y" { (yyval.d) = Get_GmshPatchVersion(); ;} break; case 293: -#line 2847 "Gmsh.y" +#line 2902 "Gmsh.y" { Symbol TheSymbol; TheSymbol.Name = (yyvsp[(1) - (1)].c); @@ -7108,7 +7163,7 @@ yyreduce: break; case 294: -#line 2863 "Gmsh.y" +#line 2918 "Gmsh.y" { char tmpstring[1024]; sprintf(tmpstring, "%s_%d", (yyvsp[(1) - (5)].c), (int)(yyvsp[(4) - (5)].d)) ; @@ -7126,7 +7181,7 @@ yyreduce: break; case 295: -#line 2878 "Gmsh.y" +#line 2933 "Gmsh.y" { Symbol TheSymbol; TheSymbol.Name = (yyvsp[(1) - (4)].c); @@ -7149,7 +7204,7 @@ yyreduce: break; case 296: -#line 2898 "Gmsh.y" +#line 2953 "Gmsh.y" { Symbol TheSymbol; TheSymbol.Name = (yyvsp[(2) - (4)].c); @@ -7165,7 +7220,7 @@ yyreduce: break; case 297: -#line 2911 "Gmsh.y" +#line 2966 "Gmsh.y" { Symbol TheSymbol; TheSymbol.Name = (yyvsp[(1) - (2)].c); @@ -7181,7 +7236,7 @@ yyreduce: break; case 298: -#line 2924 "Gmsh.y" +#line 2979 "Gmsh.y" { Symbol TheSymbol; TheSymbol.Name = (yyvsp[(1) - (5)].c); @@ -7204,7 +7259,7 @@ yyreduce: break; case 299: -#line 2947 "Gmsh.y" +#line 3002 "Gmsh.y" { double (*pNumOpt)(int num, int action, double value); StringXNumber *pNumCat; @@ -7225,7 +7280,7 @@ yyreduce: break; case 300: -#line 2965 "Gmsh.y" +#line 3020 "Gmsh.y" { double (*pNumOpt)(int num, int action, double value); StringXNumber *pNumCat; @@ -7246,7 +7301,7 @@ yyreduce: break; case 301: -#line 2983 "Gmsh.y" +#line 3038 "Gmsh.y" { double (*pNumOpt)(int num, int action, double value); StringXNumber *pNumCat; @@ -7267,7 +7322,7 @@ yyreduce: break; case 302: -#line 3001 "Gmsh.y" +#line 3056 "Gmsh.y" { double (*pNumOpt)(int num, int action, double value); StringXNumber *pNumCat; @@ -7288,7 +7343,7 @@ yyreduce: break; case 303: -#line 3019 "Gmsh.y" +#line 3074 "Gmsh.y" { (yyval.d) = GetValue((yyvsp[(3) - (6)].c), (yyvsp[(5) - (6)].d)); Free((yyvsp[(3) - (6)].c)); @@ -7296,70 +7351,70 @@ yyreduce: break; case 304: -#line 3027 "Gmsh.y" +#line 3082 "Gmsh.y" { memcpy((yyval.v), (yyvsp[(1) - (1)].v), 5*sizeof(double)); ;} break; case 305: -#line 3031 "Gmsh.y" +#line 3086 "Gmsh.y" { for(int i = 0; i < 5; i++) (yyval.v)[i] = -(yyvsp[(2) - (2)].v)[i]; ;} break; case 306: -#line 3035 "Gmsh.y" +#line 3090 "Gmsh.y" { for(int i = 0; i < 5; i++) (yyval.v)[i] = (yyvsp[(2) - (2)].v)[i]; ;} break; case 307: -#line 3039 "Gmsh.y" +#line 3094 "Gmsh.y" { for(int i = 0; i < 5; i++) (yyval.v)[i] = (yyvsp[(1) - (3)].v)[i] - (yyvsp[(3) - (3)].v)[i]; ;} break; case 308: -#line 3043 "Gmsh.y" +#line 3098 "Gmsh.y" { for(int i = 0; i < 5; i++) (yyval.v)[i] = (yyvsp[(1) - (3)].v)[i] + (yyvsp[(3) - (3)].v)[i]; ;} break; case 309: -#line 3050 "Gmsh.y" +#line 3105 "Gmsh.y" { (yyval.v)[0] = (yyvsp[(2) - (11)].d); (yyval.v)[1] = (yyvsp[(4) - (11)].d); (yyval.v)[2] = (yyvsp[(6) - (11)].d); (yyval.v)[3] = (yyvsp[(8) - (11)].d); (yyval.v)[4] = (yyvsp[(10) - (11)].d); ;} break; case 310: -#line 3054 "Gmsh.y" +#line 3109 "Gmsh.y" { (yyval.v)[0] = (yyvsp[(2) - (9)].d); (yyval.v)[1] = (yyvsp[(4) - (9)].d); (yyval.v)[2] = (yyvsp[(6) - (9)].d); (yyval.v)[3] = (yyvsp[(8) - (9)].d); (yyval.v)[4] = 1.0; ;} break; case 311: -#line 3058 "Gmsh.y" +#line 3113 "Gmsh.y" { (yyval.v)[0] = (yyvsp[(2) - (7)].d); (yyval.v)[1] = (yyvsp[(4) - (7)].d); (yyval.v)[2] = (yyvsp[(6) - (7)].d); (yyval.v)[3] = 0.0; (yyval.v)[4] = 1.0; ;} break; case 312: -#line 3062 "Gmsh.y" +#line 3117 "Gmsh.y" { (yyval.v)[0] = (yyvsp[(2) - (7)].d); (yyval.v)[1] = (yyvsp[(4) - (7)].d); (yyval.v)[2] = (yyvsp[(6) - (7)].d); (yyval.v)[3] = 0.0; (yyval.v)[4] = 1.0; ;} break; case 313: -#line 3069 "Gmsh.y" +#line 3124 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(List_T*)); List_Add((yyval.l), &((yyvsp[(1) - (1)].l))); @@ -7367,14 +7422,14 @@ yyreduce: break; case 314: -#line 3074 "Gmsh.y" +#line 3129 "Gmsh.y" { List_Add((yyval.l), &((yyvsp[(3) - (3)].l))); ;} break; case 315: -#line 3082 "Gmsh.y" +#line 3137 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(double)); List_Add((yyval.l), &((yyvsp[(1) - (1)].d))); @@ -7382,14 +7437,14 @@ yyreduce: break; case 316: -#line 3087 "Gmsh.y" +#line 3142 "Gmsh.y" { (yyval.l) = (yyvsp[(1) - (1)].l); ;} break; case 317: -#line 3091 "Gmsh.y" +#line 3146 "Gmsh.y" { // creates an empty list (yyval.l) = List_Create(2, 1, sizeof(double)); @@ -7397,14 +7452,14 @@ yyreduce: break; case 318: -#line 3096 "Gmsh.y" +#line 3151 "Gmsh.y" { (yyval.l) = (yyvsp[(2) - (3)].l); ;} break; case 319: -#line 3100 "Gmsh.y" +#line 3155 "Gmsh.y" { (yyval.l) = (yyvsp[(3) - (4)].l); for(int i = 0; i < List_Nbr((yyval.l)); i++){ @@ -7415,7 +7470,7 @@ yyreduce: break; case 320: -#line 3108 "Gmsh.y" +#line 3163 "Gmsh.y" { (yyval.l) = (yyvsp[(4) - (5)].l); for(int i = 0; i < List_Nbr((yyval.l)); i++){ @@ -7426,7 +7481,7 @@ yyreduce: break; case 321: -#line 3119 "Gmsh.y" +#line 3174 "Gmsh.y" { (yyval.l) = (yyvsp[(2) - (2)].l); for(int i = 0; i < List_Nbr((yyval.l)); i++){ @@ -7437,7 +7492,7 @@ yyreduce: break; case 322: -#line 3127 "Gmsh.y" +#line 3182 "Gmsh.y" { (yyval.l) = (yyvsp[(3) - (3)].l); for(int i = 0; i < List_Nbr((yyval.l)); i++){ @@ -7448,7 +7503,7 @@ yyreduce: break; case 323: -#line 3135 "Gmsh.y" +#line 3190 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(double)); for(double d = (yyvsp[(1) - (3)].d); ((yyvsp[(1) - (3)].d) < (yyvsp[(3) - (3)].d)) ? (d <= (yyvsp[(3) - (3)].d)) : (d >= (yyvsp[(3) - (3)].d)); ((yyvsp[(1) - (3)].d) < (yyvsp[(3) - (3)].d)) ? (d += 1.) : (d -= 1.)) @@ -7457,7 +7512,7 @@ yyreduce: break; case 324: -#line 3141 "Gmsh.y" +#line 3196 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(double)); if(!(yyvsp[(5) - (5)].d) || ((yyvsp[(1) - (5)].d) < (yyvsp[(3) - (5)].d) && (yyvsp[(5) - (5)].d) < 0) || ((yyvsp[(1) - (5)].d) > (yyvsp[(3) - (5)].d) && (yyvsp[(5) - (5)].d) > 0)){ @@ -7471,7 +7526,7 @@ yyreduce: break; case 325: -#line 3152 "Gmsh.y" +#line 3207 "Gmsh.y" { // Returns the coordinates of a point and fills a list with it. // This allows to ensure e.g. that relative point positions are @@ -7494,7 +7549,7 @@ yyreduce: break; case 326: -#line 3172 "Gmsh.y" +#line 3227 "Gmsh.y" { (yyval.l) = List_Create(List_Nbr((yyvsp[(1) - (1)].l)), 1, sizeof(double)); for(int i = 0; i < List_Nbr((yyvsp[(1) - (1)].l)); i++){ @@ -7507,7 +7562,7 @@ yyreduce: break; case 327: -#line 3182 "Gmsh.y" +#line 3237 "Gmsh.y" { (yyval.l) = List_Create(List_Nbr((yyvsp[(1) - (1)].l)), 1, sizeof(double)); for(int i = 0; i < List_Nbr((yyvsp[(1) - (1)].l)); i++){ @@ -7520,7 +7575,7 @@ yyreduce: break; case 328: -#line 3192 "Gmsh.y" +#line 3247 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(double)); Symbol TheSymbol; @@ -7540,7 +7595,7 @@ yyreduce: break; case 329: -#line 3209 "Gmsh.y" +#line 3264 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(double)); Symbol TheSymbol; @@ -7567,7 +7622,7 @@ yyreduce: break; case 330: -#line 3236 "Gmsh.y" +#line 3291 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(double)); List_Add((yyval.l), &((yyvsp[(1) - (1)].d))); @@ -7575,21 +7630,21 @@ yyreduce: break; case 331: -#line 3241 "Gmsh.y" +#line 3296 "Gmsh.y" { (yyval.l) = (yyvsp[(1) - (1)].l); ;} break; case 332: -#line 3245 "Gmsh.y" +#line 3300 "Gmsh.y" { List_Add((yyval.l), &((yyvsp[(3) - (3)].d))); ;} break; case 333: -#line 3249 "Gmsh.y" +#line 3304 "Gmsh.y" { for(int i = 0; i < List_Nbr((yyvsp[(3) - (3)].l)); i++){ double d; @@ -7601,21 +7656,21 @@ yyreduce: break; case 334: -#line 3262 "Gmsh.y" +#line 3317 "Gmsh.y" { (yyval.u) = CTX.PACK_COLOR((int)(yyvsp[(2) - (9)].d), (int)(yyvsp[(4) - (9)].d), (int)(yyvsp[(6) - (9)].d), (int)(yyvsp[(8) - (9)].d)); ;} break; case 335: -#line 3266 "Gmsh.y" +#line 3321 "Gmsh.y" { (yyval.u) = CTX.PACK_COLOR((int)(yyvsp[(2) - (7)].d), (int)(yyvsp[(4) - (7)].d), (int)(yyvsp[(6) - (7)].d), 255); ;} break; case 336: -#line 3278 "Gmsh.y" +#line 3333 "Gmsh.y" { int flag; (yyval.u) = Get_ColorForString(ColorString, -1, (yyvsp[(1) - (1)].c), &flag); @@ -7625,7 +7680,7 @@ yyreduce: break; case 337: -#line 3285 "Gmsh.y" +#line 3340 "Gmsh.y" { unsigned int (*pColOpt)(int num, int action, unsigned int value); StringXColor *pColCat; @@ -7646,14 +7701,14 @@ yyreduce: break; case 338: -#line 3306 "Gmsh.y" +#line 3361 "Gmsh.y" { (yyval.l) = (yyvsp[(2) - (3)].l); ;} break; case 339: -#line 3310 "Gmsh.y" +#line 3365 "Gmsh.y" { (yyval.l) = List_Create(256, 10, sizeof(unsigned int)); GmshColorTable *ct = Get_ColorTable((int)(yyvsp[(3) - (6)].d)); @@ -7668,7 +7723,7 @@ yyreduce: break; case 340: -#line 3325 "Gmsh.y" +#line 3380 "Gmsh.y" { (yyval.l) = List_Create(256, 10, sizeof(unsigned int)); List_Add((yyval.l), &((yyvsp[(1) - (1)].u))); @@ -7676,35 +7731,35 @@ yyreduce: break; case 341: -#line 3330 "Gmsh.y" +#line 3385 "Gmsh.y" { List_Add((yyval.l), &((yyvsp[(3) - (3)].u))); ;} break; case 342: -#line 3337 "Gmsh.y" +#line 3392 "Gmsh.y" { (yyval.c) = (yyvsp[(1) - (1)].c); ;} break; case 343: -#line 3341 "Gmsh.y" +#line 3396 "Gmsh.y" { Msg(WARNING, "Named string expressions not implemented yet"); ;} break; case 344: -#line 3348 "Gmsh.y" +#line 3403 "Gmsh.y" { (yyval.c) = (yyvsp[(1) - (1)].c); ;} break; case 345: -#line 3352 "Gmsh.y" +#line 3407 "Gmsh.y" { (yyval.c) = (char *)Malloc(32*sizeof(char)); time_t now; @@ -7715,7 +7770,7 @@ yyreduce: break; case 346: -#line 3360 "Gmsh.y" +#line 3415 "Gmsh.y" { (yyval.c) = (char *)Malloc((strlen((yyvsp[(3) - (6)].c))+strlen((yyvsp[(5) - (6)].c))+1)*sizeof(char)); strcpy((yyval.c), (yyvsp[(3) - (6)].c)); @@ -7726,7 +7781,7 @@ yyreduce: break; case 347: -#line 3368 "Gmsh.y" +#line 3423 "Gmsh.y" { (yyval.c) = (char *)Malloc((strlen((yyvsp[(3) - (4)].c))+1)*sizeof(char)); int i; @@ -7743,7 +7798,7 @@ yyreduce: break; case 348: -#line 3382 "Gmsh.y" +#line 3437 "Gmsh.y" { (yyval.c) = (char *)Malloc((strlen((yyvsp[(3) - (4)].c))+1)*sizeof(char)); int i; @@ -7760,14 +7815,14 @@ yyreduce: break; case 349: -#line 3396 "Gmsh.y" +#line 3451 "Gmsh.y" { (yyval.c) = (yyvsp[(3) - (4)].c); ;} break; case 350: -#line 3400 "Gmsh.y" +#line 3455 "Gmsh.y" { char tmpstring[1024]; int i = PrintListOfDouble((yyvsp[(3) - (6)].c), (yyvsp[(5) - (6)].l), tmpstring); @@ -7789,7 +7844,7 @@ yyreduce: break; case 351: -#line 3419 "Gmsh.y" +#line 3474 "Gmsh.y" { const char* (*pStrOpt)(int num, int action, const char *value); StringXString *pStrCat; @@ -7815,7 +7870,7 @@ yyreduce: break; case 352: -#line 3442 "Gmsh.y" +#line 3497 "Gmsh.y" { const char* (*pStrOpt)(int num, int action, const char *value); StringXString *pStrCat; @@ -7842,7 +7897,7 @@ yyreduce: /* Line 1267 of yacc.c. */ -#line 7846 "Gmsh.tab.cpp" +#line 7901 "Gmsh.tab.cpp" default: break; } YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc); @@ -8056,7 +8111,7 @@ yyreturn: } -#line 3466 "Gmsh.y" +#line 3521 "Gmsh.y" void DeleteSymbol(void *a, void *b) diff --git a/Parser/Gmsh.tab.hpp b/Parser/Gmsh.tab.hpp index 0ea316969f3e5fa58b1890b0464d05d0dccac93a..7f8f26c5d9d26beceda77a2663a3dcc518f24258 100644 --- a/Parser/Gmsh.tab.hpp +++ b/Parser/Gmsh.tab.hpp @@ -288,7 +288,7 @@ #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED typedef union YYSTYPE -#line 79 "Gmsh.y" +#line 82 "Gmsh.y" { char *c; int i; diff --git a/Parser/Gmsh.y b/Parser/Gmsh.y index d2411e61399d8d53131887b26e5d1cb45f602735..a90a6a1545604b8a5ac2cfff2611b2589b5b82cb 100644 --- a/Parser/Gmsh.y +++ b/Parser/Gmsh.y @@ -1,5 +1,5 @@ %{ -// $Id: Gmsh.y,v 1.310 2008-04-24 17:29:53 geuzaine Exp $ +// $Id: Gmsh.y,v 1.311 2008-04-28 10:10:59 geuzaine Exp $ // // Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle // @@ -26,7 +26,6 @@ #include "Message.h" #include "Malloc.h" #include "Tools.h" -#include "PluginManager.h" #include "ParUtil.h" #include "Numeric.h" #include "Context.h" @@ -35,8 +34,6 @@ #include "GeoInterpolation.h" #include "Generator.h" #include "Draw.h" -#include "PView.h" -#include "PViewDataList.h" #include "Options.h" #include "Colors.h" #include "Parser.h" @@ -50,6 +47,13 @@ #include "Field.h" #include "BackgroundMesh.h" +#if !defined(HAVE_NO_POST) +#include "PView.h" +#include "PViewDataList.h" +#include "PluginManager.h" +static PViewDataList *ViewData; +#endif + Tree_T *Symbol_T = NULL; extern Context_T CTX; @@ -58,7 +62,6 @@ static ExtrudeParams extr; static gmshSurface *myGmshSurface = 0; -static PViewDataList *ViewData; static List_T *ViewValueList; static double ViewCoord[100]; static int *ViewNumList, ViewCoordIdx; @@ -246,6 +249,7 @@ Printf : View : tSTRING tBIGSTR '{' Views '}' tEND { +#if !defined(HAVE_NO_POST) if(!strcmp($1, "View") && ViewData->finalize()){ ViewData->setName($2); ViewData->setFileName(gmsh_yyname); @@ -254,24 +258,29 @@ View : } else delete ViewData; +#endif Free($1); Free($2); } | tAlias tSTRING '[' FExpr ']' tEND { +#if !defined(HAVE_NO_POST) if(!strcmp($2, "View")){ int index = (int)$4; if(index >= 0 && index < (int)PView::list.size()) new PView(PView::list[index], false); } +#endif Free($2); } | tAliasWithOptions tSTRING '[' FExpr ']' tEND { +#if !defined(HAVE_NO_POST) if(!strcmp($2, "View")){ int index = (int)$4; if(index >= 0 && index < (int)PView::list.size()) new PView(PView::list[index], true); } +#endif Free($2); } ; @@ -279,7 +288,9 @@ View : Views : // nothing { +#if !defined(HAVE_NO_POST) ViewData = new PViewDataList(true); +#endif } | Views Element | Views Text2D @@ -305,6 +316,7 @@ ElementValues : Element : tSTRING { +#if !defined(HAVE_NO_POST) if(!strcmp($1, "SP")){ ViewValueList = ViewData->SP; ViewNumList = &ViewData->NbSP; } @@ -446,30 +458,39 @@ Element : } Free($1); ViewCoordIdx = 0; +#endif } '(' ElementCoords ')' { +#if !defined(HAVE_NO_POST) if(ViewValueList){ for(int i = 0; i < 3; i++) for(int j = 0; j < ViewCoordIdx / 3; j++) List_Add(ViewValueList, &ViewCoord[3 * j + i]); } +#endif } '{' ElementValues '}' tEND { +#if !defined(HAVE_NO_POST) if(ViewValueList) (*ViewNumList)++; +#endif } ; Text2DValues : StringExprVar { +#if !defined(HAVE_NO_POST) for(int i = 0; i < (int)strlen($1)+1; i++) List_Add(ViewData->T2C, &$1[i]); +#endif Free($1); } | Text2DValues ',' StringExprVar { +#if !defined(HAVE_NO_POST) for(int i = 0; i < (int)strlen($3)+1; i++) List_Add(ViewData->T2C, &$3[i]); +#endif Free($3); } ; @@ -477,27 +498,35 @@ Text2DValues : Text2D : tText2D '(' FExpr ',' FExpr ',' FExpr ')' { +#if !defined(HAVE_NO_POST) List_Add(ViewData->T2D, &$3); List_Add(ViewData->T2D, &$5); List_Add(ViewData->T2D, &$7); double d = List_Nbr(ViewData->T2C); List_Add(ViewData->T2D, &d); +#endif } '{' Text2DValues '}' tEND { +#if !defined(HAVE_NO_POST) ViewData->NbT2++; +#endif } ; Text3DValues : StringExprVar { +#if !defined(HAVE_NO_POST) for(int i = 0; i < (int)strlen($1)+1; i++) List_Add(ViewData->T3C, &$1[i]); +#endif Free($1); } | Text3DValues ',' StringExprVar { +#if !defined(HAVE_NO_POST) for(int i = 0; i < (int)strlen($3)+1; i++) List_Add(ViewData->T3C, &$3[i]); +#endif Free($3); } ; @@ -505,14 +534,18 @@ Text3DValues : Text3D : tText3D '(' FExpr ',' FExpr ',' FExpr ',' FExpr ')' { +#if !defined(HAVE_NO_POST) List_Add(ViewData->T3D, &$3); List_Add(ViewData->T3D, &$5); List_Add(ViewData->T3D, &$7); List_Add(ViewData->T3D, &$9); double d = List_Nbr(ViewData->T3C); List_Add(ViewData->T3D, &d); +#endif } '{' Text3DValues '}' tEND { +#if !defined(HAVE_NO_POST) ViewData->NbT3++; +#endif } ; @@ -520,6 +553,7 @@ InterpolationMatrix : tInterpolationScheme '{' RecursiveListOfListOfDouble '}' '{' RecursiveListOfListOfDouble '}' tEND { +#if !defined(HAVE_NO_POST) int type = (ViewData->NbSL || ViewData->NbVL) ? 1 : (ViewData->NbST || ViewData->NbVT) ? 3 : @@ -528,12 +562,14 @@ InterpolationMatrix : (ViewData->NbSH || ViewData->NbVH) ? 12 : 0; ViewData->setInterpolationScheme(type, $3, $6); +#endif } | tInterpolationScheme '{' RecursiveListOfListOfDouble '}' '{' RecursiveListOfListOfDouble '}' '{' RecursiveListOfListOfDouble '}' '{' RecursiveListOfListOfDouble '}' tEND { +#if !defined(HAVE_NO_POST) int type = (ViewData->NbSL || ViewData->NbVL) ? 1 : (ViewData->NbST || ViewData->NbVT) ? 3 : @@ -542,13 +578,16 @@ InterpolationMatrix : (ViewData->NbSH || ViewData->NbVH) ? 12 : 0; ViewData->setInterpolationScheme(type, $3, $6, $9, $12); +#endif } ; Time : tTime { +#if !defined(HAVE_NO_POST) ViewValueList = ViewData->Time; +#endif } '{' ElementValues '}' tEND { @@ -1039,22 +1078,26 @@ Affectation : | tPlugin '(' tSTRING ')' '.' tSTRING tAFFECT FExpr tEND { +#if !defined(HAVE_NO_POST) try { GMSH_PluginManager::instance()->setPluginOption($3, $6, $8); } catch (...) { yymsg(GERROR, "Unknown option '%s' or plugin '%s'", $6, $3); } +#endif Free($3); Free($6); } | tPlugin '(' tSTRING ')' '.' tSTRING tAFFECT StringExpr tEND { +#if !defined(HAVE_NO_POST) try { GMSH_PluginManager::instance()->setPluginOption($3, $6, $8); } catch (...) { yymsg(GERROR, "Unknown option '%s' or plugin '%s'", $6, $3); } +#endif Free($3); Free($6); // FIXME: sometimes leak $8 } ; @@ -1788,6 +1831,7 @@ Delete : } | tDelete tSTRING '[' FExpr ']' tEND { +#if !defined(HAVE_NO_POST) if(!strcmp($2, "View")){ int index = (int)$4; if(index >= 0 && index < (int)PView::list.size()) @@ -1797,6 +1841,7 @@ Delete : } else yymsg(GERROR, "Unknown command 'Delete %s'", $2); +#endif Free($2); } | tDelete tSTRING tEND @@ -1817,12 +1862,14 @@ Delete : } | tDelete tSTRING tSTRING tEND { +#if !defined(HAVE_NO_POST) if(!strcmp($2, "Empty") && !strcmp($3, "Views")){ for(int i = PView::list.size() - 1; i >= 0; i--) if(PView::list[i]->getData()->empty()) delete PView::list[i]; } else yymsg(GERROR, "Unknown command 'Delete %s %s'", $2, $3); +#endif Free($2); Free($3); } ; @@ -1929,6 +1976,7 @@ Command : } | tSTRING tSTRING '[' FExpr ']' StringExprVar tEND { +#if !defined(HAVE_NO_POST) if(!strcmp($1, "Save") && !strcmp($2, "View")){ int index = (int)$4; if(index >= 0 && index < (int)PView::list.size()){ @@ -1941,10 +1989,12 @@ Command : } else yymsg(GERROR, "Unknown command '%s'", $1); +#endif Free($1); Free($2); Free($6); } | tSTRING tSTRING tSTRING '[' FExpr ']' tEND { +#if !defined(HAVE_NO_POST) if(!strcmp($1, "Background") && !strcmp($2, "Mesh") && !strcmp($3, "View")){ int index = (int)$5; if(index >= 0 && index < (int)PView::list.size()) @@ -1954,6 +2004,7 @@ Command : } else yymsg(GERROR, "Unknown command '%s'", $1); +#endif Free($1); Free($2); Free($3); } | tSTRING FExpr tEND @@ -1977,16 +2028,19 @@ Command : } | tPlugin '(' tSTRING ')' '.' tSTRING tEND { +#if !defined(HAVE_NO_POST) try { GMSH_PluginManager::instance()->action($3, $6, 0); } catch(...) { yymsg(GERROR, "Unknown action '%s' or plugin '%s'", $6, $3); } +#endif Free($3); Free($6); } | tCombine tSTRING tEND { +#if !defined(HAVE_NO_POST) if(!strcmp($2, "ElementsFromAllViews")) PView::combine(false, 1, CTX.post.combine_remove_orig); else if(!strcmp($2, "ElementsFromVisibleViews")) @@ -2005,6 +2059,7 @@ Command : PView::combine(true, 2, CTX.post.combine_remove_orig); else yymsg(GERROR, "Unknown 'Combine' command"); +#endif Free($2); } | tExit tEND diff --git a/Parser/Gmsh.yy.cpp b/Parser/Gmsh.yy.cpp index 378e992837c50fdc9e47694df17a192f0755c0ad..ba526cf2fc4b39fe904f205b6beeb8c38d780857 100644 --- a/Parser/Gmsh.yy.cpp +++ b/Parser/Gmsh.yy.cpp @@ -835,7 +835,7 @@ int gmsh_yy_flex_debug = 0; char *gmsh_yytext; #line 1 "Gmsh.l" #line 2 "Gmsh.l" -// $Id: Gmsh.yy.cpp,v 1.360 2008-04-24 17:29:53 geuzaine Exp $ +// $Id: Gmsh.yy.cpp,v 1.361 2008-04-28 10:10:59 geuzaine Exp $ // // Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle // diff --git a/Parser/Makefile b/Parser/Makefile index 28c06a63232c9b382aa2de127acc93d0b3f46f29..7860678607231781866d95888567824ef9569e7f 100644 --- a/Parser/Makefile +++ b/Parser/Makefile @@ -1,4 +1,4 @@ -# $Id: Makefile,v 1.151 2008-04-23 23:00:39 geuzaine Exp $ +# $Id: Makefile,v 1.152 2008-04-28 10:11:00 geuzaine Exp $ # # Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle # @@ -73,14 +73,10 @@ depend: # DO NOT DELETE THIS LINE Gmsh.tab.o: Gmsh.tab.cpp ../Common/Message.h ../DataStr/Malloc.h \ ../DataStr/Tools.h ../DataStr/List.h ../DataStr/Tree.h ../DataStr/avl.h \ - ../Plugin/PluginManager.h ../Plugin/Plugin.h ../Common/Options.h \ - ../Post/ColorTable.h ../Post/PView.h ../Post/PViewData.h \ - ../Geo/SBoundingBox3d.h ../Geo/SPoint3.h ../Post/PViewOptions.h \ - ../Post/ColorTable.h ../Post/PViewDataList.h ../Post/PViewData.h \ - ../Common/GmshMatrix.h ../Parallel/ParUtil.h ../Numeric/Numeric.h \ - ../Numeric/NumericEmbedded.h ../Common/Context.h ../Geo/GModel.h \ - ../Geo/GVertex.h ../Geo/GEntity.h ../Geo/Range.h ../Geo/SPoint3.h \ - ../Geo/SBoundingBox3d.h ../Geo/GPoint.h ../Geo/SPoint2.h ../Geo/GEdge.h \ + ../Parallel/ParUtil.h ../Numeric/Numeric.h ../Numeric/NumericEmbedded.h \ + ../Common/Context.h ../Geo/GModel.h ../Geo/GVertex.h ../Geo/GEntity.h \ + ../Geo/Range.h ../Geo/SPoint3.h ../Geo/SBoundingBox3d.h \ + ../Geo/SPoint3.h ../Geo/GPoint.h ../Geo/SPoint2.h ../Geo/GEdge.h \ ../Geo/GEntity.h ../Geo/GVertex.h ../Geo/SVector3.h ../Geo/SPoint3.h \ ../Geo/SPoint3.h ../Geo/SPoint2.h ../Geo/GFace.h ../Geo/GEntity.h \ ../Geo/GPoint.h ../Geo/GEdgeLoop.h ../Geo/GEdge.h ../Geo/SPoint2.h \ @@ -90,9 +86,13 @@ Gmsh.tab.o: Gmsh.tab.cpp ../Common/Message.h ../DataStr/Malloc.h \ ../Geo/SPoint3.h ../Geo/SVector3.h ../Geo/SBoundingBox3d.h \ ../Geo/SPoint2.h ../Geo/ExtrudeParams.h ../Common/SmoothData.h \ ../Geo/GeoInterpolation.h ../Geo/Geo.h ../Mesh/Generator.h \ - ../Graphics/Draw.h ../Common/Colors.h ../Common/Options.h Parser.h \ - OpenFile.h ../Common/CommandLine.h FunctionManager.h ../Common/OS.h \ - CreateFile.h ../Mesh/Field.h ../Mesh/BackgroundMesh.h + ../Graphics/Draw.h ../Common/Options.h ../Post/ColorTable.h \ + ../Common/Colors.h ../Common/Options.h Parser.h OpenFile.h \ + ../Common/CommandLine.h FunctionManager.h ../Common/OS.h CreateFile.h \ + ../Mesh/Field.h ../Post/PView.h ../Post/PViewData.h \ + ../Post/PViewOptions.h ../Post/ColorTable.h ../Mesh/BackgroundMesh.h \ + ../Post/PViewDataList.h ../Post/PViewData.h ../Plugin/PluginManager.h \ + ../Plugin/Plugin.h ../Common/GmshMatrix.h Gmsh.yy.o: Gmsh.yy.cpp ../Common/Message.h ../Numeric/Numeric.h \ ../Numeric/NumericEmbedded.h ../Geo/Geo.h ../Common/GmshDefines.h \ ../Geo/gmshSurface.h ../Geo/Pair.h ../Geo/Range.h ../Geo/SPoint2.h \ @@ -114,9 +114,9 @@ OpenFile.o: OpenFile.cpp ../Common/Message.h ../Geo/Geo.h \ ../Geo/GEdgeLoop.h ../Geo/GEdge.h ../Geo/SPoint2.h ../Geo/SVector3.h \ ../Geo/Pair.h ../Geo/GRegion.h ../Geo/GEntity.h ../Geo/SBoundingBox3d.h \ ../Common/Context.h Parser.h OpenFile.h ../Common/CommandLine.h \ + ../Graphics/ReadImg.h ../Common/OS.h ../Mesh/HighOrder.h \ ../Post/PView.h ../Post/PViewData.h ../Post/PViewOptions.h \ - ../Post/ColorTable.h ../Graphics/ReadImg.h ../Common/OS.h \ - ../Mesh/HighOrder.h ../Common/GmshUI.h ../Graphics/Draw.h \ + ../Post/ColorTable.h ../Common/GmshUI.h ../Graphics/Draw.h \ ../Graphics/SelectBuffer.h ../Fltk/GUI.h ../Fltk/Opengl_Window.h \ ../Fltk/Colorbar_Window.h ../Fltk/Popup_Button.h \ ../Fltk/SpherePosition_Widget.h ../Mesh/Field.h diff --git a/Parser/OpenFile.cpp b/Parser/OpenFile.cpp index 086572c452faa0fd87a36b30fb9c6babd3a0da1a..8463f4b9d463da49975435b887eabd71bb766a6a 100644 --- a/Parser/OpenFile.cpp +++ b/Parser/OpenFile.cpp @@ -1,4 +1,4 @@ -// $Id: OpenFile.cpp,v 1.185 2008-04-18 16:40:29 geuzaine Exp $ +// $Id: OpenFile.cpp,v 1.186 2008-04-28 10:11:00 geuzaine Exp $ // // Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle // @@ -32,11 +32,14 @@ #include "Parser.h" #include "OpenFile.h" #include "CommandLine.h" -#include "PView.h" #include "ReadImg.h" #include "OS.h" #include "HighOrder.h" +#if !defined(HAVE_NO_POST) +#include "PView.h" +#endif + #if defined(HAVE_FLTK) #include "GmshUI.h" #include "Draw.h" @@ -156,11 +159,13 @@ void SetBoundingBox(void) SBoundingBox3d bb = GModel::current()->bounds(); +#if !defined(HAVE_NO_POST) if(bb.empty()) { for(unsigned int i = 0; i < PView::list.size(); i++) if(!PView::list[i]->getData()->getBoundingBox().empty()) bb += PView::list[i]->getData()->getBoundingBox(); } +#endif if(bb.empty()){ bb += SPoint3(-1., -1., -1.); @@ -207,7 +212,9 @@ int ParseFile(const char *f, int close, int warn_if_missing) return 0; } +#if !defined(HAVE_NO_POST) int numViewsBefore = PView::list.size(); +#endif strncpy(yyname_old, gmsh_yyname, 255); yyin_old = gmsh_yyin; @@ -243,7 +250,7 @@ int ParseFile(const char *f, int close, int warn_if_missing) gmsh_yylineno = yylineno_old; gmsh_yyviewindex = yyviewindex_old; -#if defined(HAVE_FLTK) +#if defined(HAVE_FLTK) && !defined(HAVE_NO_POST) if(!CTX.batch && numViewsBefore != (int)PView::list.size()) WID->update_views(); #endif @@ -330,7 +337,9 @@ int MergeFile(const char *name, int warn_if_missing) // work out of the box. // GModel *m = new GModel; +#if !defined(HAVE_NO_POST) int numViewsBefore = PView::list.size(); +#endif int status = 0; if(!strcmp(ext, ".stl") || !strcmp(ext, ".STL")){ @@ -359,12 +368,14 @@ int MergeFile(const char *name, int warn_if_missing) else if(!strcmp(ext, ".mesh") || !strcmp(ext, ".MESH")){ status = m->readMESH(name); } +#if !defined(HAVE_NO_POST) else if(!strcmp(ext, ".med") || !strcmp(ext, ".MED") || !strcmp(ext, ".mmed") || !strcmp(ext, ".MMED") || !strcmp(ext, ".rmed") || !strcmp(ext, ".RMED")){ status = GModel::readMED(name); if(status > 1) status = PView::readMED(name); } +#endif else if(!strcmp(ext, ".bdf") || !strcmp(ext, ".BDF") || !strcmp(ext, ".nas") || !strcmp(ext, ".NAS")){ status = m->readBDF(name); @@ -403,12 +414,16 @@ int MergeFile(const char *name, int warn_if_missing) !strncmp(header, "$PARA", 5) || !strncmp(header, "$ELM", 4) || !strncmp(header, "$MeshFormat", 11)) { status = m->readMSH(name); +#if !defined(HAVE_NO_POST) if(status > 1) status = PView::readMSH(name); +#endif } +#if !defined(HAVE_NO_POST) else if(!strncmp(header, "$PostFormat", 11) || !strncmp(header, "$View", 5)) { status = PView::readPOS(name); } +#endif else { status = m->readGEO(name); } @@ -419,7 +434,7 @@ int MergeFile(const char *name, int warn_if_missing) CTX.geom.draw = 1; CTX.mesh.changed = ENT_ALL; -#if defined(HAVE_FLTK) +#if defined(HAVE_FLTK) && !defined(HAVE_NO_POST) if(!CTX.batch && numViewsBefore != (int)PView::list.size()) WID->update_views(); #endif @@ -437,9 +452,11 @@ void OpenProject(const char *name) CTX.threads_lock = 1; // FIXME: this will change once we clarify Open/Merge/Clear +#if !defined(HAVE_NO_POST) for(int i = PView::list.size() - 1; i >= 0; i--) if(PView::list[i]->getData()->hasModel(GModel::current())) delete PView::list[i]; +#endif GModel::current()->destroy(); GModel::current()->getGEOInternals()->destroy(); diff --git a/Post/PViewData.cpp b/Post/PViewData.cpp index 1db74af407aab9536a34d2b22ecab86fc92ff1fc..404b3cc36686ec5ed0db6555b8b42e889d00b1f0 100644 --- a/Post/PViewData.cpp +++ b/Post/PViewData.cpp @@ -1,4 +1,4 @@ -// $Id: PViewData.cpp,v 1.19 2008-04-22 09:29:29 geuzaine Exp $ +// $Id: PViewData.cpp,v 1.20 2008-04-28 10:11:00 geuzaine Exp $ // // Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle // @@ -92,3 +92,20 @@ int PViewData::getInterpolationScheme(int type, std::vector<List_T*> &p) } return 0; } + +void PViewData::smooth() +{ + Msg(GERROR, "Smoothing is not implemented for this type of data"); +} + +bool PViewData::combineTime(nameData &nd) +{ + Msg(GERROR, "Combine time is not implemented for this type of data"); + return false; +} + +bool PViewData::combineSpace(nameData &nd) +{ + Msg(GERROR, "Combine space is not implemented for this type of data"); + return false; +} diff --git a/Post/PViewData.h b/Post/PViewData.h index 92a4622380d80b8bff6b5cc27916523535c7edee..a7d4aaf7bc6fb9b853fff9e2c0e2527bde3e1e9a 100644 --- a/Post/PViewData.h +++ b/Post/PViewData.h @@ -152,10 +152,11 @@ class PViewData { int getInterpolationScheme(int type, std::vector<List_T*> &p); // Smoothes the data in the view (makes it C0) - virtual void smooth(){} + virtual void smooth(); - virtual bool combineTime(nameData &nd){ return false; } - virtual bool combineSpace(nameData &nd){ return false; } + // Combine time steps or elements from multiple datasets + virtual bool combineTime(nameData &nd); + virtual bool combineSpace(nameData &nd); // I/O routines virtual bool writeSTL(std::string fileName); diff --git a/Post/PViewDataGModel.h b/Post/PViewDataGModel.h index 25c08053176cf1e4751f36ee38f34552de1c74f5..94e17631d67fbe0e61b4a5bf1ef6401908de6141 100644 --- a/Post/PViewDataGModel.h +++ b/Post/PViewDataGModel.h @@ -192,11 +192,10 @@ class PViewDataGModel : public PViewData { // direct access to value by index bool getValueByIndex(int step, int dataIndex, int node, int comp, double &val); - // Add some data "on the fly" - // data are stored by vertex, i.e., if field has let's say 3 components, - // nodalData contains 3 * N entries with N being the number of mesh vertices - // of in the model. - // nodlaData [ iVer * N + jComp] is the jComp th component at vertex iVer + // Add some data "on the fly" (data is stored by vertex: if a field + // has e.g. 3 components, nodalData contains 3 * N entries with N + // being the number of mesh vertices in the model ; nodalData [ iVer + // * N + jComp] is the jComp-th component at vertex iVer) bool addNodalData(int step, double time, int partition, int numComp, const std::vector<double> &nodalData); diff --git a/Post/PViewDataGModelIO.cpp b/Post/PViewDataGModelIO.cpp index 66b296388e82a509b091e7c020e4096c39b410ac..9a71fa5b3752f99be87b0125239ff5f22b163408 100644 --- a/Post/PViewDataGModelIO.cpp +++ b/Post/PViewDataGModelIO.cpp @@ -1,4 +1,4 @@ -// $Id: PViewDataGModelIO.cpp,v 1.43 2008-04-22 10:02:44 remacle Exp $ +// $Id: PViewDataGModelIO.cpp,v 1.44 2008-04-28 10:11:00 geuzaine Exp $ // // Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle // @@ -30,30 +30,26 @@ #include "Numeric.h" #include "StringUtils.h" -bool PViewDataGModel::addNodalData(int step, - double time, - int partition, - int numComp, - const std::vector<double> &nodalData){ +bool PViewDataGModel::addNodalData(int step, double time, int partition, + int numComp, const std::vector<double> &nodalData) +{ // add empty steps up to the actual step while(step >= (int)_steps.size()) _steps.push_back(new stepData<double>(GModel::current(), numComp)); - - const int mult = 1; + int numEnt = _steps[step]->getModel()->getNumMeshVertices(); - if (nodalData.size() != numEnt * numComp){ + if(nodalData.size() != numEnt * numComp){ Msg(GERROR, "adding nodal data with wrong number of entries (%d != %d)", nodalData.size(), numEnt); return false; } - + _steps[step]->setTime(time); _steps[step]->resizeData(numEnt); - + for(int i = 0; i < numEnt; i++){ - // MVertex *v = _steps[step]->getModel()->getMeshVertexByTag(i); - double *d = _steps[step]->getData(i, true, 1); - for(int j = 0; j < numComp * mult; j++) + double *d = _steps[step]->getData(i, true); + for(int j = 0; j < numComp; j++) d[j] = nodalData[i * numComp + j]; } _partitions.insert(partition); @@ -61,7 +57,6 @@ bool PViewDataGModel::addNodalData(int step, return true; } - bool PViewDataGModel::readMSH(std::string fileName, int fileIndex, FILE *fp, bool binary, bool swap, int step, double time, int partition, int numComp, int numEnt) diff --git a/configure b/configure index 0bae233ea2d2a1331d4bf2226496c757d4c42324..3cc96ef72bb4c4882d107f30daca9cdcb535dff8 100755 --- a/configure +++ b/configure @@ -1265,6 +1265,7 @@ Optional Features: --enable-FEATURE[=ARG] include FEATURE [ARG=yes] --enable-gsl use GSL as numerical toolkit (default=yes) --enable-gui build the graphical user interface (default=yes) + --enable-post build the post-processing module (default=yes) --enable-cygwin use the Cygwin library on Windows (default=no) --enable-parallel enable parallel version (default=no) --enable-jpeg enable JPEG support (default=yes) @@ -1836,6 +1837,11 @@ if test "${enable_gui+set}" = set; then enableval=$enable_gui; fi +# Check whether --enable-post was given. +if test "${enable_post+set}" = set; then + enableval=$enable_post; +fi + # Check whether --enable-cygwin was given. if test "${enable_cygwin+set}" = set; then enableval=$enable_cygwin; @@ -3625,11 +3631,9 @@ echo "$as_me: error: Could not find the library archiver, aborting." >&2;} ;; esac -GMSH_DIRS="Common DataStr Geo Mesh Post Numeric Parallel Parser Plugin" - if test "x$enable_gui" != "xno"; then - GMSH_DIRS="${GMSH_DIRS} Graphics Fltk" + GMSH_DIRS="Common DataStr Geo Mesh Post Numeric Parallel Parser Plugin Graphics Fltk" GMSH_LIBS="-Llib -lGmshFltk -lGmshParser -lGmshGraphics -lGmshPlugin" GMSH_LIBS="${GMSH_LIBS} -lGmshMesh -lGmshGeo -lGmshPost -lGmshCommon" GMSH_LIBS="${GMSH_LIBS} -lGmshDataStr -lGmshNumeric -lGmshParallel" @@ -4090,10 +4094,18 @@ fi else - GMSH_DIRS="${GMSH_DIRS} Box" - GMSH_LIBS="-Llib Box/Main.o -lGmshBox -lGmshParser -lGmshPlugin" - GMSH_LIBS="${GMSH_LIBS} -lGmshGeo -lGmshMesh -lGmshPost -lGmshCommon" - GMSH_LIBS="${GMSH_LIBS} -lGmshDataStr -lGmshNumeric -lGmshParallel" + if test "x$enable_post" != "xno"; then + GMSH_DIRS="Common DataStr Geo Mesh Post Numeric Parallel Parser Plugin Box" + GMSH_LIBS="-Llib Box/Main.o -lGmshBox -lGmshParser -lGmshPlugin" + GMSH_LIBS="${GMSH_LIBS} -lGmshGeo -lGmshMesh -lGmshPost -lGmshCommon" + GMSH_LIBS="${GMSH_LIBS} -lGmshDataStr -lGmshNumeric -lGmshParallel" + else + GMSH_DIRS="Common DataStr Geo Mesh Numeric Parallel Parser Box" + GMSH_LIBS="-Llib Box/Main.o -lGmshBox -lGmshParser" + GMSH_LIBS="${GMSH_LIBS} -lGmshGeo -lGmshMesh -lGmshCommon" + GMSH_LIBS="${GMSH_LIBS} -lGmshDataStr -lGmshNumeric -lGmshParallel" + FLAGS="-DHAVE_NO_POST ${FLAGS}" + fi ZLIB="" if test "x$enable_zlib" != "xno"; then @@ -6868,7 +6880,7 @@ if test $ac_cv_sizeof_size_t != 4; then { echo "$as_me:$LINENO: WARNING: Unsupported size of size_t - this may affect FNV hashing." >&5 echo "$as_me: WARNING: Unsupported size of size_t - this may affect FNV hashing." >&2;} else - FLAGS="$FLAGS -DHAVE_64BIT_SIZE_T" + FLAGS="${FLAGS} -DHAVE_64BIT_SIZE_T" fi fi diff --git a/configure.in b/configure.in index 008462e5625e1bedfd0969ae700c60027c10ad3b..5b88acedb60a3f9151fe35fecf64894207ecef06 100644 --- a/configure.in +++ b/configure.in @@ -1,4 +1,4 @@ -dnl $Id: configure.in,v 1.153 2008-04-23 20:49:41 geuzaine Exp $ +dnl $Id: configure.in,v 1.154 2008-04-28 10:10:51 geuzaine Exp $ dnl dnl Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle dnl @@ -89,6 +89,9 @@ AC_ARG_ENABLE(gsl, AC_ARG_ENABLE(gui, AC_HELP_STRING([--enable-gui], [build the graphical user interface (default=yes)])) +AC_ARG_ENABLE(post, + AC_HELP_STRING([--enable-post], + [build the post-processing module (default=yes)])) AC_ARG_ENABLE(cygwin, AC_HELP_STRING([--enable-cygwin], [use the Cygwin library on Windows (default=no)])) @@ -199,13 +202,10 @@ case "$UNAME" in ;; esac -dnl Set default subdirectories and libraries -GMSH_DIRS="Common DataStr Geo Mesh Post Numeric Parallel Parser Plugin" - dnl Choose blackbox or GUI version if test "x$enable_gui" != "xno"; then - GMSH_DIRS="${GMSH_DIRS} Graphics Fltk" + GMSH_DIRS="Common DataStr Geo Mesh Post Numeric Parallel Parser Plugin Graphics Fltk" GMSH_LIBS="-Llib -lGmshFltk -lGmshParser -lGmshGraphics -lGmshPlugin" GMSH_LIBS="${GMSH_LIBS} -lGmshMesh -lGmshGeo -lGmshPost -lGmshCommon" GMSH_LIBS="${GMSH_LIBS} -lGmshDataStr -lGmshNumeric -lGmshParallel" @@ -334,10 +334,18 @@ if test "x$enable_gui" != "xno"; then else - GMSH_DIRS="${GMSH_DIRS} Box" - GMSH_LIBS="-Llib Box/Main.o -lGmshBox -lGmshParser -lGmshPlugin" - GMSH_LIBS="${GMSH_LIBS} -lGmshGeo -lGmshMesh -lGmshPost -lGmshCommon" - GMSH_LIBS="${GMSH_LIBS} -lGmshDataStr -lGmshNumeric -lGmshParallel" + if test "x$enable_post" != "xno"; then + GMSH_DIRS="Common DataStr Geo Mesh Post Numeric Parallel Parser Plugin Box" + GMSH_LIBS="-Llib Box/Main.o -lGmshBox -lGmshParser -lGmshPlugin" + GMSH_LIBS="${GMSH_LIBS} -lGmshGeo -lGmshMesh -lGmshPost -lGmshCommon" + GMSH_LIBS="${GMSH_LIBS} -lGmshDataStr -lGmshNumeric -lGmshParallel" + else + GMSH_DIRS="Common DataStr Geo Mesh Numeric Parallel Parser Box" + GMSH_LIBS="-Llib Box/Main.o -lGmshBox -lGmshParser" + GMSH_LIBS="${GMSH_LIBS} -lGmshGeo -lGmshMesh -lGmshCommon" + GMSH_LIBS="${GMSH_LIBS} -lGmshDataStr -lGmshNumeric -lGmshParallel" + FLAGS="-DHAVE_NO_POST ${FLAGS}" + fi dnl Check for libz ZLIB="" @@ -779,14 +787,13 @@ case "$UNAME" in esac -dnl Compiler characteristics dnl Check sizeof size_t (flag as 64 if not 32) AC_CHECK_SIZEOF([size_t]) if test $ac_cv_sizeof_size_t != 4; then if test $ac_cv_sizeof_size_t != 8; then AC_MSG_WARN([Unsupported size of size_t - this may affect FNV hashing.]) else - FLAGS="$FLAGS -DHAVE_64BIT_SIZE_T" + FLAGS="${FLAGS} -DHAVE_64BIT_SIZE_T" fi fi diff --git a/lib/Makefile b/lib/Makefile index 7f5b8097ac45443f5ff2061187a880e638b937f0..4d3cb323887363c677b96734c6c39dd10c5fd50e 100644 --- a/lib/Makefile +++ b/lib/Makefile @@ -1,4 +1,4 @@ -# $Id: Makefile,v 1.12 2008-02-17 08:48:12 geuzaine Exp $ +# $Id: Makefile,v 1.13 2008-04-28 10:11:01 geuzaine Exp $ # # Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle # @@ -20,5 +20,6 @@ # Please report all bugs and problems to <gmsh@geuz.org>. clean: - rm -f *.a + rm -f *.a *.lib +