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