X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=bbtk%2Fsrc%2FbbmaracasvisuShowNPoints.h;h=cfeee438b6ccb5a8ab7d1dcbb35ac57c6f8f7411;hb=dea0efc567d8332b2e7eb936e3ba4ac1c11b2542;hp=2aeacdf18da50b061a842388a020598d9f831c0e;hpb=738e5bef4c52a1f25013e598a008a81f20fc6f63;p=creaMaracasVisu.git diff --git a/bbtk/src/bbmaracasvisuShowNPoints.h b/bbtk/src/bbmaracasvisuShowNPoints.h index 2aeacdf..cfeee43 100644 --- a/bbtk/src/bbmaracasvisuShowNPoints.h +++ b/bbtk/src/bbmaracasvisuShowNPoints.h @@ -1,50 +1,61 @@ +/*# --------------------------------------------------------------------- +# +# Copyright (c) CREATIS (Centre de Recherche en Acquisition et Traitement de l'Image +# pour la Sant�) +# Authors : Eduardo Davila, Frederic Cervenansky, Claire Mouton +# Previous Authors : Laurent Guigues, Jean-Pierre Roux +# CreaTools website : www.creatis.insa-lyon.fr/site/fr/creatools_accueil +# +# This software is governed by the CeCILL-B license under French law and +# abiding by the rules of distribution of free software. You can use, +# modify and/ or redistribute the software under the terms of the CeCILL-B +# license as circulated by CEA, CNRS and INRIA at the following URL +# http://www.cecill.info/licences/Licence_CeCILL-B_V1-en.html +# or in the file LICENSE.txt. +# +# As a counterpart to the access to the source code and rights to copy, +# modify and redistribute granted by the license, users are provided only +# with a limited warranty and the software's author, the holder of the +# economic rights, and the successive licensors have only limited +# liability. +# +# The fact that you are presently reading this means that you have had +# knowledge of the CeCILL-B license and that you accept its terms. +# ------------------------------------------------------------------------ */ + #ifdef _USE_WXWIDGETS_ #ifndef __bbcreaMaracasVisuShowNPoints_h_INCLUDED__ #define __bbcreaMaracasVisuShowNPoints_h_INCLUDED__ #include "bbtkWxBlackBox.h" -#include "vtkActor.h" #include "vtkImageData.h" -#include "vtkRenderer.h" + +#include "WidgetShowNPoints.h" namespace bbcreaMaracasVisu { - class ShowNPoints; - - //-------------------------------------------------------------------------- - class WidgetShowNPoints : public wxPanel - { - public: - WidgetShowNPoints( wxWindow *parent, vtkRenderer *renderer, ShowNPoints *box); - ~WidgetShowNPoints(); - void OnAddPoint(wxCommandEvent &event); - void OnErasePoint(wxCommandEvent &event); - void OnDeleteAllPoints(wxCommandEvent &event); - void SetPoint(std::vector ppoint); - void SetColour(std::vector colour); - void SetOpacity(double opacity); - void SetRadio(double radio); - void SetImage(vtkImageData *image); - std::vector GetLstPointsX(); - std::vector GetLstPointsY(); - std::vector GetLstPointsZ(); - - private: - ShowNPoints *mbbShowNPoints; - vtkRenderer *renderer; - std::vector lstPointsX; - std::vector lstPointsY; - std::vector lstPointsZ; - std::vector lstActors; - - std::vector mpoint; - vtkImageData *mimage; - std::vector mcolour; - double mopacity; - double mradio; - }; + +//-------------------------------------------------------------------------- +//-------------------------------------------------------------------------- +//-------------------------------------------------------------------------- +//-------------------------------------------------------------------------- +//-------------------------------------------------------------------------- + +class ShowNPoints; + +class WidgetShowNPointsBox : public WidgetShowNPoints +{ +public: + WidgetShowNPointsBox( wxWindow *parent, ShowNPoints *box, int type); + ~WidgetShowNPointsBox(); + void UpdatePoints(wxCommandEvent &event); +private: + void SetOutputBox(); + ShowNPoints *mbbShowNPoints; +}; + @@ -59,37 +70,53 @@ class /*BBTK_EXPORT*/ ShowNPoints BBTK_DECLARE_INPUT(Colour, std::vector ); BBTK_DECLARE_INPUT(Opacity, double ); BBTK_DECLARE_INPUT(Radio, double ); + BBTK_DECLARE_INPUT(InitLstPointsX, std::vector ); + BBTK_DECLARE_INPUT(InitLstPointsY, std::vector ); + BBTK_DECLARE_INPUT(InitLstPointsZ, std::vector ); + BBTK_DECLARE_INPUT(InitLstLabels, std::vector ); + BBTK_DECLARE_INPUT(Type, int ); + BBTK_DECLARE_OUTPUT( lstPointsX, std::vector ); BBTK_DECLARE_OUTPUT( lstPointsY, std::vector ); BBTK_DECLARE_OUTPUT( lstPointsZ, std::vector ); + BBTK_DECLARE_OUTPUT( lstLabels, std::vector ); + BBTK_DECLARE_OUTPUT( WidgetShowNPoints, WidgetShowNPoints*); BBTK_PROCESS(Process); void Process(); BBTK_CREATE_WIDGET(CreateWidget); void CreateWidget(wxWindow*); private: - WidgetShowNPoints *mwxwidget; - + WidgetShowNPointsBox *mwxwidget; }; BBTK_BEGIN_DESCRIBE_BLACK_BOX(ShowNPoints,bbtk::WxBlackBox); -BBTK_NAME("ShowNPoints"); -BBTK_AUTHOR("Eduardo DAVILA"); -BBTK_DESCRIPTION("widget that shows N moints in 3D (vtkActors)"); -BBTK_CATEGORY("widgetVtk"); -BBTK_INPUT(ShowNPoints,In,"One Point",std::vector,""); -BBTK_INPUT(ShowNPoints,Renderer,"Renderer",vtkRenderer*,""); -BBTK_INPUT(ShowNPoints,Image,"vktkImageData",vtkImageData*,""); -BBTK_INPUT(ShowNPoints,Colour,"Colour of the actor",std::vector,"colour"); -BBTK_INPUT(ShowNPoints,Opacity,"Opacity of the actor",double,""); -BBTK_INPUT(ShowNPoints,Radio,"Radio of the spheres",double,""); -BBTK_OUTPUT(ShowNPoints , lstPointsX , " list of points X ", std::vector ,""); -BBTK_OUTPUT(ShowNPoints , lstPointsY , " list of points Y ", std::vector ,""); -BBTK_OUTPUT(ShowNPoints , lstPointsZ , " list of points Z ", std::vector ,""); + BBTK_NAME("ShowNPoints"); + BBTK_AUTHOR("Eduardo DAVILA"); + BBTK_DESCRIPTION("widget that shows N moints in 3D (vtkActors)"); + BBTK_CATEGORY("widgetVtk"); + + BBTK_INPUT(ShowNPoints,In,"One Point",std::vector,""); + BBTK_INPUT(ShowNPoints,Renderer,"Renderer",vtkRenderer*,""); + BBTK_INPUT(ShowNPoints,Image,"vktkImageData",vtkImageData*,""); + BBTK_INPUT(ShowNPoints,Colour,"Colour of the actor",std::vector,"colour"); + BBTK_INPUT(ShowNPoints,Opacity,"Opacity of the actor 0..1 (default 1)",double,""); + BBTK_INPUT(ShowNPoints,Radio,"Radio of the spheres 1..50 (default 10)",double,""); + BBTK_INPUT(ShowNPoints,InitLstPointsX,"Initial lst of points X",std::vector,""); + BBTK_INPUT(ShowNPoints,InitLstPointsY,"Initial lst of points Y",std::vector,""); + BBTK_INPUT(ShowNPoints,InitLstPointsZ,"Initial lst of points Z",std::vector,""); + BBTK_INPUT(ShowNPoints,InitLstLabels,"Initial lst of labels",std::vector,""); + BBTK_INPUT(ShowNPoints,Type,"Type of the widget. 0(default): N-points, 1:Just one point, 2:Add/DeleteAll points, 3:As 0 with out save/load option",int,""); + + BBTK_OUTPUT(ShowNPoints , lstPointsX , " list of points X ", std::vector ,""); + BBTK_OUTPUT(ShowNPoints , lstPointsY , " list of points Y ", std::vector ,""); + BBTK_OUTPUT(ShowNPoints , lstPointsZ , " list of points Z ", std::vector ,""); + BBTK_OUTPUT(ShowNPoints , lstLabels , " list of labels ", std::vector ,""); + BBTK_OUTPUT(ShowNPoints , WidgetShowNPoints , " WidgetShowNPoints ", WidgetShowNPoints* ,""); + BBTK_END_DESCRIBE_BLACK_BOX(ShowNPoints); } // EO namespace bbcreaMaracasVisu #endif // __bbcreaMaracasVisuShowNPoints_h_INCLUDED__ #endif // _USE_WXWIDGETS_ -