]> Creatis software - clitk.git/blob - vv/vvToolRigidReg.h
Set to Experimental
[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
29 //------------------------------------------------------------------------------
30 class vvToolRigidReg:
31     public vvToolWidgetBase,
32     public vvToolBase<vvToolRigidReg>,
33     private Ui::vvToolRigidReg
34 {
35   Q_OBJECT
36 public:
37   vvToolRigidReg(vvMainWindowBase * parent=0, Qt::WindowFlags f=0);
38   ~vvToolRigidReg();
39   virtual void InputIsSelected(std::vector<vvSlicerManager *> & m);
40 public slots:
41   virtual void apply();
42   virtual bool close();
43   virtual void reject();
44   //-----------------------------------------------------
45   static void Initialize() {
46     SetToolName("Register");
47     SetToolMenuName("Register");
48     SetToolIconFilename(":/common/icons/register.png");
49     SetToolTip("Register Image.");
50     SetToolExperimental(true);
51   }
52   void SetXvalue();
53   void SetYvalue();
54   void SetZvalue();
55   void UpdateXtranslider();
56   void UpdateYtranslider();
57   void UpdateZtranslider();
58   void UpdateXrotslider();
59   void UpdateYrotslider();
60   void UpdateZrotslider();
61   void SetOverlay();
62 protected:
63   Ui::vvToolRigidReg ui;
64   vvSlicerManager * mInput1;
65   vvSlicerManager * mInput2;
66   vvMainWindow * mWindow;
67   bool mTwoInputs;
68   void SetTransform(double tX, double tY, double tZ, double aX, double aY, double aZ);
69 }; // end class vvToolRigidReg
70 //------------------------------------------------------------------------------
71
72 #endif
73