diff --git a/Common/DefaultOptions.h b/Common/DefaultOptions.h index 850ac88b364d27ea1e050ceea28e59bcc952c9ff..3e6dc25c22797610ce8e116a680291158bfdeb93 100644 --- a/Common/DefaultOptions.h +++ b/Common/DefaultOptions.h @@ -858,10 +858,8 @@ StringXNumber ViewOptions_Number[] = { "Threshold angle below which normals are not smoothed" }, { F|O, "ArrowLocation" , opt_view_arrow_location , DRAW_POST_LOCATE_COG , "Arrow location (1=cog, 2=vertex)" }, - { F|O, "ArrowScale" , opt_view_arrow_scale , 50. , - "Size of vectors (arrow size in pixels or displacement factor)" }, - { F|O, "ArrowType" , opt_view_arrow_type , DRAW_POST_ARROW , - "Vector display type (1=segment, 2=arrow, 3=pyramid, 4=cone, 5=displacement)" }, + { F|O, "ArrowSize" , opt_view_arrow_size , 50. , + "Size of vectors arrows (in pixels)" }, { F|O, "AutoPosition" , opt_view_auto_position , 1. , "Position the scale or the 2D graph automatically to avoid overlaps" }, @@ -873,6 +871,8 @@ StringXNumber ViewOptions_Number[] = { { F, "CustomMin" , opt_view_custom_min , 0. , "User-defined minimum value to be displayed" }, + { F|O, "DisplacementFactor" , opt_view_displacement_factor , 1. , + "Displacement amplification" }, { F|O, "DrawHexahedra" , opt_view_draw_hexahedra , 1. , "Display post-processing hexahedra?" }, { F|O, "DrawLines" , opt_view_draw_lines , 1. , @@ -975,6 +975,8 @@ StringXNumber ViewOptions_Number[] = { { F|O, "Type" , opt_view_type , DRAW_POST_3D , "Type of graph (1=3D, 2=2D-space, 3=2D-time)" }, + { F|O, "VectorType" , opt_view_vector_type , DRAW_POST_ARROW , + "Vector display type (1=segment, 2=arrow, 3=pyramid, 4=cone, 5=displacement)" }, { F, "Visible" , opt_view_visible , 1. , "Is the view visible?" }, diff --git a/Common/Options.cpp b/Common/Options.cpp index 0024bd38bd3315ad98a260e61985a04cdd0beaad..ff4b26b3c7729e132989c004adfddc5c96c75dcf 100644 --- a/Common/Options.cpp +++ b/Common/Options.cpp @@ -1,4 +1,4 @@ -// $Id: Options.cpp,v 1.111 2003-06-23 05:34:54 geuzaine Exp $ +// $Id: Options.cpp,v 1.112 2003-06-23 16:52:17 geuzaine Exp $ // // Copyright (C) 1997-2003 C. Geuzaine, J.-F. Remacle // @@ -3813,18 +3813,32 @@ double opt_view_raise2(OPT_ARGS_NUM) return v->Raise[2]; } -double opt_view_arrow_scale(OPT_ARGS_NUM) +double opt_view_arrow_size(OPT_ARGS_NUM) { GET_VIEW(0.); if(action & GMSH_SET) { - v->ArrowScale = val; + v->ArrowSize = val; v->Changed = 1; } #if defined(HAVE_FLTK) if(WID && (action & GMSH_GUI) && (num == WID->view_number)) - WID->view_value[60]->value(v->ArrowScale); + WID->view_value[60]->value(v->ArrowSize); #endif - return v->ArrowScale; + return v->ArrowSize; +} + +double opt_view_displacement_factor(OPT_ARGS_NUM) +{ + GET_VIEW(0.); + if(action & GMSH_SET) { + v->DisplacementFactor = val; + v->Changed = 1; + } +#if defined(HAVE_FLTK) + if(WID && (action & GMSH_GUI) && (num == WID->view_number)) + WID->view_value[63]->value(v->DisplacementFactor); +#endif + return v->DisplacementFactor; } double opt_view_explode(OPT_ARGS_NUM) @@ -4373,16 +4387,16 @@ double opt_view_tensor_type(OPT_ARGS_NUM) return v->TensorType; } -double opt_view_arrow_type(OPT_ARGS_NUM) +double opt_view_vector_type(OPT_ARGS_NUM) { GET_VIEW(0.); if(action & GMSH_SET) { - v->ArrowType = (int)val; + v->VectorType = (int)val; v->Changed = 1; } #if defined(HAVE_FLTK) if(WID && (action & GMSH_GUI) && (num == WID->view_number)) { - switch (v->ArrowType) { + switch (v->VectorType) { case DRAW_POST_SEGMENT: WID->view_choice[2]->value(0); break; @@ -4401,7 +4415,7 @@ double opt_view_arrow_type(OPT_ARGS_NUM) } } #endif - return v->ArrowType; + return v->VectorType; } double opt_view_arrow_location(OPT_ARGS_NUM) diff --git a/Common/Options.h b/Common/Options.h index 6d14e927e3739d73a61627ba693c80774504ec53..71665623ffc350fc2a03155a3580a33ed2f61eb0 100644 --- a/Common/Options.h +++ b/Common/Options.h @@ -416,7 +416,8 @@ double opt_view_offset2(OPT_ARGS_NUM); double opt_view_raise0(OPT_ARGS_NUM); double opt_view_raise1(OPT_ARGS_NUM); double opt_view_raise2(OPT_ARGS_NUM); -double opt_view_arrow_scale(OPT_ARGS_NUM); +double opt_view_arrow_size(OPT_ARGS_NUM); +double opt_view_displacement_factor(OPT_ARGS_NUM); double opt_view_explode(OPT_ARGS_NUM); double opt_view_visible(OPT_ARGS_NUM); double opt_view_intervals_type(OPT_ARGS_NUM); @@ -453,7 +454,7 @@ double opt_view_transparent_scale(OPT_ARGS_NUM); double opt_view_scale_type(OPT_ARGS_NUM); double opt_view_tensor_type(OPT_ARGS_NUM); double opt_view_range_type(OPT_ARGS_NUM); -double opt_view_arrow_type(OPT_ARGS_NUM); +double opt_view_vector_type(OPT_ARGS_NUM); double opt_view_arrow_location(OPT_ARGS_NUM); double opt_view_point_size(OPT_ARGS_NUM); double opt_view_line_width(OPT_ARGS_NUM); diff --git a/Common/Views.cpp b/Common/Views.cpp index 27f8ac799f78807883774d7e7a4d02c60fa987f0..aa1b7d9766130d739ff778c5c7a8f6352953a58f 100644 --- a/Common/Views.cpp +++ b/Common/Views.cpp @@ -1,4 +1,4 @@ -// $Id: Views.cpp,v 1.97 2003-05-14 14:49:28 geuzaine Exp $ +// $Id: Views.cpp,v 1.98 2003-06-23 16:52:17 geuzaine Exp $ // // Copyright (C) 1997-2003 C. Geuzaine, J.-F. Remacle // @@ -551,7 +551,8 @@ void CopyViewOptions(Post_View * src, Post_View * dest) dest->Raise[0] = src->Raise[0]; dest->Raise[1] = src->Raise[1]; dest->Raise[2] = src->Raise[2]; - dest->ArrowScale = src->ArrowScale; + dest->ArrowSize = src->ArrowSize; + dest->DisplacementFactor = src->DisplacementFactor; dest->Explode = src->Explode; dest->Visible = src->Visible; dest->IntervalsType = src->IntervalsType; @@ -580,7 +581,7 @@ void CopyViewOptions(Post_View * src, Post_View * dest) dest->TransparentScale = src->TransparentScale; dest->ScaleType = src->ScaleType; dest->RangeType = src->RangeType; - dest->ArrowType = src->ArrowType; + dest->VectorType = src->VectorType; dest->ArrowLocation = src->ArrowLocation; dest->TensorType = src->TensorType; dest->TimeStep = src->TimeStep; diff --git a/Common/Views.h b/Common/Views.h index 9472557a5d612845ee5845b27ae8402da08fd02b..d80ae746d2fe906ccbacfe87e59a3073d5af81c7 100644 --- a/Common/Views.h +++ b/Common/Views.h @@ -58,16 +58,16 @@ class Post_View{ List_T *T2D, *T2C, *T3D, *T3C; // 2D and 3D text strings // options - int Type, Position[2], AutoPosition, Size[2],TensorType; + int Type, Position[2], AutoPosition, Size[2]; char Format[256], AbscissaFormat[256]; double CustomMin, CustomMax; - double Offset[3], Raise[3], ArrowScale, Explode; + double Offset[3], Raise[3], ArrowSize, DisplacementFactor, Explode; int Visible, IntervalsType, NbIso, NbAbscissa, Light, SmoothNormals ; double AngleSmoothNormals; int SaturateValues; int ShowElement, ShowTime, ShowScale; int TransparentScale, ScaleType, RangeType; - int ArrowType, ArrowLocation; + int VectorType, TensorType, ArrowLocation; int TimeStep; int DrawStrings; int DrawPoints, DrawLines, DrawTriangles, DrawQuadrangles; @@ -108,7 +108,7 @@ class Post_View{ #define DRAW_POST_DISCRETE 3 #define DRAW_POST_NUMERIC 4 -// ArrowType +// VectorType #define DRAW_POST_SEGMENT 1 #define DRAW_POST_ARROW 2 #define DRAW_POST_PYRAMID 3 @@ -121,7 +121,7 @@ class Post_View{ #define DRAW_POST_LOCATE_COG 1 #define DRAW_POST_LOCATE_VERTEX 2 -// Tensor Type +// TensorType #define DRAW_POST_VONMISES 0 #define DRAW_POST_EIGENVECTORS 1 diff --git a/Fltk/Callbacks.cpp b/Fltk/Callbacks.cpp index 71c17abe784428ad3ebd0b47adb8b023582c7d66..7caf19b130c081fc8d929dbeebb4f4037c5c90eb 100644 --- a/Fltk/Callbacks.cpp +++ b/Fltk/Callbacks.cpp @@ -1,4 +1,4 @@ -// $Id: Callbacks.cpp,v 1.180 2003-06-23 05:34:54 geuzaine Exp $ +// $Id: Callbacks.cpp,v 1.181 2003-06-23 16:52:17 geuzaine Exp $ // // Copyright (C) 1997-2003 C. Geuzaine, J.-F. Remacle // @@ -3031,7 +3031,7 @@ void view_options_ok_cb(CALLBACK_ARGS) val = DRAW_POST_DISPLACEMENT; break; } - opt_view_arrow_type(i, GMSH_SET, val); + opt_view_vector_type(i, GMSH_SET, val); } if(force || WID->view_choice[3]->changed()) { @@ -3150,7 +3150,10 @@ void view_options_ok_cb(CALLBACK_ARGS) opt_view_timestep(i, GMSH_SET, WID->view_value[50]->value()); if(force || WID->view_value[60]->changed()) - opt_view_arrow_scale(i, GMSH_SET, WID->view_value[60]->value()); + opt_view_arrow_size(i, GMSH_SET, WID->view_value[60]->value()); + + if(force || WID->view_value[63]->changed()) + opt_view_displacement_factor(i, GMSH_SET, WID->view_value[63]->value()); if(force || WID->view_value[61]->changed()) opt_view_point_size(i, GMSH_SET, WID->view_value[61]->value()); diff --git a/Fltk/GUI.cpp b/Fltk/GUI.cpp index 8363b14fa990a20ae0a719794898cce89dbd35d4..df4ca12dcfb36620ccb22972c9448ffafed28b07 100644 --- a/Fltk/GUI.cpp +++ b/Fltk/GUI.cpp @@ -1,4 +1,4 @@ -// $Id: GUI.cpp,v 1.242 2003-06-23 05:34:54 geuzaine Exp $ +// $Id: GUI.cpp,v 1.243 2003-06-23 16:52:17 geuzaine Exp $ // // Copyright (C) 1997-2003 C. Geuzaine, J.-F. Remacle // @@ -1552,29 +1552,29 @@ void GUI::create_option_window() { Fl_Group *o = new Fl_Group(WB, WB + BH, width - 2 * WB, height - 2 * WB - BH, "Aspect"); o->hide(); - geo_value[3] = new Fl_Value_Input(2 * WB, 2 * WB + 1 * BH, IW, BH, "Point size"); + geo_choice[0] = new Fl_Choice(2 * WB, 2 * WB + 1 * BH, IW, BH, "Point display"); + geo_choice[0]->menu(menu_point_display); + geo_choice[0]->align(FL_ALIGN_RIGHT); + + geo_value[3] = new Fl_Value_Input(2 * WB, 2 * WB + 2 * BH, IW, BH, "Point size"); geo_value[3]->minimum(0.1); geo_value[3]->maximum(50); geo_value[3]->step(0.1); - geo_value[5] = new Fl_Value_Input(2 * WB, 2 * WB + 2 * BH, IW, BH, "Highlighted point size"); + geo_value[5] = new Fl_Value_Input(2 * WB, 2 * WB + 3 * BH, IW, BH, "Highlighted point size"); geo_value[5]->minimum(0.1); geo_value[5]->maximum(50); geo_value[5]->step(0.1); - geo_choice[0] = new Fl_Choice(2 * WB, 2 * WB + 3 * BH, IW, BH, "Point display"); - geo_choice[0]->menu(menu_point_display); - geo_choice[0]->align(FL_ALIGN_RIGHT); + geo_choice[1] = new Fl_Choice(2 * WB, 2 * WB + 4 * BH, IW, BH, "Line display"); + geo_choice[1]->menu(menu_line_display); + geo_choice[1]->align(FL_ALIGN_RIGHT); - geo_value[4] = new Fl_Value_Input(2 * WB, 2 * WB + 4 * BH, IW, BH, "Line width"); + geo_value[4] = new Fl_Value_Input(2 * WB, 2 * WB + 5 * BH, IW, BH, "Line width"); geo_value[4]->minimum(0.1); geo_value[4]->maximum(50); geo_value[4]->step(0.1); - geo_choice[1] = new Fl_Choice(2 * WB, 2 * WB + 5 * BH, IW, BH, "Line display"); - geo_choice[1]->menu(menu_line_display); - geo_choice[1]->align(FL_ALIGN_RIGHT); - for(i = 3; i <= 5; i++) { geo_value[i]->align(FL_ALIGN_RIGHT); } @@ -1730,11 +1730,11 @@ void GUI::create_option_window() mesh_value[9]->minimum(0); mesh_value[9]->maximum(1); mesh_value[9]->step(0.01); - mesh_value[10] = new Fl_Value_Input(2 * WB, 2 * WB + 5 * BH, IW, BH, "Point size"); + mesh_value[10] = new Fl_Value_Input(2 * WB, 2 * WB + 6 * BH, IW, BH, "Point size"); mesh_value[10]->minimum(0.1); mesh_value[10]->maximum(50); mesh_value[10]->step(0.1); - mesh_value[11] = new Fl_Value_Input(2 * WB, 2 * WB + 7 * BH, IW, BH, "Line width"); + mesh_value[11] = new Fl_Value_Input(2 * WB, 2 * WB + 8 * BH, IW, BH, "Line width"); mesh_value[11]->minimum(0.1); mesh_value[11]->maximum(50); mesh_value[11]->step(0.1); @@ -1742,11 +1742,11 @@ void GUI::create_option_window() mesh_value[i]->align(FL_ALIGN_RIGHT); } - mesh_choice[0] = new Fl_Choice(2 * WB, 2 * WB + 6 * BH, IW, BH, "Point display"); + mesh_choice[0] = new Fl_Choice(2 * WB, 2 * WB + 5 * BH, IW, BH, "Point display"); mesh_choice[0]->menu(menu_point_display); mesh_choice[0]->align(FL_ALIGN_RIGHT); - mesh_choice[1] = new Fl_Choice(2 * WB, 2 * WB + 8 * BH, IW, BH, "Line display"); + mesh_choice[1] = new Fl_Choice(2 * WB, 2 * WB + 7 * BH, IW, BH, "Line display"); mesh_choice[1]->menu(menu_line_display); mesh_choice[1]->align(FL_ALIGN_RIGHT); @@ -2080,37 +2080,32 @@ void GUI::create_option_window() Fl_Group *o = new Fl_Group(WB, WB + BH, width - 2 * WB, height - 2 * WB - BH, "Aspect"); o->hide(); - view_value[61] = new Fl_Value_Input(2 * WB, 2 * WB + 1 * BH, IW, BH, "Point size"); + view_choice[5] = new Fl_Choice(2 * WB, 2 * WB + 1 * BH, IW, BH, "Point display"); + view_choice[5]->menu(menu_point_display); + view_choice[5]->align(FL_ALIGN_RIGHT); + view_choice[5]->callback(set_changed_cb, 0); + + view_value[61] = new Fl_Value_Input(2 * WB, 2 * WB + 2 * BH, IW, BH, "Point size"); view_value[61]->minimum(0.1); view_value[61]->maximum(50); view_value[61]->step(0.1); view_value[61]->align(FL_ALIGN_RIGHT); view_value[61]->callback(set_changed_cb, 0); - view_choice[5] = new Fl_Choice(2 * WB, 2 * WB + 2 * BH, IW, BH, "Point display"); - view_choice[5]->menu(menu_point_display); - view_choice[5]->align(FL_ALIGN_RIGHT); - view_choice[5]->callback(set_changed_cb, 0); + view_choice[6] = new Fl_Choice(2 * WB, 2 * WB + 3 * BH, IW, BH, "Line display"); + view_choice[6]->menu(menu_line_display); + view_choice[6]->align(FL_ALIGN_RIGHT); + view_choice[6]->callback(set_changed_cb, 0); - view_value[62] = new Fl_Value_Input(2 * WB, 2 * WB + 3 * BH, IW, BH, "Line width"); + view_value[62] = new Fl_Value_Input(2 * WB, 2 * WB + 4 * BH, IW, BH, "Line width"); view_value[62]->minimum(0.1); view_value[62]->maximum(50); view_value[62]->step(0.1); view_value[62]->align(FL_ALIGN_RIGHT); view_value[62]->callback(set_changed_cb, 0); - view_choice[6] = new Fl_Choice(2 * WB, 2 * WB + 4 * BH, IW, BH, "Line display"); - view_choice[6]->menu(menu_line_display); - view_choice[6]->align(FL_ALIGN_RIGHT); - view_choice[6]->callback(set_changed_cb, 0); - { - view_vector = new Fl_Group(2 * WB, 2 * WB + 4 * BH, width / 2, 5 * BH, 0); - - view_value[60] = new Fl_Value_Input(2 * WB, 2 * WB + 5 * BH, IW, BH, "Vector size"); - view_value[60]->minimum(0); - view_value[60]->align(FL_ALIGN_RIGHT); - view_value[60]->callback(set_changed_cb, 0); + view_vector = new Fl_Group(2 * WB, 2 * WB + 4 * BH, width / 2, 6 * BH, 0); static Fl_Menu_Item menu_vectype[] = { {"Line", 0, 0, 0}, @@ -2120,27 +2115,38 @@ void GUI::create_option_window() {"Displacement", 0, 0, 0}, {0} }; - view_choice[2] = new Fl_Choice(2 * WB, 2 * WB + 6 * BH, IW, BH, "Vector display"); + view_choice[2] = new Fl_Choice(2 * WB, 2 * WB + 5 * BH, IW, BH, "Vector display"); view_choice[2]->menu(menu_vectype); view_choice[2]->align(FL_ALIGN_RIGHT); view_choice[2]->callback(set_changed_cb, 0); + view_value[60] = new Fl_Value_Input(2 * WB, 2 * WB + 6 * BH, IW, BH, "Arrow size"); + view_value[60]->minimum(0); + view_value[60]->maximum(1000); + view_value[60]->step(1); + view_value[60]->align(FL_ALIGN_RIGHT); + view_value[60]->callback(set_changed_cb, 0); + static Fl_Menu_Item menu_vecloc[] = { {"Cell centered", 0, 0, 0}, {"Vertex centered", 0, 0, 0}, {0} }; - view_choice[3] = new Fl_Choice(2 * WB, 2 * WB + 7 * BH, IW, BH, "Vector location"); + view_choice[3] = new Fl_Choice(2 * WB, 2 * WB + 7 * BH, IW, BH, "Arrow location"); view_choice[3]->menu(menu_vecloc); view_choice[3]->align(FL_ALIGN_RIGHT); view_choice[3]->callback(set_changed_cb, 0); + view_value[63] = new Fl_Value_Input(2 * WB, 2 * WB + 8 * BH, IW, BH, "Displacement factor"); + view_value[63]->align(FL_ALIGN_RIGHT); + view_value[63]->callback(set_changed_cb, 0); + static Fl_Menu_Item menu_tensor[] = { {"Von-Mises", 0, 0, 0}, //{"Eigenvectors", 0, 0, 0}, //not implemented yet {0} }; - view_choice[4] = new Fl_Choice(2 * WB, 2 * WB + 8 * BH, IW, BH, "Tensor display"); + view_choice[4] = new Fl_Choice(2 * WB, 2 * WB + 9 * BH, IW, BH, "Tensor display"); view_choice[4]->menu(menu_tensor); view_choice[4]->align(FL_ALIGN_RIGHT); view_choice[4]->callback(set_changed_cb, 0); @@ -2295,8 +2301,9 @@ void GUI::update_view_window(int num) opt_view_point_type(num, GMSH_GUI, 0); opt_view_line_width(num, GMSH_GUI, 0); opt_view_line_type(num, GMSH_GUI, 0); - opt_view_arrow_type(num, GMSH_GUI, 0); - opt_view_arrow_scale(num, GMSH_GUI, 0); + opt_view_vector_type(num, GMSH_GUI, 0); + opt_view_arrow_size(num, GMSH_GUI, 0); + opt_view_displacement_factor(num, GMSH_GUI, 0); opt_view_arrow_location(num, GMSH_GUI, 0); opt_view_tensor_type(num, GMSH_GUI, 0); diff --git a/Graphics/Post.cpp b/Graphics/Post.cpp index b2716c793e328309a3db9b222cceff8184a7d01f..82a9147c9bed8e100d47555f8fa6c12f36ad5482 100644 --- a/Graphics/Post.cpp +++ b/Graphics/Post.cpp @@ -1,4 +1,4 @@ -// $Id: Post.cpp,v 1.47 2003-03-21 00:52:39 geuzaine Exp $ +// $Id: Post.cpp,v 1.48 2003-06-23 16:52:17 geuzaine Exp $ // // Copyright (C) 1997-2003 C. Geuzaine, J.-F. Remacle // @@ -608,7 +608,7 @@ void Draw_Post(void) v->Changed = 0; - if(v->ShowElement || v->ArrowType == DRAW_POST_DISPLACEMENT) + if(v->ShowElement || v->VectorType == DRAW_POST_DISPLACEMENT) glDisable(GL_POLYGON_OFFSET_FILL); } diff --git a/Graphics/PostElement.cpp b/Graphics/PostElement.cpp index ece178b253231e03a55228bc8aa0a5ef90258b75..b3ea9d13b966a630c1f32d66c84b938c7d0d9603 100644 --- a/Graphics/PostElement.cpp +++ b/Graphics/PostElement.cpp @@ -1,4 +1,4 @@ -// $Id: PostElement.cpp,v 1.16 2003-05-14 14:23:10 geuzaine Exp $ +// $Id: PostElement.cpp,v 1.17 2003-06-23 16:52:17 geuzaine Exp $ // // Copyright (C) 1997-2003 C. Geuzaine, J.-F. Remacle // @@ -808,9 +808,9 @@ void Draw_VectorElement(int type, Post_View * View, RaiseFill(k, d[k], ValMin, Raise); } - if(View->ArrowType == DRAW_POST_DISPLACEMENT) { + if(View->VectorType == DRAW_POST_DISPLACEMENT) { - fact = View->ArrowScale / 50.; + fact = View->DisplacementFactor; for(k = 0; k < nbnod; k++) { xx[k] = X[k] + fact * Val[k][0] + Raise[0][k]; yy[k] = Y[k] + fact * Val[k][1] + Raise[1][k]; @@ -918,7 +918,7 @@ void Draw_VectorElement(int type, Post_View * View, Draw_String(Num); } else { - fact = CTX.pixel_equiv_x / CTX.s[0] * View->ArrowScale / ValMax; + fact = CTX.pixel_equiv_x / CTX.s[0] * View->ArrowSize / ValMax; if(View->ScaleType == DRAW_POST_LOGARITHMIC && ValMin > 0) { dx /= dd; dy /= dd; @@ -929,7 +929,7 @@ void Draw_VectorElement(int type, Post_View * View, dz *= dd; } RaiseFill(0, dd, ValMin, Raise); - Draw_Vector(View->ArrowType, View->IntervalsType != DRAW_POST_ISO, + Draw_Vector(View->VectorType, View->IntervalsType != DRAW_POST_ISO, xc, yc, zc, fact * dd, fact * dx, fact * dy, fact * dz, Raise); } @@ -940,7 +940,7 @@ void Draw_VectorElement(int type, Post_View * View, if(d[k] != 0.0 && d[k] >= ValMin && d[k] <= ValMax) { Palette1(View, View->NbIso, View->GIFV(ValMin, ValMax, View->NbIso, d[k])); - fact = CTX.pixel_equiv_x / CTX.s[0] * View->ArrowScale / ValMax; + fact = CTX.pixel_equiv_x / CTX.s[0] * View->ArrowSize / ValMax; if(View->ScaleType == DRAW_POST_LOGARITHMIC && ValMin > 0) { Val[k][0] /= d[k]; Val[k][1] /= d[k]; @@ -951,7 +951,7 @@ void Draw_VectorElement(int type, Post_View * View, Val[k][2] *= d[k]; } RaiseFill(0, d[k], ValMin, Raise); - Draw_Vector(View->ArrowType, View->IntervalsType != DRAW_POST_ISO, + Draw_Vector(View->VectorType, View->IntervalsType != DRAW_POST_ISO, X[k], Y[k], Z[k], fact * d[k], fact * Val[k][0], fact * Val[k][1], fact * Val[k][2], Raise); diff --git a/Makefile b/Makefile index 1389684e4d2df9c25a7023433e006b63980a134d..a0998ab07ba79b085408d8e333fd62c29d8b881b 100644 --- a/Makefile +++ b/Makefile @@ -1,4 +1,4 @@ -# $Id: Makefile,v 1.291 2003-06-13 16:53:07 geuzaine Exp $ +# $Id: Makefile,v 1.292 2003-06-23 16:52:17 geuzaine Exp $ # # Copyright (C) 1997-2003 C. Geuzaine, J.-F. Remacle # @@ -22,7 +22,7 @@ include variables GMSH_MAJOR_VERSION = 1 -GMSH_MINOR_VERSION = 45 +GMSH_MINOR_VERSION = 46 GMSH_PATCH_VERSION = 0 GMSH_VERSION_FILE = Common/GmshVersion.h diff --git a/doc/VERSIONS b/doc/VERSIONS index f74ab3649abc8b7748c3447d3364f256ca3b6889..320db172393e23abd0e0e7da0d29b43c1c0380a0 100644 --- a/doc/VERSIONS +++ b/doc/VERSIONS @@ -1,6 +1,7 @@ -$Id: VERSIONS,v 1.150 2003-06-17 19:27:30 geuzaine Exp $ +$Id: VERSIONS,v 1.151 2003-06-23 16:52:17 geuzaine Exp $ -New in 1.46: small bug fixes (crash for very long command lines); +New in 1.46: small bug fixes (crash for very long command lines); new +options for setting the displacement factor and Triangle's parameters; New in 1.45: small bug fixes (min/max computation for tensor views, missing physical points in read mesh, "jumping" geometry during diff --git a/doc/gmsh.html b/doc/gmsh.html index c3e71208be4115f73ceca27be3c3400515334e8f..4570d4f1f842d558348e696991a5253857304ab0 100644 --- a/doc/gmsh.html +++ b/doc/gmsh.html @@ -26,7 +26,7 @@ generator with built-in pre- and post-processing facilities</h1> <p> <h3 align="center">Christophe Geuzaine and Jean-Fran�ois Remacle</h3> <p> -<h3 align=center>Version <a href="doc/VERSIONS">1.45</a>, 14 June 2003</h3> +<h3 align=center>Version <a href="doc/VERSIONS">1.46</a>, 14 June 2003</h3> <p> <center> <a href="#Description">Description</a> | @@ -123,11 +123,11 @@ available for Windows, Linux and Mac OS X. The tutorial and demo files are included in the archives. <ul> -<li><a href="/gmsh/bin/Windows/gmsh-1.45.0-Windows.zip">Windows zip archive (95/98/NT/2000/XP)</a> -<li><a href="/gmsh/bin/Linux/gmsh-1.45.0-1.i386.rpm">Linux RPM (i386, Red Hat >= 6.2 and compatible)</a> -<li><a href="/gmsh/bin/Linux/gmsh-1.45.0-Linux.tgz">Linux tarball (i386, glibc 2.1)</a> -<li><a href="/gmsh/bin/MacOSX/gmsh-1.45.0-MacOSX.tgz">Mac OS X tarball (Mac OS X 10.2)</a> -<li><a href="/gmsh/src/gmsh-1.45.0-source.tgz">Source tarball (all platforms)</a> +<li><a href="/gmsh/bin/Windows/gmsh-1.46.0-Windows.zip">Windows zip archive (95/98/NT/2000/XP)</a> +<li><a href="/gmsh/bin/Linux/gmsh-1.46.0-1.i386.rpm">Linux RPM (i386, Red Hat >= 6.2 and compatible)</a> +<li><a href="/gmsh/bin/Linux/gmsh-1.46.0-Linux.tgz">Linux tarball (i386, glibc 2.1)</a> +<li><a href="/gmsh/bin/MacOSX/gmsh-1.46.0-MacOSX.tgz">Mac OS X tarball (Mac OS X 10.2)</a> +<li><a href="/gmsh/src/gmsh-1.46.0-source.tgz">Source tarball (all platforms)</a> <a href="#build-footnote" name="build-footmark"><sup>2</sup></a> </ul> diff --git a/doc/texinfo/gmsh.texi b/doc/texinfo/gmsh.texi index 823bc692f9d4ad0307ce75ef4eb44c309e85b266..1dad99adedd13d1edb3287de1bf6929c3dc6fa4a 100644 --- a/doc/texinfo/gmsh.texi +++ b/doc/texinfo/gmsh.texi @@ -1,5 +1,5 @@ \input texinfo.tex @c -*-texinfo-*- -@c $Id: gmsh.texi,v 1.64 2003-06-17 00:34:46 geuzaine Exp $ +@c $Id: gmsh.texi,v 1.65 2003-06-23 16:52:17 geuzaine Exp $ @c @c Copyright (C) 1997-2003 C. Geuzaine, J.-F. Remacle @c @@ -46,8 +46,8 @@ @c ========================================================================= @c %**start of header @setfilename gmsh.info -@set EDITION 1.9 -@set GMSH-VERSION 1.45 +@set EDITION 1.10 +@set GMSH-VERSION 1.46 @set GMSH-WEB @uref{http://www.geuz.org/gmsh/} @set COPYRIGHT @copyright{} 1997-2003 Christophe Geuzaine, Jean-Fran@,{c}ois Remacle @c diff --git a/doc/texinfo/opt_mesh.texi b/doc/texinfo/opt_mesh.texi index e068bcc5a05e08fd53402147d75fb81e0f5da3b4..558e265a8d08cac6b150ac682439ab0b855556a1 100644 --- a/doc/texinfo/opt_mesh.texi +++ b/doc/texinfo/opt_mesh.texi @@ -1,4 +1,9 @@ @ftable @code +@item Mesh.TriangleOptions +Options for Jonathan Shewchuk's Triangle isotropic algorithm@* +Default value: @code{"praqzBPY"}@* +Saved in: @code{General.OptionsFileName} + @item Mesh.Algorithm 2D mesh algorithm (1=isotropic, 2=anisotropic, 3=triangle)@* Default value: @code{1}@* diff --git a/doc/texinfo/opt_solver.texi b/doc/texinfo/opt_solver.texi index 4744462fe15c7804c26509dc58e2ceba568c4d58..fc70ab3d68fed26514bf2c03cbffff445d3759d2 100644 --- a/doc/texinfo/opt_solver.texi +++ b/doc/texinfo/opt_solver.texi @@ -6,8 +6,10 @@ Saved in: @code{General.OptionsFileName} @item Solver.Help0 Help string for solver 0@* -Default value: @code{"A General environment for the treatment of Discrete -Problems. Copyright (c) 1997-2003 Patrick Dular and Christophe Geuzaine. +Default value: @code{"A General environment for the treatment of +Discrete Problems. +Copyright (c) 1997-2003 +Patrick Dular and Christophe Geuzaine. Visit http://www.geuz.org/getdp/ for more info"}@* Saved in: @code{General.OptionsFileName} diff --git a/doc/texinfo/opt_view.texi b/doc/texinfo/opt_view.texi index e118c1fee78960cd0e9ae221415473a162717966..3e346915dd3e2a5f13f7e759d660a9bc1b2d1eaf 100644 --- a/doc/texinfo/opt_view.texi +++ b/doc/texinfo/opt_view.texi @@ -34,16 +34,11 @@ Arrow location (1=cog, 2=vertex)@* Default value: @code{1}@* Saved in: @code{General.OptionsFileName} -@item View.ArrowScale -Size of vectors (arrow size in pixels or displacement factor)@* +@item View.ArrowSize +Size of vectors arrows (in pixels)@* Default value: @code{50}@* Saved in: @code{General.OptionsFileName} -@item View.ArrowType -Vector display type (1=segment, 2=arrow, 3=pyramid, 4=cone, 5=displacement)@* -Default value: @code{2}@* -Saved in: @code{General.OptionsFileName} - @item View.AutoPosition Position the scale or the 2D graph automatically to avoid overlaps@* Default value: @code{1}@* @@ -64,6 +59,11 @@ User-defined minimum value to be displayed@* Default value: @code{0}@* Saved in: @code{-} +@item View.DisplacementFactor +Displacement amplification@* +Default value: @code{1}@* +Saved in: @code{General.OptionsFileName} + @item View.DrawHexahedra Display post-processing hexahedra?@* Default value: @code{1}@* @@ -289,6 +289,11 @@ Type of graph (1=3D, 2=2D-space, 3=2D-time)@* Default value: @code{1}@* Saved in: @code{General.OptionsFileName} +@item View.VectorType +Vector display type (1=segment, 2=arrow, 3=pyramid, 4=cone, 5=displacement)@* +Default value: @code{2}@* +Saved in: @code{General.OptionsFileName} + @item View.Visible Is the view visible?@* Default value: @code{1}@*