diff --git a/Plugin/CutMap.cpp b/Plugin/CutMap.cpp index c56dfa16276e0b40356d8c2cbe55f6600bf0b991..4929c8f9cc543df8c5657fcad936dabbd765e951 100644 --- a/Plugin/CutMap.cpp +++ b/Plugin/CutMap.cpp @@ -1,5 +1,5 @@ #include "CutMap.h" -#include "List.h" + #include "List.h" double opt_cut_map_A(OPT_ARGS_NUM) { return 0; @@ -38,7 +38,7 @@ void GMSH_CutMapPlugin::getInfos(char *author, char *copyright, char *help_text) int GMSH_CutMapPlugin::getNbOptions() const { - return 2; + return 5; } StringXNumber *GMSH_CutMapPlugin:: GetOption (int iopt) @@ -59,7 +59,7 @@ double GMSH_CutMapPlugin :: levelset (double x, double y, double z, double val) return A - val; } -extern List_T *Post_ViewList; + extern List_T *Post_ViewList; Post_View *GMSH_CutMapPlugin::execute (Post_View *v) { diff --git a/Plugin/CutPlane.cpp b/Plugin/CutPlane.cpp index 34c49bcba078678dd932e915284b670ea73ae82a..86ed156672bbe4604306a201ce29fe96fda40916 100644 --- a/Plugin/CutPlane.cpp +++ b/Plugin/CutPlane.cpp @@ -1,4 +1,5 @@ #include "CutPlane.h" + #include "List.h" /* Plugin Entry : GMSH_RegisterPlugin @@ -15,7 +16,8 @@ StringXNumber CutPlaneOptions_Number[] = { { GMSH_FULLRC, "A" , opt_cut_plane_A , 1. }, { GMSH_FULLRC, "B" , opt_cut_plane_A , 1. }, { GMSH_FULLRC, "C" , opt_cut_plane_A , 1. }, - { GMSH_FULLRC, "D" , opt_cut_plane_A , 1. } + { GMSH_FULLRC, "D" , opt_cut_plane_A , 1. }, + { GMSH_FULLRC, "iView" , opt_cut_plane_A , 1. } }; extern "C" @@ -64,6 +66,27 @@ double GMSH_CutPlanePlugin :: levelset (double x, double y, double z, double val return a * x + b * y + c * z + d; } +extern List_T *Post_ViewList; +Post_View *GMSH_CutPlanePlugin::execute (Post_View *v) +{ + + a = CutPlaneOptions_Number[0].def; + b = CutPlaneOptions_Number[1].def; + c = CutPlaneOptions_Number[2].def; + d = CutPlaneOptions_Number[3].def; + int iView = (int)CutPlaneOptions_Number[4].def; + + if(v)return GMSH_LevelsetPlugin::execute(v); + else + { + if(List_Nbr(Post_ViewList) < iView) + { + Msg(WARNING,"Plugin CutPlane, view %d not loaded\n",iView); + return 0; + } + return GMSH_LevelsetPlugin::execute((Post_View*)List_Pointer_Test(Post_ViewList,iView)); + } +} diff --git a/Plugin/CutPlane.h b/Plugin/CutPlane.h index 814afb21614d57a6dd93fff63fbd13c47abea2f8..4a5d90910e6ffd20a267c7b887a04104812f31ea 100644 --- a/Plugin/CutPlane.h +++ b/Plugin/CutPlane.h @@ -21,5 +21,6 @@ public: virtual void CatchErrorMessage (char *errorMessage) const; virtual int getNbOptions() const; virtual StringXNumber *GetOption (int iopt); + virtual Post_View *execute (Post_View *); }; #endif