]> Creatis software - creaMaracasVisu.git/blob - lib/maracasVisuLib/src/interface/wxWindows/widgets/vtkInfoTextImageInteractor.cxx
2bb224a131626bae6ce5231a87d4475c32066e0b
[creaMaracasVisu.git] / lib / maracasVisuLib / src / interface / wxWindows / widgets / vtkInfoTextImageInteractor.cxx
1 /*# ---------------------------------------------------------------------
2 #
3 # Copyright (c) CREATIS (Centre de Recherche en Acquisition et Traitement de l'Image
4 #                        pour la Sant�)
5 # Authors : Eduardo Davila, Frederic Cervenansky, Claire Mouton
6 # Previous Authors : Laurent Guigues, Jean-Pierre Roux
7 # CreaTools website : www.creatis.insa-lyon.fr/site/fr/creatools_accueil
8 #
9 #  This software is governed by the CeCILL-B license under French law and
10 #  abiding by the rules of distribution of free software. You can  use,
11 #  modify and/ or redistribute the software under the terms of the CeCILL-B
12 #  license as circulated by CEA, CNRS and INRIA at the following URL
13 #  http://www.cecill.info/licences/Licence_CeCILL-B_V1-en.html
14 #  or in the file LICENSE.txt.
15 #
16 #  As a counterpart to the access to the source code and  rights to copy,
17 #  modify and redistribute granted by the license, users are provided only
18 #  with a limited warranty  and the software's author,  the holder of the
19 #  economic rights,  and the successive licensors  have only  limited
20 #  liability.
21 #
22 #  The fact that you are presently reading this means that you have had
23 #  knowledge of the CeCILL-B license and that you accept its terms.
24 # ------------------------------------------------------------------------ */
25
26 #include "vtkInfoTextImageInteractor.h"
27
28 #include "wxVtk2DBaseView.h"
29
30 //-------------------------------------------------------------------
31 //-------------------------------------------------------------------
32 //-------------------------------------------------------------------
33
34 vtkInfoTextImageInteractor::vtkInfoTextImageInteractor()
35 {
36 }
37
38 //-------------------------------------------------------------------
39 vtkInfoTextImageInteractor::~vtkInfoTextImageInteractor()
40 {
41 }
42
43 //-------------------------------------------------------------------
44
45 void vtkInfoTextImageInteractor::SetModelVtkInfoTextImage(vtkInfoTextImage *vtkinfotextimage)
46 {
47         _vtkinfotextimage       = vtkinfotextimage;
48 }
49
50 //-------------------------------------------------------------------
51 bool vtkInfoTextImageInteractor::OnMouseMove()
52 {
53         int X,Y;
54         wxVTKRenderWindowInteractor *wxVTKiren;
55         wxVTKiren = _vtkInteractorStyleBaseView->GetWxVtk2DBaseView()->GetWxVTKRenderWindowInteractor();
56         wxVTKiren->GetEventPosition(X,Y);
57
58         /*JCP 14/05/2009
59          * int z = (int)(_vtkInteractorStyleBaseView->GetWxVtk2DBaseView()->GetVtkBaseData()->GetZ());*/
60         
61         double dxx,dyy,dzz;
62         double ixx,iyy,izz;
63
64                 int z = (int)((wxVtk2DBaseView*)_vtkInteractorStyleBaseView->GetWxVtk2DBaseView())->GetVtkBaseData()->GetZ();
65                 dxx=X;
66                 dyy=Y;
67                 dzz=z;
68         
69         _vtkInteractorStyleBaseView->GetWxVtk2DBaseView()->TransFromCoordScreenToWorld(dxx,dyy,dzz,true);
70
71         
72         GetVtkInfoTextImage()->PutWindowLevel();
73         GetVtkInfoTextImage()->PutColorLevel();
74
75         int tempext[6];
76         ((wxVtk2DBaseView*)_vtkInteractorStyleBaseView->GetWxVtk2DBaseView())->GetVtkBaseData()->GetImageData()->GetExtent(tempext);
77
78         if(tempext[0] <= dxx && dxx <= tempext[1] && tempext[2] <= dyy && dyy <= tempext[3])
79         {
80                 ixx=(int)(dxx+0.5);
81                 iyy=(int)(dyy+0.5);
82                 izz=(int)(dzz+0.0);
83                 GetVtkInfoTextImage()->PutPosition( ixx , iyy , izz );
84                 GetVtkInfoTextImage()->PutPixelIntensity( ixx , iyy , izz );
85         }
86
87         this->_vtkInteractorStyleBaseView->SetRefresh_waiting();
88         return true;
89 }
90
91 //-------------------------------------------------------------------
92 vtkInfoTextImage *vtkInfoTextImageInteractor::GetVtkInfoTextImage()
93 {
94         return _vtkinfotextimage;
95 }