X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=bbtk%2Fsrc%2FbbmaracasvisuViewerNV.h;h=7217627cbc8e4354e37c65738331f664206a7d02;hb=2a69bae264c4dc43a7189f16b53a66dcd3a774dc;hp=53c0ad59a6e4ff3a92dc41a64b43ed4995749d2e;hpb=800f29fd7e4cc70d8706b3075454e63f0b1a5717;p=creaMaracasVisu.git diff --git a/bbtk/src/bbmaracasvisuViewerNV.h b/bbtk/src/bbmaracasvisuViewerNV.h index 53c0ad5..7217627 100644 --- a/bbtk/src/bbmaracasvisuViewerNV.h +++ b/bbtk/src/bbmaracasvisuViewerNV.h @@ -15,22 +15,45 @@ namespace bbcreaMaracasVisu { + + + class ViewerNV; + class bbwxMaracas_N_ViewersWidget : public wxMaracas_N_ViewersWidget + { + public: + bbwxMaracas_N_ViewersWidget(ViewerNV* box,wxWindow *parent, vtkImageData* imagedata=NULL, std::vector *nTypeView=NULL); + ~bbwxMaracas_N_ViewersWidget(); + + //if the MPR had generated the refresh event + void OnRefreshView(wxCommandEvent & event); + void OnDClickLeft(wxCommandEvent & event); + private: + ViewerNV *mbbViewerNV; + DECLARE_EVENT_TABLE( ); + }; + + +//------------------------------------------------------------------- +//------------------------------------------------------------------- +//------------------------------------------------------------------- + + class /*BBTK_EXPORT*/ ViewerNV : public bbtk::WxBlackBox { BBTK_BLACK_BOX_INTERFACE(ViewerNV,bbtk::WxBlackBox); -//================================================================== -/// User callback called in the box contructor -virtual void bbUserConstructor(); -/// User callback called in the box copy constructor -virtual void bbUserCopyConstructor(); -/// User callback called in the box destructor -virtual void bbUserDestructor(); -//================================================================== BBTK_DECLARE_INPUT(Title,std::string); BBTK_DECLARE_INPUT(In, vtkImageData *); BBTK_DECLARE_INPUT(nTypeView, std::vector ); + BBTK_DECLARE_INPUT(ColorFunction, vtkColorTransferFunction* ); + BBTK_DECLARE_INPUT(WindowLevel, int ); + BBTK_DECLARE_INPUT(ColorLevel, int ); + BBTK_DECLARE_INPUT(Obs1, vtkInteractorObserver *); + BBTK_DECLARE_INPUT(Obs2, vtkInteractorObserver *); + BBTK_DECLARE_INPUT(Obs3, vtkInteractorObserver *); + BBTK_DECLARE_INPUT(Obs4, vtkInteractorObserver *); + BBTK_DECLARE_INPUT(Obs5, vtkInteractorObserver *); BBTK_DECLARE_OUTPUT(wxVtkBaseView1,wxVtkBaseView*); BBTK_DECLARE_OUTPUT(wxVtkBaseView2,wxVtkBaseView*); BBTK_DECLARE_OUTPUT(wxVtkBaseView3,wxVtkBaseView*); @@ -39,15 +62,23 @@ virtual void bbUserDestructor(); BBTK_DECLARE_OUTPUT(Renderer2,vtkRenderer*); BBTK_DECLARE_OUTPUT(Renderer3,vtkRenderer*); BBTK_DECLARE_OUTPUT(Renderer4,vtkRenderer*); + BBTK_DECLARE_OUTPUT(Interactor1,vtkRenderWindowInteractor*); BBTK_DECLARE_OUTPUT(Point,std::vector); BBTK_PROCESS(Process); void Process(); BBTK_CREATE_WIDGET(CreateWidget); - void CreateWidget(); + void CreateWidget(wxWindow* parent); -private: + std::vector point; +private: + bool enter; + + vtkImageData* currentimg; + std::vector currenttype; wxMaracas_N_ViewersWidget *mwxwidget; - std::vector point; + + bool compareVectors(std::vector type,std::vector currenttype); + void updateObservers(); }; BBTK_BEGIN_DESCRIBE_BLACK_BOX(ViewerNV,bbtk::WxBlackBox); @@ -57,7 +88,15 @@ BBTK_DESCRIPTION("Viewer : N view configuration 2D and 3D"); BBTK_CATEGORY("viewer"); BBTK_INPUT(ViewerNV,Title,"Title prepended to the text",std::string,""); BBTK_INPUT(ViewerNV,In,"Input image",vtkImageData*,""); - BBTK_INPUT(ViewerNV,nTypeView,"vector of viewer types (default 5 0 1 3 ): -1=Z_2DwithOutAxis 0=Z_2D 1=X_2D 2=Y_2D 3=Plane 4=Sphere 5=3D ",std::vector,""); + BBTK_INPUT(ViewerNV,nTypeView,"vector of viewer types (default 5 0 1 3 ): -1=Z_2DwithOutAxis 0=Z_2D 1=X_2D 2=Y_2D 3=Plane 4=Sphere 5=3D 6=3Dplane 7=3D_empty",std::vector,""); + BBTK_INPUT(ViewerNV,ColorFunction,"Optional: set a different color for the viewers 2D",vtkColorTransferFunction*,""); + BBTK_INPUT(ViewerNV,WindowLevel,"Optional: set a different Window level by using an other widget",int,""); + BBTK_INPUT(ViewerNV,ColorLevel,"Optional: set a different Color level by using an other widget",int,""); + BBTK_INPUT(ViewerNV,Obs1,"Optional: set a different Color level by using an other widget",vtkInteractorObserver*,""); + BBTK_INPUT(ViewerNV,Obs2,"Optional: set a different Color level by using an other widget",vtkInteractorObserver*,""); + BBTK_INPUT(ViewerNV,Obs3,"Optional: set a different Color level by using an other widget",vtkInteractorObserver*,""); + BBTK_INPUT(ViewerNV,Obs4,"Optional: set a different Color level by using an other widget",vtkInteractorObserver*,""); + BBTK_INPUT(ViewerNV,Obs5,"Optional: set a different Color level by using an other widget",vtkInteractorObserver*,""); BBTK_OUTPUT(ViewerNV,wxVtkBaseView1,"wxVtkBaseView 1",wxVtkBaseView *,""); BBTK_OUTPUT(ViewerNV,wxVtkBaseView2,"wxVtkBaseView 2",wxVtkBaseView *,""); BBTK_OUTPUT(ViewerNV,wxVtkBaseView3,"wxVtkBaseView 3",wxVtkBaseView *,""); @@ -66,6 +105,7 @@ BBTK_DESCRIPTION("Viewer : N view configuration 2D and 3D"); BBTK_OUTPUT(ViewerNV,Renderer2,"Renderer 2",vtkRenderer *,""); BBTK_OUTPUT(ViewerNV,Renderer3,"Renderer 3",vtkRenderer *,""); BBTK_OUTPUT(ViewerNV,Renderer4,"Renderer 4",vtkRenderer *,""); + BBTK_OUTPUT(ViewerNV,Interactor1,"Interactor1",vtkRenderWindowInteractor *,""); BBTK_OUTPUT(ViewerNV,Point,"Axis point",std::vector,""); BBTK_END_DESCRIBE_BLACK_BOX(ViewerNV); }