]> Creatis software - creaMaracasVisu.git/blob - bbtk/src/bbmaracasvisuViewerMPR.h
*** empty log message ***
[creaMaracasVisu.git] / bbtk / src / bbmaracasvisuViewerMPR.h
1 #ifdef _USE_WXWIDGETS_
2 #ifndef __bbcreaMaracasVisuViewerMPR_h_INCLUDED__
3 #define __bbcreaMaracasVisuViewerMPR_h_INCLUDED__
4 #include "bbtkWxBlackBox.h"
5
6 #include "wxMaracasMPR.h"
7 #include "vtkImageData.h"
8 #include "vtkRenderer.h"
9
10 namespace bbcreaMaracasVisu
11 {
12
13
14
15   //--------------------------------------------------------------------------
16   class ViewerMPR;
17   class wxWidgetMPR : public wxPanel
18   {
19         public:
20                 wxWidgetMPR(ViewerMPR* box,wxWindow* parent, marImageData       *marimagedata);
21                 ~wxWidgetMPR();
22             
23                 //if the MPR had generated the refresh event
24                 void OnRefreshView(wxCommandEvent & event);
25                 void OnDClickLeft(wxCommandEvent & event); 
26
27                 //Get the actual Point
28                 std::vector <int> GetPoint();
29                 //Get renderer
30                 vtkRenderer* GetRenderer();
31
32                 //refreshView
33                 void Refresh();
34                 
35         private:
36
37                 ViewerMPR                       *mbbViewerMPR;
38                 wxMPRWidget2            *wxwidget;
39                 std::vector<int>        point;
40                         
41         DECLARE_EVENT_TABLE( );
42             
43   };
44   
45   //------------------------------------------------------------------------
46   //------------------------------------------------------------------------
47   //------------------------------------------------------------------------
48
49
50
51 class /*BBTK_EXPORT*/ ViewerMPR
52  : 
53    public bbtk::WxBlackBox
54 {
55   BBTK_BLACK_BOX_INTERFACE(ViewerMPR,bbtk::WxBlackBox);
56 //==================================================================
57 /// User callback called in the box contructor
58 virtual void bbUserConstructor();
59 /// User callback called in the box copy constructor
60 virtual void bbUserCopyConstructor(bbtk::BlackBox::Pointer);
61 /// User callback called in the box destructor
62 virtual void bbUserDestructor();
63 //==================================================================
64   BBTK_DECLARE_INPUT(Title,std::string);
65     BBTK_DECLARE_INPUT(In, vtkImageData *);
66     BBTK_DECLARE_OUTPUT(Renderer,vtkRenderer *);
67         BBTK_DECLARE_OUTPUT(Point,std::vector<int>);
68   BBTK_PROCESS(Process);
69   void Process();
70   BBTK_CREATE_WIDGET(CreateWidget);
71   void CreateWidget(wxWindow* parent);
72
73 private:
74   wxWidgetMPR *wxwidget;
75 };
76
77 BBTK_BEGIN_DESCRIBE_BLACK_BOX(ViewerMPR,bbtk::WxBlackBox);
78         BBTK_NAME("ViewerMPR");
79         BBTK_AUTHOR("eduardo.davila [at] creatis.insa-lyon.fr");
80         BBTK_DESCRIPTION("Maracas viewer MPR + 3D");
81     BBTK_CATEGORY("viewer");
82     BBTK_INPUT(ViewerMPR,Title,"Viewer MPR + 3D",std::string,"");
83         BBTK_INPUT(ViewerMPR,In,"Input image",vtkImageData*,"");
84         BBTK_OUTPUT(ViewerMPR,Renderer," This object accept actors of vtk type (ex. AddActor). ",vtkRenderer*,"");
85         BBTK_OUTPUT(ViewerMPR,Point," This is the point choose by the user ",std::vector<int>,"");
86
87 BBTK_END_DESCRIBE_BLACK_BOX(ViewerMPR);
88 }
89 // EO namespace bbcreaMaracasVisu
90
91 #endif // __bbcreaMaracasVisuViewerMPR_h_INCLUDED__
92 #endif // _USE_WXWIDGETS_
93