diff --git a/Common/DefaultOptions.h b/Common/DefaultOptions.h index e1f0ddf2993d5fd83945a655acfecadbe079c48a..7ca7271c420eab59e5a46a6cf1dae5905b872866 100644 --- a/Common/DefaultOptions.h +++ b/Common/DefaultOptions.h @@ -119,6 +119,10 @@ StringXString SolverOptions_String[] = { "Default mesh file name for solver 0" }, { F|O, "MeshCommand0" , opt_solver_mesh_command0 , "-msh %s" , "Command used to specify the mesh file for solver 0" }, + { F|O, "SocketCommand0", opt_solver_socket_command0, "-socket %s", + "Command to specify the socket to solver 0" }, + { F|O, "NameCommand0", opt_solver_name_command0, "%s", + "Command to specify the problem name to solver 0" }, { F|O, "OptionCommand0" , opt_solver_option_command0 , "" , "Command to get options from solver 0" }, { F|O, "FirstOption0" , opt_solver_first_option0 , "Resolution" , @@ -164,6 +168,10 @@ StringXString SolverOptions_String[] = { "Default mesh file name for solver 1" }, { F|O, "MeshCommand1" , opt_solver_mesh_command1 , "" , "Command used to specify the mesh file for solver 1" }, + { F|O, "SocketCommand1", opt_solver_socket_command1, "-socket %s", + "Command to specify the socket to solver 1" }, + { F|O, "NameCommand1", opt_solver_name_command1, "%s", + "Command to specify the problem name to solver 1" }, { F|O, "OptionCommand1" , opt_solver_option_command1 , "" , "Command to get options from solver 1" }, { F|O, "FirstOption1" , opt_solver_first_option1 , "" , @@ -209,6 +217,10 @@ StringXString SolverOptions_String[] = { "Default mesh file name for solver 2" }, { F|O, "MeshCommand2" , opt_solver_mesh_command2 , "" , "Command used to specify the mesh file for solver 2" }, + { F|O, "SocketCommand2", opt_solver_socket_command2, "-socket %s", + "Command to specify the socket to solver 2" }, + { F|O, "NameCommand2", opt_solver_name_command2, "%s", + "Command to specify the problem name to solver 2" }, { F|O, "OptionCommand2" , opt_solver_option_command2 , "" , "Command to get options from solver 2" }, { F|O, "FirstOption2" , opt_solver_first_option2 , "" , @@ -254,6 +266,10 @@ StringXString SolverOptions_String[] = { "Default mesh file name for solver 3" }, { F|O, "MeshCommand3" , opt_solver_mesh_command3 , "" , "Command used to specify the mesh file for solver 3" }, + { F|O, "SocketCommand3", opt_solver_socket_command3, "-socket %s", + "Command to specify the socket to solver 3" }, + { F|O, "NameCommand3", opt_solver_name_command3, "%s", + "Command to specify the problem name to solver 3" }, { F|O, "OptionCommand3" , opt_solver_option_command3 , "" , "Command to get options from solver 3" }, { F|O, "FirstOption3" , opt_solver_first_option3 , "" , @@ -299,6 +315,10 @@ StringXString SolverOptions_String[] = { "Default mesh file name for solver 4" }, { F|O, "MeshCommand4" , opt_solver_mesh_command4 , "" , "Command used to specify the mesh file for solver 4" }, + { F|O, "SocketCommand4", opt_solver_socket_command4, "-socket %s", + "Command to specify the socket to solver 4" }, + { F|O, "NameCommand4", opt_solver_name_command1, "%s", + "Command to specify the problem name to solver 4" }, { F|O, "OptionCommand4" , opt_solver_option_command4 , "" , "Command to get options from solver 4" }, { F|O, "FirstOption4" , opt_solver_first_option4 , "" , diff --git a/Common/Options.cpp b/Common/Options.cpp index e8422d65144afb689d11aafad3ebd3fc37f0d097..bfff11196e26188c263f7635341b1064ee66fa12 100644 --- a/Common/Options.cpp +++ b/Common/Options.cpp @@ -1,4 +1,4 @@ -// $Id: Options.cpp,v 1.192 2004-10-21 17:02:25 geuzaine Exp $ +// $Id: Options.cpp,v 1.193 2004-10-25 00:45:47 geuzaine Exp $ // // Copyright (C) 1997-2004 C. Geuzaine, J.-F. Remacle // @@ -1143,6 +1143,78 @@ char *opt_solver_mesh_command4(OPT_ARGS_STR) return opt_solver_mesh_command(4, action, val); } +char *opt_solver_socket_command(OPT_ARGS_STR) +{ +#if defined(HAVE_FLTK) + if(action & GMSH_SET) + strcpy(SINFO[num].socket_command, val); + return SINFO[num].socket_command; +#else + return "undefined"; +#endif +} + +char *opt_solver_socket_command0(OPT_ARGS_STR) +{ + return opt_solver_socket_command(0, action, val); +} + +char *opt_solver_socket_command1(OPT_ARGS_STR) +{ + return opt_solver_socket_command(1, action, val); +} + +char *opt_solver_socket_command2(OPT_ARGS_STR) +{ + return opt_solver_socket_command(2, action, val); +} + +char *opt_solver_socket_command3(OPT_ARGS_STR) +{ + return opt_solver_socket_command(3, action, val); +} + +char *opt_solver_socket_command4(OPT_ARGS_STR) +{ + return opt_solver_socket_command(4, action, val); +} + +char *opt_solver_name_command(OPT_ARGS_STR) +{ +#if defined(HAVE_FLTK) + if(action & GMSH_SET) + strcpy(SINFO[num].name_command, val); + return SINFO[num].name_command; +#else + return "undefined"; +#endif +} + +char *opt_solver_name_command0(OPT_ARGS_STR) +{ + return opt_solver_name_command(0, action, val); +} + +char *opt_solver_name_command1(OPT_ARGS_STR) +{ + return opt_solver_name_command(1, action, val); +} + +char *opt_solver_name_command2(OPT_ARGS_STR) +{ + return opt_solver_name_command(2, action, val); +} + +char *opt_solver_name_command3(OPT_ARGS_STR) +{ + return opt_solver_name_command(3, action, val); +} + +char *opt_solver_name_command4(OPT_ARGS_STR) +{ + return opt_solver_name_command(4, action, val); +} + char *opt_solver_option_command(OPT_ARGS_STR) { #if defined(HAVE_FLTK) @@ -5335,6 +5407,7 @@ unsigned int opt_general_color_background(OPT_ARGS_COL) #endif return CTX.color.bg; } + unsigned int opt_general_color_foreground(OPT_ARGS_COL) { if(action & GMSH_SET) @@ -5344,6 +5417,7 @@ unsigned int opt_general_color_foreground(OPT_ARGS_COL) #endif return CTX.color.fg; } + unsigned int opt_general_color_text(OPT_ARGS_COL) { if(action & GMSH_SET) @@ -5353,6 +5427,7 @@ unsigned int opt_general_color_text(OPT_ARGS_COL) #endif return CTX.color.text; } + unsigned int opt_general_color_axes(OPT_ARGS_COL) { if(action & GMSH_SET) @@ -5362,6 +5437,7 @@ unsigned int opt_general_color_axes(OPT_ARGS_COL) #endif return CTX.color.axes; } + unsigned int opt_general_color_small_axes(OPT_ARGS_COL) { if(action & GMSH_SET) @@ -5371,6 +5447,7 @@ unsigned int opt_general_color_small_axes(OPT_ARGS_COL) #endif return CTX.color.small_axes; } + unsigned int opt_general_color_ambient_light(OPT_ARGS_COL) { if(action & GMSH_SET) @@ -5381,6 +5458,7 @@ unsigned int opt_general_color_ambient_light(OPT_ARGS_COL) #endif return CTX.color.ambient_light[0]; } + unsigned int opt_general_color_diffuse_light(OPT_ARGS_COL) { if(action & GMSH_SET) @@ -5391,6 +5469,7 @@ unsigned int opt_general_color_diffuse_light(OPT_ARGS_COL) #endif return CTX.color.diffuse_light[0]; } + unsigned int opt_general_color_specular_light(OPT_ARGS_COL) { if(action & GMSH_SET) @@ -5401,6 +5480,7 @@ unsigned int opt_general_color_specular_light(OPT_ARGS_COL) #endif return CTX.color.specular_light[0]; } + unsigned int opt_geometry_color_points(OPT_ARGS_COL) { if(action & GMSH_SET) @@ -5410,6 +5490,7 @@ unsigned int opt_geometry_color_points(OPT_ARGS_COL) #endif return CTX.color.geom.point; } + unsigned int opt_geometry_color_lines(OPT_ARGS_COL) { if(action & GMSH_SET) @@ -5419,6 +5500,7 @@ unsigned int opt_geometry_color_lines(OPT_ARGS_COL) #endif return CTX.color.geom.line; } + unsigned int opt_geometry_color_surfaces(OPT_ARGS_COL) { if(action & GMSH_SET) @@ -5428,6 +5510,7 @@ unsigned int opt_geometry_color_surfaces(OPT_ARGS_COL) #endif return CTX.color.geom.surface; } + unsigned int opt_geometry_color_volumes(OPT_ARGS_COL) { if(action & GMSH_SET) @@ -5437,6 +5520,7 @@ unsigned int opt_geometry_color_volumes(OPT_ARGS_COL) #endif return CTX.color.geom.volume; } + unsigned int opt_geometry_color_points_select(OPT_ARGS_COL) { if(action & GMSH_SET) @@ -5446,6 +5530,7 @@ unsigned int opt_geometry_color_points_select(OPT_ARGS_COL) #endif return CTX.color.geom.point_sel; } + unsigned int opt_geometry_color_lines_select(OPT_ARGS_COL) { if(action & GMSH_SET) @@ -5455,6 +5540,7 @@ unsigned int opt_geometry_color_lines_select(OPT_ARGS_COL) #endif return CTX.color.geom.line_sel; } + unsigned int opt_geometry_color_surfaces_select(OPT_ARGS_COL) { if(action & GMSH_SET) @@ -5464,6 +5550,7 @@ unsigned int opt_geometry_color_surfaces_select(OPT_ARGS_COL) #endif return CTX.color.geom.surface_sel; } + unsigned int opt_geometry_color_volumes_select(OPT_ARGS_COL) { if(action & GMSH_SET) @@ -5473,6 +5560,7 @@ unsigned int opt_geometry_color_volumes_select(OPT_ARGS_COL) #endif return CTX.color.geom.volume_sel; } + unsigned int opt_geometry_color_tangents(OPT_ARGS_COL) { if(action & GMSH_SET) @@ -5482,6 +5570,7 @@ unsigned int opt_geometry_color_tangents(OPT_ARGS_COL) #endif return CTX.color.geom.tangents; } + unsigned int opt_geometry_color_normals(OPT_ARGS_COL) { if(action & GMSH_SET) @@ -5491,6 +5580,7 @@ unsigned int opt_geometry_color_normals(OPT_ARGS_COL) #endif return CTX.color.geom.normals; } + unsigned int opt_mesh_color_points(OPT_ARGS_COL) { if(action & GMSH_SET) { @@ -5501,6 +5591,7 @@ unsigned int opt_mesh_color_points(OPT_ARGS_COL) #endif return CTX.color.mesh.vertex; } + unsigned int opt_mesh_color_points_deg2(OPT_ARGS_COL) { if(action & GMSH_SET) { @@ -5511,6 +5602,7 @@ unsigned int opt_mesh_color_points_deg2(OPT_ARGS_COL) #endif return CTX.color.mesh.vertex_deg2; } + unsigned int opt_mesh_color_lines(OPT_ARGS_COL) { if(action & GMSH_SET) { @@ -5521,6 +5613,7 @@ unsigned int opt_mesh_color_lines(OPT_ARGS_COL) #endif return CTX.color.mesh.line; } + unsigned int opt_mesh_color_triangles(OPT_ARGS_COL) { if(action & GMSH_SET) { @@ -5532,6 +5625,7 @@ unsigned int opt_mesh_color_triangles(OPT_ARGS_COL) #endif return CTX.color.mesh.triangle; } + unsigned int opt_mesh_color_quadrangles(OPT_ARGS_COL) { if(action & GMSH_SET) { @@ -5543,6 +5637,7 @@ unsigned int opt_mesh_color_quadrangles(OPT_ARGS_COL) #endif return CTX.color.mesh.quadrangle; } + unsigned int opt_mesh_color_tetrahedra(OPT_ARGS_COL) { if(action & GMSH_SET) { @@ -5554,6 +5649,7 @@ unsigned int opt_mesh_color_tetrahedra(OPT_ARGS_COL) #endif return CTX.color.mesh.tetrahedron; } + unsigned int opt_mesh_color_hexahedra(OPT_ARGS_COL) { if(action & GMSH_SET) { @@ -5565,6 +5661,7 @@ unsigned int opt_mesh_color_hexahedra(OPT_ARGS_COL) #endif return CTX.color.mesh.hexahedron; } + unsigned int opt_mesh_color_prisms(OPT_ARGS_COL) { if(action & GMSH_SET) { @@ -5576,6 +5673,7 @@ unsigned int opt_mesh_color_prisms(OPT_ARGS_COL) #endif return CTX.color.mesh.prism; } + unsigned int opt_mesh_color_pyramid(OPT_ARGS_COL) { if(action & GMSH_SET) { @@ -5587,6 +5685,7 @@ unsigned int opt_mesh_color_pyramid(OPT_ARGS_COL) #endif return CTX.color.mesh.pyramid; } + unsigned int opt_mesh_color_tangents(OPT_ARGS_COL) { if(action & GMSH_SET) { @@ -5597,6 +5696,7 @@ unsigned int opt_mesh_color_tangents(OPT_ARGS_COL) #endif return CTX.color.mesh.tangents; } + unsigned int opt_mesh_color_normals(OPT_ARGS_COL) { if(action & GMSH_SET) { @@ -5607,6 +5707,7 @@ unsigned int opt_mesh_color_normals(OPT_ARGS_COL) #endif return CTX.color.mesh.normals; } + unsigned int opt_mesh_color_1(OPT_ARGS_COL) { if(action & GMSH_SET) { @@ -5618,6 +5719,7 @@ unsigned int opt_mesh_color_1(OPT_ARGS_COL) #endif return CTX.color.mesh.carousel[0]; } + unsigned int opt_mesh_color_2(OPT_ARGS_COL) { if(action & GMSH_SET) { @@ -5629,6 +5731,7 @@ unsigned int opt_mesh_color_2(OPT_ARGS_COL) #endif return CTX.color.mesh.carousel[1]; } + unsigned int opt_mesh_color_3(OPT_ARGS_COL) { if(action & GMSH_SET) { @@ -5640,6 +5743,7 @@ unsigned int opt_mesh_color_3(OPT_ARGS_COL) #endif return CTX.color.mesh.carousel[2]; } + unsigned int opt_mesh_color_4(OPT_ARGS_COL) { if(action & GMSH_SET) { @@ -5651,6 +5755,7 @@ unsigned int opt_mesh_color_4(OPT_ARGS_COL) #endif return CTX.color.mesh.carousel[3]; } + unsigned int opt_mesh_color_5(OPT_ARGS_COL) { if(action & GMSH_SET) { @@ -5662,6 +5767,7 @@ unsigned int opt_mesh_color_5(OPT_ARGS_COL) #endif return CTX.color.mesh.carousel[4]; } + unsigned int opt_mesh_color_6(OPT_ARGS_COL) { if(action & GMSH_SET) { @@ -5673,6 +5779,7 @@ unsigned int opt_mesh_color_6(OPT_ARGS_COL) #endif return CTX.color.mesh.carousel[5]; } + unsigned int opt_mesh_color_7(OPT_ARGS_COL) { if(action & GMSH_SET) { @@ -5684,6 +5791,7 @@ unsigned int opt_mesh_color_7(OPT_ARGS_COL) #endif return CTX.color.mesh.carousel[6]; } + unsigned int opt_mesh_color_8(OPT_ARGS_COL) { if(action & GMSH_SET) { @@ -5695,6 +5803,7 @@ unsigned int opt_mesh_color_8(OPT_ARGS_COL) #endif return CTX.color.mesh.carousel[7]; } + unsigned int opt_mesh_color_9(OPT_ARGS_COL) { if(action & GMSH_SET) { @@ -5706,6 +5815,7 @@ unsigned int opt_mesh_color_9(OPT_ARGS_COL) #endif return CTX.color.mesh.carousel[8]; } + unsigned int opt_mesh_color_10(OPT_ARGS_COL) { if(action & GMSH_SET) { diff --git a/Common/Options.h b/Common/Options.h index a2491f8314bc933f2072734f7ac3b5661e4e3f7c..f9feaf6a8812e7824ba5a95e933dd087ed4a8907 100644 --- a/Common/Options.h +++ b/Common/Options.h @@ -83,6 +83,18 @@ char * opt_solver_mesh_command1(OPT_ARGS_STR); char * opt_solver_mesh_command2(OPT_ARGS_STR); char * opt_solver_mesh_command3(OPT_ARGS_STR); char * opt_solver_mesh_command4(OPT_ARGS_STR); +char * opt_solver_socket_command(OPT_ARGS_STR); +char * opt_solver_socket_command0(OPT_ARGS_STR); +char * opt_solver_socket_command1(OPT_ARGS_STR); +char * opt_solver_socket_command2(OPT_ARGS_STR); +char * opt_solver_socket_command3(OPT_ARGS_STR); +char * opt_solver_socket_command4(OPT_ARGS_STR); +char * opt_solver_name_command(OPT_ARGS_STR); +char * opt_solver_name_command0(OPT_ARGS_STR); +char * opt_solver_name_command1(OPT_ARGS_STR); +char * opt_solver_name_command2(OPT_ARGS_STR); +char * opt_solver_name_command3(OPT_ARGS_STR); +char * opt_solver_name_command4(OPT_ARGS_STR); char * opt_solver_option_command(OPT_ARGS_STR); char * opt_solver_option_command0(OPT_ARGS_STR); char * opt_solver_option_command1(OPT_ARGS_STR); diff --git a/Fltk/Callbacks.cpp b/Fltk/Callbacks.cpp index d786bd4125a3760ef1e3fa05057c783429d927ea..2305a2fcd7e4dd2146e3f31ad4a3abd2e3e46eef 100644 --- a/Fltk/Callbacks.cpp +++ b/Fltk/Callbacks.cpp @@ -1,4 +1,4 @@ -// $Id: Callbacks.cpp,v 1.287 2004-10-21 17:02:25 geuzaine Exp $ +// $Id: Callbacks.cpp,v 1.288 2004-10-25 00:45:47 geuzaine Exp $ // // Copyright (C) 1997-2004 C. Geuzaine, J.-F. Remacle // @@ -420,18 +420,22 @@ void _save_auto(char *name) { CreateOutputFile(name, FORMAT_AUTO); } + void _save_geo_options(char *name) { CreateOutputFile(name, FORMAT_OPT); } + void _save_geo_options_diff(char *name) { Print_Options(0, GMSH_FULLRC, true, name); } + void _save_geo(char *name) { CreateOutputFile(name, FORMAT_GEO); } + void _save_msh(char *name) { double ver = CTX.mesh.msh_file_version; @@ -439,6 +443,7 @@ void _save_msh(char *name) CreateOutputFile(name, CTX.mesh.format = FORMAT_MSH); CTX.mesh.msh_file_version = ver; } + void _save_msh_all(char *name) { int all = CTX.mesh.save_all; @@ -449,6 +454,7 @@ void _save_msh_all(char *name) CTX.mesh.save_all = all; CTX.mesh.msh_file_version = ver; } + void _save_msh_v2(char *name) { double ver = CTX.mesh.msh_file_version; @@ -456,6 +462,7 @@ void _save_msh_v2(char *name) CreateOutputFile(name, CTX.mesh.format = FORMAT_MSH); CTX.mesh.msh_file_version = ver; } + void _save_msh_all_v2(char *name) { int all = CTX.mesh.save_all; @@ -466,30 +473,37 @@ void _save_msh_all_v2(char *name) CTX.mesh.save_all = all; CTX.mesh.msh_file_version = ver; } + void _save_lc_sur(char *name) { CreateOutputFile(name, FORMAT_LC_SUR); } + void _save_lc_vol(char *name) { CreateOutputFile(name, FORMAT_LC_VOL); } + void _save_gref(char *name) { CreateOutputFile(name, CTX.mesh.format = FORMAT_GREF); } + void _save_unv(char *name) { CreateOutputFile(name, CTX.mesh.format = FORMAT_UNV); } + void _save_vrml(char *name) { CreateOutputFile(name, CTX.mesh.format = FORMAT_VRML); } + void _save_ps_raster(char *name) { CreateOutputFile(name, FORMAT_PS_RASTER); } + void _save_ps_simple(char *name) { int old = CTX.print.eps_quality; @@ -497,6 +511,7 @@ void _save_ps_simple(char *name) CreateOutputFile(name, FORMAT_PS); CTX.print.eps_quality = old; } + void _save_ps_accurate(char *name) { int old = CTX.print.eps_quality; @@ -504,10 +519,12 @@ void _save_ps_accurate(char *name) CreateOutputFile(name, FORMAT_PS); CTX.print.eps_quality = old; } + void _save_eps_raster(char *name) { CreateOutputFile(name, FORMAT_EPS_RASTER); } + void _save_eps_simple(char *name) { int old = CTX.print.eps_quality; @@ -515,6 +532,7 @@ void _save_eps_simple(char *name) CreateOutputFile(name, FORMAT_EPS); CTX.print.eps_quality = old; } + void _save_eps_accurate(char *name) { int old = CTX.print.eps_quality; @@ -522,10 +540,12 @@ void _save_eps_accurate(char *name) CreateOutputFile(name, FORMAT_EPS); CTX.print.eps_quality = old; } + void _save_epstex_raster(char *name) { CreateOutputFile(name, FORMAT_EPSTEX_RASTER); } + void _save_epstex_simple(char *name) { int old = CTX.print.eps_quality; @@ -533,6 +553,7 @@ void _save_epstex_simple(char *name) CreateOutputFile(name, FORMAT_EPSTEX); CTX.print.eps_quality = old; } + void _save_epstex_accurate(char *name) { int old = CTX.print.eps_quality; @@ -540,10 +561,12 @@ void _save_epstex_accurate(char *name) CreateOutputFile(name, FORMAT_EPSTEX); CTX.print.eps_quality = old; } + void _save_pdf_raster(char *name) { CreateOutputFile(name, FORMAT_PDF_RASTER); } + void _save_pdf_simple(char *name) { int old = CTX.print.eps_quality; @@ -551,6 +574,7 @@ void _save_pdf_simple(char *name) CreateOutputFile(name, FORMAT_PDF); CTX.print.eps_quality = old; } + void _save_pdf_accurate(char *name) { int old = CTX.print.eps_quality; @@ -558,10 +582,12 @@ void _save_pdf_accurate(char *name) CreateOutputFile(name, FORMAT_PDF); CTX.print.eps_quality = old; } + void _save_pdftex_raster(char *name) { CreateOutputFile(name, FORMAT_PDFTEX_RASTER); } + void _save_pdftex_simple(char *name) { int old = CTX.print.eps_quality; @@ -569,6 +595,7 @@ void _save_pdftex_simple(char *name) CreateOutputFile(name, FORMAT_PDFTEX); CTX.print.eps_quality = old; } + void _save_pdftex_accurate(char *name) { int old = CTX.print.eps_quality; @@ -576,26 +603,32 @@ void _save_pdftex_accurate(char *name) CreateOutputFile(name, FORMAT_PDFTEX); CTX.print.eps_quality = old; } + void _save_jpegtex(char *name) { CreateOutputFile(name, FORMAT_JPEGTEX); } + void _save_pngtex(char *name) { CreateOutputFile(name, FORMAT_PNGTEX); } + void _save_tex(char *name) { CreateOutputFile(name, FORMAT_TEX); } + void _save_jpeg(char *name) { CreateOutputFile(name, FORMAT_JPEG); } + void _save_png(char *name) { CreateOutputFile(name, FORMAT_PNG); } + void _save_gif(char *name) { int dither = CTX.print.gif_dither; @@ -606,6 +639,7 @@ void _save_gif(char *name) CTX.print.gif_dither = dither; CTX.print.gif_transparent = transp; } + void _save_gif_dithered(char *name) { int dither = CTX.print.gif_dither; @@ -616,6 +650,7 @@ void _save_gif_dithered(char *name) CTX.print.gif_dither = dither; CTX.print.gif_transparent = transp; } + void _save_gif_transparent(char *name) { int dither = CTX.print.gif_dither; @@ -626,10 +661,12 @@ void _save_gif_transparent(char *name) CTX.print.gif_dither = dither; CTX.print.gif_transparent = transp; } + void _save_ppm(char *name) { CreateOutputFile(name, FORMAT_PPM); } + void _save_yuv(char *name) { CreateOutputFile(name, FORMAT_YUV); @@ -2881,8 +2918,10 @@ void solver_cb(CALLBACK_ARGS) } if(SINFO[num].nboptions) { char file[1024]; - FixWindowsPath((char *)WID->solver[num].input[0]->value(), file); - sprintf(tmp, "%s \"%s\"", SINFO[num].option_command, file); + FixWindowsPath((char*)WID->solver[num].input[0]->value(), file); + sprintf(tmp, "\"%s\"", file); + sprintf(file, SINFO[num].name_command, tmp); + sprintf(tmp, "%s %s", SINFO[num].option_command, file); Solver(num, tmp); } WID->create_solver_window(num); @@ -2901,11 +2940,14 @@ void solver_file_open_cb(CALLBACK_ARGS) if(SINFO[num].nboptions) { char file[1024]; FixWindowsPath(file_chooser_get_name(1), file); - sprintf(tmp, "%s \"%s\"", SINFO[num].option_command, file); + sprintf(tmp, "\"%s\"", file); + sprintf(file, SINFO[num].name_command, tmp); + sprintf(tmp, "%s %s", SINFO[num].option_command, file); Solver(num, tmp); } } } + void solver_file_edit_cb(CALLBACK_ARGS) { char prog[1024], file[1024], cmd[1024]; @@ -2922,6 +2964,7 @@ void solver_choose_mesh_cb(CALLBACK_ARGS) if(file_chooser(0, 0, "Open mesh file", "*.msh", 0)) WID->solver[num].input[1]->value(file_chooser_get_name(1)); } + int nbs(char *str) { int i, nb = 0; @@ -2953,9 +2996,6 @@ void solver_command_cb(CALLBACK_ARGS) strcpy(mesh, ""); } - //printf("num%d idx%d %s -> %d\n", - // num, idx, SINFO[num].button_command[idx], nbs(SINFO[num].button_command[idx])); - if(nbs(SINFO[num].button_command[idx])) { for(i = 0; i < idx; i++) usedopts += nbs(SINFO[num].button_command[i]); @@ -2971,7 +3011,9 @@ void solver_command_cb(CALLBACK_ARGS) } FixWindowsPath((char*)WID->solver[num].input[0]->value(), tmp); - sprintf(arg, "\"%s\" %s %s", tmp, mesh, command); + sprintf(arg, "\"%s\"", tmp); + sprintf(tmp, SINFO[num].name_command, arg); + sprintf(arg, "%s %s %s", tmp, mesh, command); Solver(num, arg); } @@ -3812,4 +3854,3 @@ void con_geometry_define_point_cb(CALLBACK_ARGS) CalculateMinMax(THEM->Points, NULL); Draw(); } - diff --git a/Fltk/Solvers.cpp b/Fltk/Solvers.cpp index e7253527ccc03460798b49044557506974475470..db6fc91333f48d9f1c31eb03ddf042db6c85c6da 100644 --- a/Fltk/Solvers.cpp +++ b/Fltk/Solvers.cpp @@ -1,4 +1,4 @@ -// $Id: Solvers.cpp,v 1.27 2004-10-17 01:53:49 geuzaine Exp $ +// $Id: Solvers.cpp,v 1.28 2004-10-25 00:45:47 geuzaine Exp $ // // Copyright (C) 1997-2004 C. Geuzaine, J.-F. Remacle // @@ -46,6 +46,7 @@ int Solver(int num, char *args) { int sock, type, stop = 0, i, j, n; char command[1024], socket_name[1024], str[1024], prog[1024]; + char buffer[1024]; FixWindowsPath(SINFO[num].executable_name, prog); @@ -60,7 +61,11 @@ int Solver(int num, char *args) sprintf(str, "%s.gmshsock-%d", CTX.home_dir, num); FixWindowsPath(str, socket_name); - sprintf(command, "%s %s -socket \"%s\"", prog, args, socket_name); + + sprintf(str, "\"%s\"", socket_name); + sprintf(buffer, SINFO[num].socket_command, str); + + sprintf(command, "%s %s %s", prog, args, buffer); #if !defined(WIN32) strcat(command, " &"); #endif diff --git a/Fltk/Solvers.h b/Fltk/Solvers.h index 0853291c7c214c3dea606d1dae1954925a5b7243..4e79b24710d0b63100ff6b62a4c51cd5476a99ec 100644 --- a/Fltk/Solvers.h +++ b/Fltk/Solvers.h @@ -25,6 +25,8 @@ typedef struct{ char name[256], extension[32], executable_name[256]; char mesh_name[256], mesh_command[256]; + char socket_command[256]; + char name_command[256]; char button_name[MAXSOLVERS][32], button_command[MAXSOLVERS][256]; char option_name[MAXSOLVERS][256], option_command[256]; char option[MAXSOLVERS][100][256]; @@ -39,4 +41,3 @@ extern SolverInfo SINFO[MAXSOLVERS] ; int Solver(int num, char *args); #endif - diff --git a/Plugin/OctreePost.cpp b/Plugin/OctreePost.cpp index 3408aada1a6b8b62bfcdc9f291c5933813817d33..568631d03ccd4e171241512100ef931b5ce237b9 100644 --- a/Plugin/OctreePost.cpp +++ b/Plugin/OctreePost.cpp @@ -1,4 +1,4 @@ -// $Id: OctreePost.cpp,v 1.9 2004-07-07 20:36:32 geuzaine Exp $ +// $Id: OctreePost.cpp,v 1.10 2004-10-25 00:45:47 geuzaine Exp $ // // Copyright (C) 1997-2004 C. Geuzaine, J.-F. Remacle // @@ -209,7 +209,7 @@ OctreePost::OctreePost(Post_View *v) v->BBox[3]-v->BBox[2], v->BBox[5]-v->BBox[4]}; - const int maxElePerBucket = 100; // trade-off memory vs. speed + const int maxElePerBucket = 100; // memory vs. speed trade-off ST = Octree_Create(maxElePerBucket, min, size, PostTriangleBB, diff --git a/doc/CREDITS b/doc/CREDITS index 0610eeb615fd99454e8a29ec3895c6accb31e3ad..1d46fa21c1dda0dde9a9bbb7a9440afe5b369a6c 100644 --- a/doc/CREDITS +++ b/doc/CREDITS @@ -1,4 +1,4 @@ -$Id: CREDITS,v 1.17 2004-10-04 01:08:39 geuzaine Exp $ +$Id: CREDITS,v 1.18 2004-10-25 00:45:47 geuzaine Exp $ Gmsh is copyright (C) 1997-2004 @@ -94,4 +94,5 @@ at debian.org>, Sebastien.Clerc <Sebastien.Clerc at space.alcatel.fr>, Jose Miguel Pasini <jmp84 at cornell.edu>, Philippe Lussou <plussou at necs.fr>, Jacques Kools <JKools at veeco.com>, Bayram Yenikaya <yenikaya at math.umn.edu>, Peter Hornby <p.hornby at arrc.csiro.au>, -Krishna Mohan Gundu <gkmohan at gmail.com>. +Krishna Mohan Gundu <gkmohan at gmail.com>, Chris Stott +<C.Stott@surrey.ac.uk>. diff --git a/doc/VERSIONS b/doc/VERSIONS index 6e4385858c53bc449a9ca13de1a66f9234418e29..aeadc26d8cfb947259889cb456739a567b94686c 100644 --- a/doc/VERSIONS +++ b/doc/VERSIONS @@ -1,7 +1,8 @@ -$Id: VERSIONS,v 1.256 2004-10-21 17:02:27 geuzaine Exp $ +$Id: VERSIONS,v 1.257 2004-10-25 00:45:47 geuzaine Exp $ New since 1.56: generalized 'raised view' for displacement maps of -arbitrary view types; new adaptive high order visualization mode; +arbitrary view types; new adaptive high order visualization mode; new +solver options (SocketCommand and NameCommand); New in 1.56: new post-processing option to draw a scalar view raised by a displacement view without using Plugin(DisplacementRaise) (makes diff --git a/doc/texinfo/opt_solver.texi b/doc/texinfo/opt_solver.texi index eec0c07a7948ad6c10438b0af05e6eae5bce7e59..92b06daeff3414dfd0c15cbaf0576b888dc3f600 100644 --- a/doc/texinfo/opt_solver.texi +++ b/doc/texinfo/opt_solver.texi @@ -33,6 +33,16 @@ Command used to specify the mesh file for solver 0@* Default value: @code{"-msh %s"}@* Saved in: @code{General.OptionsFileName} +@item Solver.SocketCommand0 +Command to specify the socket to solver 0@* +Default value: @code{"-socket %s"}@* +Saved in: @code{General.OptionsFileName} + +@item Solver.NameCommand0 +Command to specify the problem name to solver 0@* +Default value: @code{"%s"}@* +Saved in: @code{General.OptionsFileName} + @item Solver.OptionCommand0 Command to get options from solver 0@* Default value: @code{""}@* @@ -143,6 +153,16 @@ Command used to specify the mesh file for solver 1@* Default value: @code{""}@* Saved in: @code{General.OptionsFileName} +@item Solver.SocketCommand1 +Command to specify the socket to solver 1@* +Default value: @code{"-socket %s"}@* +Saved in: @code{General.OptionsFileName} + +@item Solver.NameCommand1 +Command to specify the problem name to solver 1@* +Default value: @code{"%s"}@* +Saved in: @code{General.OptionsFileName} + @item Solver.OptionCommand1 Command to get options from solver 1@* Default value: @code{""}@* @@ -253,6 +273,16 @@ Command used to specify the mesh file for solver 2@* Default value: @code{""}@* Saved in: @code{General.OptionsFileName} +@item Solver.SocketCommand2 +Command to specify the socket to solver 2@* +Default value: @code{"-socket %s"}@* +Saved in: @code{General.OptionsFileName} + +@item Solver.NameCommand2 +Command to specify the problem name to solver 2@* +Default value: @code{"%s"}@* +Saved in: @code{General.OptionsFileName} + @item Solver.OptionCommand2 Command to get options from solver 2@* Default value: @code{""}@* @@ -363,6 +393,16 @@ Command used to specify the mesh file for solver 3@* Default value: @code{""}@* Saved in: @code{General.OptionsFileName} +@item Solver.SocketCommand3 +Command to specify the socket to solver 3@* +Default value: @code{"-socket %s"}@* +Saved in: @code{General.OptionsFileName} + +@item Solver.NameCommand3 +Command to specify the problem name to solver 3@* +Default value: @code{"%s"}@* +Saved in: @code{General.OptionsFileName} + @item Solver.OptionCommand3 Command to get options from solver 3@* Default value: @code{""}@* @@ -473,6 +513,16 @@ Command used to specify the mesh file for solver 4@* Default value: @code{""}@* Saved in: @code{General.OptionsFileName} +@item Solver.SocketCommand4 +Command to specify the socket to solver 4@* +Default value: @code{"-socket %s"}@* +Saved in: @code{General.OptionsFileName} + +@item Solver.NameCommand4 +Command to specify the problem name to solver 4@* +Default value: @code{"%s"}@* +Saved in: @code{General.OptionsFileName} + @item Solver.OptionCommand4 Command to get options from solver 4@* Default value: @code{""}@* diff --git a/utils/solvers/myperlsolver.opt b/utils/solvers/myperlsolver.opt index a613720139dde5822817ff97d71fdd3c9eae0e43..9a260c7f131cc3427bf87f59ad27fc57c71eacdb 100644 --- a/utils/solvers/myperlsolver.opt +++ b/utils/solvers/myperlsolver.opt @@ -7,6 +7,8 @@ Solver.Executable1 = "./myperlsolver.pl"; Solver.Extension1 = ""; Solver.MeshName1 = ""; Solver.MeshCommand1 = ""; +Solver.SocketCommand1 = "-socket %s"; +Solver.NameCommand1 = "%s"; Solver.OptionCommand1 = "-options"; Solver.FirstOption1 = "Option"; Solver.SecondOption1 = ""; diff --git a/utils/solvers/mysolver.opt b/utils/solvers/mysolver.opt index 4ebb77fca92cbc7e90c40b06c0f2b23cade932cf..c03fca0237fe8e16a44241e87dfc38e1502cf192 100644 --- a/utils/solvers/mysolver.opt +++ b/utils/solvers/mysolver.opt @@ -7,6 +7,8 @@ Solver.Executable1 = "./mysolver.exe"; Solver.Extension1 = ""; Solver.MeshName1 = ""; Solver.MeshCommand1 = ""; +Solver.SocketCommand1 = "-socket %s"; +Solver.NameCommand1 = "%s"; Solver.OptionCommand1 = "-options"; Solver.FirstOption1 = "Option"; Solver.SecondOption1 = "";