2 #ifndef __bbcreaMaracasVisuViewerNV_h_INCLUDED__
3 #define __bbcreaMaracasVisuViewerNV_h_INCLUDED__
4 #include "bbtkWxBlackBox.h"
7 #include "vtkImageData.h"
8 #include "vtkRenderer.h"
10 #include "wxVtkBaseView.h"
11 #include "widgets/wxMPRWidget.h"
12 #include "widgets/wxMaracas_ViewerWidget.h"
13 #include "widgets/wxMaracas_N_ViewersWidget.h"
15 namespace bbcreaMaracasVisu
21 class bbwxMaracas_N_ViewersWidget : public wxMaracas_N_ViewersWidget
24 bbwxMaracas_N_ViewersWidget(ViewerNV* box,wxWindow *parent, vtkImageData* imagedata, std::vector<int> *nTypeView);
25 ~bbwxMaracas_N_ViewersWidget();
27 //if the MPR had generated the refresh event
28 void OnRefreshView(wxCommandEvent & event);
29 void OnDClickLeft(wxCommandEvent & event);
31 ViewerNV *mbbViewerNV;
32 DECLARE_EVENT_TABLE( );
36 //-------------------------------------------------------------------
37 //-------------------------------------------------------------------
38 //-------------------------------------------------------------------
41 class /*BBTK_EXPORT*/ ViewerNV
43 public bbtk::WxBlackBox
45 BBTK_BLACK_BOX_INTERFACE(ViewerNV,bbtk::WxBlackBox);
46 //==================================================================
47 /// User callback called in the box contructor
48 virtual void bbUserConstructor();
49 /// User callback called in the box copy constructor
50 virtual void bbUserCopyConstructor();
51 /// User callback called in the box destructor
52 virtual void bbUserDestructor();
53 //==================================================================
54 BBTK_DECLARE_INPUT(Title,std::string);
55 BBTK_DECLARE_INPUT(In, vtkImageData *);
56 BBTK_DECLARE_INPUT(nTypeView, std::vector<int> );
57 BBTK_DECLARE_OUTPUT(wxVtkBaseView1,wxVtkBaseView*);
58 BBTK_DECLARE_OUTPUT(wxVtkBaseView2,wxVtkBaseView*);
59 BBTK_DECLARE_OUTPUT(wxVtkBaseView3,wxVtkBaseView*);
60 BBTK_DECLARE_OUTPUT(wxVtkBaseView4,wxVtkBaseView*);
61 BBTK_DECLARE_OUTPUT(Renderer1,vtkRenderer*);
62 BBTK_DECLARE_OUTPUT(Renderer2,vtkRenderer*);
63 BBTK_DECLARE_OUTPUT(Renderer3,vtkRenderer*);
64 BBTK_DECLARE_OUTPUT(Renderer4,vtkRenderer*);
65 BBTK_DECLARE_OUTPUT(Point,std::vector<int>);
66 BBTK_PROCESS(Process);
68 BBTK_CREATE_WIDGET(CreateWidget);
72 wxMaracas_N_ViewersWidget *mwxwidget;
73 std::vector<int> point;
76 BBTK_BEGIN_DESCRIBE_BLACK_BOX(ViewerNV,bbtk::WxBlackBox);
77 BBTK_NAME("ViewerNV");
78 BBTK_AUTHOR("eduardo.davila [at] creatis.insa-lyon.fr");
79 BBTK_DESCRIPTION("Viewer : N view configuration 2D and 3D");
80 BBTK_CATEGORY("viewer");
81 BBTK_INPUT(ViewerNV,Title,"Title prepended to the text",std::string,"");
82 BBTK_INPUT(ViewerNV,In,"Input image",vtkImageData*,"");
83 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<int>,"");
84 BBTK_OUTPUT(ViewerNV,wxVtkBaseView1,"wxVtkBaseView 1",wxVtkBaseView *,"");
85 BBTK_OUTPUT(ViewerNV,wxVtkBaseView2,"wxVtkBaseView 2",wxVtkBaseView *,"");
86 BBTK_OUTPUT(ViewerNV,wxVtkBaseView3,"wxVtkBaseView 3",wxVtkBaseView *,"");
87 BBTK_OUTPUT(ViewerNV,wxVtkBaseView4,"wxVtkBaseView 4",wxVtkBaseView *,"");
88 BBTK_OUTPUT(ViewerNV,Renderer1,"Renderer 1",vtkRenderer *,"");
89 BBTK_OUTPUT(ViewerNV,Renderer2,"Renderer 2",vtkRenderer *,"");
90 BBTK_OUTPUT(ViewerNV,Renderer3,"Renderer 3",vtkRenderer *,"");
91 BBTK_OUTPUT(ViewerNV,Renderer4,"Renderer 4",vtkRenderer *,"");
92 BBTK_OUTPUT(ViewerNV,Point,"Axis point",std::vector<int>,"");
93 BBTK_END_DESCRIBE_BLACK_BOX(ViewerNV);
95 // EO namespace bbcreaMaracasVisu
97 #endif // __bbcreaMaracasVisuViewerNV_h_INCLUDED__
98 #endif // _USE_WXWIDGETS_