]> Creatis software - creaMaracasVisu.git/blob - lib/maracasVisuLib/src/interface/wxWindows/widgets/wxMaracasSuperpositionPanel.h
Support #1768 CREATIS Licence insertion
[creaMaracasVisu.git] / lib / maracasVisuLib / src / interface / wxWindows / widgets / wxMaracasSuperpositionPanel.h
1 /*# ---------------------------------------------------------------------
2 #
3 # Copyright (c) CREATIS (Centre de Recherche en Acquisition et Traitement de l'Image
4 #                        pour la Sant�)
5 # Authors : Eduardo Davila, Frederic Cervenansky, Claire Mouton
6 # Previous Authors : Laurent Guigues, Jean-Pierre Roux
7 # CreaTools website : www.creatis.insa-lyon.fr/site/fr/creatools_accueil
8 #
9 #  This software is governed by the CeCILL-B license under French law and
10 #  abiding by the rules of distribution of free software. You can  use,
11 #  modify and/ or redistribute the software under the terms of the CeCILL-B
12 #  license as circulated by CEA, CNRS and INRIA at the following URL
13 #  http://www.cecill.info/licences/Licence_CeCILL-B_V1-en.html
14 #  or in the file LICENSE.txt.
15 #
16 #  As a counterpart to the access to the source code and  rights to copy,
17 #  modify and redistribute granted by the license, users are provided only
18 #  with a limited warranty  and the software's author,  the holder of the
19 #  economic rights,  and the successive licensors  have only  limited
20 #  liability.
21 #
22 #  The fact that you are presently reading this means that you have had
23 #  knowledge of the CeCILL-B license and that you accept its terms.
24 # ------------------------------------------------------------------------ */
25
26 #ifndef __wxMaracasSuperpositionPanelH__
27 #define __wxMaracasSuperpositionPanelH__
28
29 // -----------------------------------------------------------------------------------------------------------
30 // WX headers inclusion.
31 // For compilers that support precompilation, includes <wx/wx.h>.
32 // -----------------------------------------------------------------------------------------------------------
33
34 #include <wx/wxprec.h>
35 #ifdef __BORLANDC__
36 #pragma hdrstop
37 #endif
38 #ifndef WX_PRECOMP
39 #include <wx/wx.h>
40 #endif
41
42 #include <wx/scrolwin.h>
43
44 //------------------------------------------------------------------------------------------------------------
45 // Includes
46 //------------------------------------------------------------------------------------------------------------
47
48 #include "wxMaracas_N_ViewersWidget.h"
49 #include "vtkImageData.h"
50 #include "wxVtkBaseView.h"
51
52 //------------------------------------------------------------------------------------------------------------
53 // Class definition
54 //------------------------------------------------------------------------------------------------------------
55
56 class creaMaracasVisu_EXPORT wxMaracasSuperpositionPanel : public wxPanel
57 {
58
59 public:
60
61         wxMaracasSuperpositionPanel( std::vector<vtkImageData*> imgs, int type, wxWindow *parent, const wxPoint& pos=wxDefaultPosition, 
62         const wxSize& size = wxDefaultSize,long style= wxDEFAULT_FRAME_STYLE | wxSUNKEN_BORDER, int vertStart=1, int vertEnd=1, 
63         int horzStart=1, int horzEnd=1 );
64
65
66         ~wxMaracasSuperpositionPanel(); 
67
68 //------------------------------------------------------------------------------------------------------------
69 // Creational and initialization methods
70 //------------------------------------------------------------------------------------------------------------
71         
72         void createSuperpositionPanel();
73
74 //------------------------------------------------------------------------------------------------------------
75 //  Other functional methods
76 //------------------------------------------------------------------------------------------------------------
77
78         void getSpacing( double * spacing );
79
80         wxVtkBaseView* GetWxVtkBaseView();
81         wxVtkMPR2DView * GetwxVtkMPR2DView();
82         vtkImageData * GetshowingVID();
83         int GetImageDataSizeZ();
84         void RefreshInterface();
85         void ChangeImage(vtkImageData* img);
86         
87         void    SetVisibleAxis(bool ok);
88         int             GetX();
89         int             GetY();
90         int             GetZ();
91         void    Refresh();      
92         
93
94 private:
95
96         std::vector<vtkImageData*> _images;
97         
98         
99         int _type;
100         
101         /*
102         * Represents the panel for viewing
103         */
104         wxMaracas_N_ViewersWidget * theViewPanel;
105         
106         /*
107         * Represents the outer sizer of the IRMViewPanel
108         */
109         wxFlexGridSizer* outSizer;
110
111         double last_spacing[3];
112         
113 };
114
115 #endif /*__wxMaracasSuperpositionPanelH__*/