]> Creatis software - creaMaracasVisu.git/blob - bbtk/src/bbmaracasvisuViewerNV.h
.
[creaMaracasVisu.git] / bbtk / src / bbmaracasvisuViewerNV.h
1 #ifdef _USE_WXWIDGETS_
2 #ifndef __bbcreaMaracasVisuViewerNV_h_INCLUDED__
3 #define __bbcreaMaracasVisuViewerNV_h_INCLUDED__
4 #include "bbtkWxBlackBox.h"
5
6
7 #include "vtkImageData.h"
8 #include "vtkRenderer.h"
9
10 #include "wxVtkBaseView.h"
11 #include "widgets/wxMPRWidget.h"
12 #include "widgets/wxMaracas_ViewerWidget.h"
13 #include "widgets/wxMaracas_N_ViewersWidget.h"
14
15 namespace bbcreaMaracasVisu
16 {
17
18
19
20   class ViewerNV;
21   class bbwxMaracas_N_ViewersWidget : public wxMaracas_N_ViewersWidget
22   {
23         public:
24                 bbwxMaracas_N_ViewersWidget(ViewerNV* box,wxWindow *parent, vtkImageData* imagedata=NULL, std::vector<int> *nTypeView=NULL);
25                 ~bbwxMaracas_N_ViewersWidget();
26             
27                 //if the MPR had generated the refresh event
28                 void OnRefreshView(wxCommandEvent & event);
29                 void OnDClickLeft(wxCommandEvent & event);              
30         private:
31                 ViewerNV                        *mbbViewerNV;
32         DECLARE_EVENT_TABLE( );     
33   };
34
35
36 //-------------------------------------------------------------------
37 //-------------------------------------------------------------------
38 //-------------------------------------------------------------------
39
40
41 class /*BBTK_EXPORT*/ ViewerNV
42  : 
43    public bbtk::WxBlackBox
44 {
45   BBTK_BLACK_BOX_INTERFACE(ViewerNV,bbtk::WxBlackBox);
46   BBTK_DECLARE_INPUT(Title,std::string);
47       BBTK_DECLARE_INPUT(In, vtkImageData *);
48           BBTK_DECLARE_INPUT(nTypeView, std::vector<int> );
49       BBTK_DECLARE_OUTPUT(wxVtkBaseView1,wxVtkBaseView*);
50       BBTK_DECLARE_OUTPUT(wxVtkBaseView2,wxVtkBaseView*);
51       BBTK_DECLARE_OUTPUT(wxVtkBaseView3,wxVtkBaseView*);
52       BBTK_DECLARE_OUTPUT(wxVtkBaseView4,wxVtkBaseView*);
53       BBTK_DECLARE_OUTPUT(Renderer1,vtkRenderer*);
54       BBTK_DECLARE_OUTPUT(Renderer2,vtkRenderer*);
55       BBTK_DECLARE_OUTPUT(Renderer3,vtkRenderer*);
56       BBTK_DECLARE_OUTPUT(Renderer4,vtkRenderer*);
57       BBTK_DECLARE_OUTPUT(Point,std::vector<int>);
58   BBTK_PROCESS(Process);
59   void Process();
60   BBTK_CREATE_WIDGET(CreateWidget);
61   void CreateWidget(wxWindow* parent);
62
63    std::vector<int>                     point;
64 private:        
65         bool    enter;
66         
67         vtkImageData* currentimg;
68         std::vector<int>  currenttype;
69         wxMaracas_N_ViewersWidget       *mwxwidget;
70
71         bool compareVectors(std::vector<int> type,std::vector<int> currenttype);
72 };
73
74 BBTK_BEGIN_DESCRIBE_BLACK_BOX(ViewerNV,bbtk::WxBlackBox);
75 BBTK_NAME("ViewerNV");
76 BBTK_AUTHOR("eduardo.davila [at] creatis.insa-lyon.fr");
77 BBTK_DESCRIPTION("Viewer : N view configuration 2D and 3D");
78   BBTK_CATEGORY("viewer");
79   BBTK_INPUT(ViewerNV,Title,"Title prepended to the text",std::string,"");
80         BBTK_INPUT(ViewerNV,In,"Input image",vtkImageData*,"");
81         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",std::vector<int>,"");
82         BBTK_OUTPUT(ViewerNV,wxVtkBaseView1,"wxVtkBaseView 1",wxVtkBaseView  *,"");
83         BBTK_OUTPUT(ViewerNV,wxVtkBaseView2,"wxVtkBaseView 2",wxVtkBaseView  *,"");
84         BBTK_OUTPUT(ViewerNV,wxVtkBaseView3,"wxVtkBaseView 3",wxVtkBaseView  *,"");
85         BBTK_OUTPUT(ViewerNV,wxVtkBaseView4,"wxVtkBaseView 4",wxVtkBaseView  *,"");
86         BBTK_OUTPUT(ViewerNV,Renderer1,"Renderer 1",vtkRenderer *,"");
87         BBTK_OUTPUT(ViewerNV,Renderer2,"Renderer 2",vtkRenderer *,"");
88         BBTK_OUTPUT(ViewerNV,Renderer3,"Renderer 3",vtkRenderer *,"");
89         BBTK_OUTPUT(ViewerNV,Renderer4,"Renderer 4",vtkRenderer *,"");
90         BBTK_OUTPUT(ViewerNV,Point,"Axis point",std::vector<int>,"");
91 BBTK_END_DESCRIBE_BLACK_BOX(ViewerNV);
92 }
93 // EO namespace bbcreaMaracasVisu
94
95 #endif // __bbcreaMaracasVisuViewerNV_h_INCLUDED__
96 #endif // _USE_WXWIDGETS_
97