]> Creatis software - clitk.git/blob - vv/vvSlicerManagerCommand.h
class name and file name should always match
[clitk.git] / vv / vvSlicerManagerCommand.h
1 /*=========================================================================
2
3  Program:   vv
4  Language:  C++
5  Author :   Pierre Seroul (pierre.seroul@gmail.com)
6
7 Copyright (C) 2008
8 Léon Bérard cancer center http://oncora1.lyon.fnclcc.fr
9 CREATIS-LRMN http://www.creatis.insa-lyon.fr
10
11 This program is free software: you can redistribute it and/or modify
12 it under the terms of the GNU General Public License as published by
13 the Free Software Foundation, version 3 of the License.
14
15 This program is distributed in the hope that it will be useful,
16 but WITHOUT ANY WARRANTY; without even the implied warranty of
17 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
18 GNU General Public License for more details.
19
20 You should have received a copy of the GNU General Public License
21 along with this program.  If not, see <http://www.gnu.org/licenses/>.
22
23 =========================================================================*/
24 #ifndef __vvSlicerManagerCommand_h
25 #define __vvSlicerManagerCommand_h
26
27 #include "vtkCommand.h"
28 #include "vvSlicerManager.h"
29 #include "vtkRenderWindow.h"
30 #include "vtkRenderer.h"
31 #include "vtkImageData.h"
32 #include "vtkImageActor.h"
33 #include "vvInteractorStyleNavigator.h"
34 #include "vtkRenderWindowInteractor.h"
35 #include "vtkInteractorStyleImage.h"
36 #include "vtkPropPicker.h"
37
38 #include <iostream>
39 #include <string>
40 #include <sstream>
41
42 class vvSlicerManagerCommand : public vtkCommand
43 {
44 public:
45     static vvSlicerManagerCommand *New() {
46         return new vvSlicerManagerCommand;
47     }
48
49     void Execute(vtkObject *caller,
50                  unsigned long event,
51                  void *vtkNotUsed(callData));
52
53     vvSlicerManager *SM;
54     void Dolly(double factor, vtkRenderWindowInteractor *interactor);
55     void FlyToPosition(vtkRenderWindowInteractor *interactor, vvSlicer* slicer);
56     void SetSlicerNumber(int slicer) {mSlicerNumber=slicer;}
57
58 protected :
59     vvSlicerManagerCommand();
60     ~vvSlicerManagerCommand() {}
61
62 private:
63
64     int FindSlicerNumber(vtkRenderWindow* renwin);
65
66     double InitialWindow;
67     double InitialLevel;
68     int mStartSlicer;
69     bool newLandmark;
70     ///The slicer this callback commands
71     int mSlicerNumber;
72 };
73
74 #endif