]> Creatis software - clitk.git/blob - vv/vvSlicerManagerCommand.h
[VV] New feature to jump on image origin
[clitk.git] / vv / vvSlicerManagerCommand.h
1 /*=========================================================================
2   Program:   vv                     http://www.creatis.insa-lyon.fr/rio/vv
3
4   Authors belong to: 
5   - University of LYON              http://www.universite-lyon.fr/
6   - Léon Bérard cancer center       http://www.centreleonberard.fr
7   - CREATIS CNRS laboratory         http://www.creatis.insa-lyon.fr
8
9   This software is distributed WITHOUT ANY WARRANTY; without even
10   the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
11   PURPOSE.  See the copyright notices for more information.
12
13   It is distributed under dual licence
14
15   - BSD        See included LICENSE.txt file
16   - CeCILL-B   http://www.cecill.info/licences/Licence_CeCILL-B_V1-en.html
17 ===========================================================================**/
18 #ifndef __vvSlicerManagerCommand_h
19 #define __vvSlicerManagerCommand_h
20 #include "vtkCommand.h"
21 #include "vvSlicerManager.h"
22 #include "vtkRenderWindow.h"
23 #include "vtkRenderer.h"
24 #include "vtkImageData.h"
25 #include "vtkImageActor.h"
26 #include "vvInteractorStyleNavigator.h"
27 #include "vtkRenderWindowInteractor.h"
28 #include "vtkInteractorStyleImage.h"
29 #include "vtkPropPicker.h"
30
31 #include <iostream>
32 #include <string>
33 #include <sstream>
34
35 class vvSlicerManagerCommand : public vtkCommand
36 {
37 public:
38     static vvSlicerManagerCommand *New() {
39         return new vvSlicerManagerCommand;
40     }
41
42     void Execute(vtkObject *caller,
43                  unsigned long event,
44                  void *vtkNotUsed(callData));
45
46     vvSlicerManager *SM;
47     void Dolly(double factor, vtkRenderWindowInteractor *interactor);
48     void FlyToPosition(vtkRenderWindowInteractor *interactor, vvSlicer* slicer);
49     void SetSlicerNumber(int slicer) {mSlicerNumber=slicer;}
50
51 protected :
52     vvSlicerManagerCommand();
53     ~vvSlicerManagerCommand() {}
54
55 private:
56
57   
58     int FindSlicerNumber(vtkRenderWindow* renwin);
59
60     double InitialWindow;
61     double InitialLevel;
62     int mStartSlicer;
63     bool newLandmark;
64     ///The slicer this callback commands
65     int mSlicerNumber;
66 };
67
68 #endif