]> Creatis software - clitk.git/blob - vv/vvToolRigidReg.h
removed transformations order
[clitk.git] / vv / vvToolRigidReg.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://oncora1.lyon.fnclcc.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 VVTOOLRIGIDREG_H
19 #define VVTOOLRIGIDREG_H
20 #include <QtDesigner/QDesignerExportWidget>
21 #include <QDialog>
22
23 #include "vvToolBase.h"
24 #include "vvToolWidgetBase.h"
25 #include "vvMainWindowBase.h"
26 #include "vvMainWindow.h"
27 #include "ui_vvToolRigidReg.h"
28 #include "vtkMatrix4x4.h"
29
30 //------------------------------------------------------------------------------
31 class vvToolRigidReg:
32     public vvToolWidgetBase,
33     public vvToolBase<vvToolRigidReg>,
34     private Ui::vvToolRigidReg
35 {
36   Q_OBJECT
37 public:
38   vvToolRigidReg(vvMainWindowBase * parent=0, Qt::WindowFlags f=0);
39   ~vvToolRigidReg();
40   virtual void InputIsSelected(std::vector<vvSlicerManager *> & m);
41 public slots:
42   virtual void apply();
43   virtual bool close();
44   virtual void reject();
45   //-----------------------------------------------------
46   static void Initialize() {
47     SetToolName("Register");
48     SetToolMenuName("Register");
49     SetToolIconFilename(":/common/icons/register.png");
50     SetToolTip("Register Image.");
51     SetToolExperimental(true);
52   }
53   void SetXvalue();
54   void SetYvalue();
55   void SetZvalue();
56   void UpdateXtranslider();
57   void UpdateXtransb();
58   void UpdateYtranslider();
59   void UpdateYtransb();
60   void UpdateZtranslider();
61   void UpdateZtransb();
62   void UpdateXrotslider();
63   void UpdateXrotsb();
64   void UpdateYrotslider();
65   void UpdateYrotsb(); 
66   void UpdateZrotslider();
67   void UpdateZrotsb();  
68   void SetOverlay();
69   void SaveFile();
70   void ReadFile();
71   void ResetTransform();
72   void SetRotationCenter();
73   void SetSliderRanges();
74   void UpdateTextEditor(vtkMatrix4x4 *matrix);
75   void InitializeSliders();
76   protected:
77   Ui::vvToolRigidReg ui;
78   vvSlicerManager * mInput1;
79   vvSlicerManager * mInput2;
80   vvMainWindow * mWindow;
81   bool mTwoInputs;
82   std::vector<int> mImageSize;
83   void SetTransform(double tX, double tY, double tZ, double aX, double aY, double aZ,bool update);
84   void SetTransform(vtkMatrix4x4 * matrix);
85 }; // end class vvToolRigidReg
86 //------------------------------------------------------------------------------
87
88 #endif
89