]> Creatis software - creaMaracasVisu.git/blob - lib/maracasVisuLib/src/CutModule/interface/CutModelView.h
Support #1768 CREATIS Licence insertion
[creaMaracasVisu.git] / lib / maracasVisuLib / src / CutModule / interface / CutModelView.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 /*=========================================================================
27
28   Program:   wxMaracas
29   Module:    $RCSfile: CutModelView.h,v $
30   Language:  C++
31   Date:      $Date: 2012/11/15 14:16:20 $
32   Version:   $Revision: 1.3 $
33
34   Copyright: (c) 2002, 2003
35   License:
36
37      This software is distributed WITHOUT ANY WARRANTY; without even
38      the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
39      PURPOSE.  See the above copyright notice for more information.
40
41 =========================================================================*/
42
43 #ifndef __CutModelViewPanelH__
44 #define __CutModelViewPanelH__
45
46 #include <vector>
47 #include <wx/wx.h>
48 #include <wx/radiobut.h>
49 #include "wx/aui/aui.h"
50 #include <iostream>
51 #include "marTypes.h"
52
53
54 #include "CutModelManager.h"
55 #include "CutModelException.h"
56
57 #include "vtkObject.h"
58 #include "vtkCommand.h"
59
60
61 class  creaMaracasVisu_EXPORT  CutModelView : public wxPanel, public vtkCommand
62 {
63
64 public:
65         CutModelView( wxWindow* parent,double* range);
66     ~CutModelView( );
67
68         virtual void Execute(vtkObject *wdg, unsigned long eventId, void* calldata) ;
69         
70         int getId(){
71                 return _id;
72         }
73         void setId(int id){
74                 _id = id;
75         }
76         
77         void ExecuteCut();
78
79         void SetCurrentColor(wxColour colour);
80         
81 private:        
82
83         int _id;
84
85         wxSlider* _sliderrange;
86         wxRadioBox* _radioinsideout;
87         //wxRadioBox* _radiocutstat;
88         wxStaticText* _currentcolor;
89
90         double* getRange();
91         bool isCut();
92         bool isInside();
93
94
95
96         wxSizer* getBoxControls(wxWindow* parent, double* range);
97
98
99         wxSizer* getActorProperties(wxWindow* parent);
100         wxSizer* getColorChooseActor(wxWindow* parent);
101         wxSizer* getOpacityActor(wxWindow* parent);
102
103         void checkInvariant() throw( CutModelException);
104
105 };
106
107 class CutModelViewEventHandler : public wxEvtHandler{
108
109         public:
110                 CutModelViewEventHandler(): wxEvtHandler(){};
111                 ~CutModelViewEventHandler(){};
112
113                 void onColorChange(wxCommandEvent& event);                      
114                 void onOpacityChange(wxScrollEvent& event);
115                 void onViewBoxChecked(wxCommandEvent& event);
116                 void onShapeChange(wxCommandEvent& event);
117                 void onStatistics(wxCommandEvent& event);
118                 void onExecute(wxCommandEvent& event);
119                 
120
121
122         private:
123                 
124 };
125
126
127 #endif
128