]> Creatis software - clitk.git/blob - vv/vvToolRigidReg.h
New tool for Registration
[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   }
51     void SetXvalue();
52     void SetYvalue();
53     void SetZvalue();
54     void UpdateXtranslider();
55     void UpdateYtranslider();
56     void UpdateZtranslider();
57     void UpdateXrotslider();
58     void UpdateYrotslider();
59     void UpdateZrotslider();
60     void SetOverlay();
61   protected:
62   Ui::vvToolRigidReg ui;
63   vvSlicerManager * mInput1;
64   vvSlicerManager * mInput2;
65   vvMainWindow * mWindow;
66   bool mTwoInputs;
67   double * origin;
68 }; // end class vvToolRigidReg
69 //------------------------------------------------------------------------------
70
71 #endif
72