]> Creatis software - creaMaracasVisu.git/blob - lib/GUI/Qt/Viewers/qtvtkviewer.cpp
8a67db4eacb04e980cd9e74079027c1b0f8c2300
[creaMaracasVisu.git] / lib / GUI / Qt / Viewers / qtvtkviewer.cpp
1 #include "qtvtkviewer.h"
2
3 QtVTKViewer::QtVTKViewer(QWidget* parent)
4     : QVTKWidget(parent)
5 {
6
7
8     this->GetRenderWindow()->AddRenderer(vtkRenderer::New());
9     this->GetRenderWindow()->GetRenderers()->GetFirstRenderer()->SetBackground(0,0,0);
10
11     SuperImagePlaneWidget::initialize(this->GetRenderWindow()->GetInteractor());
12
13     this->GetRenderWindow()->GetRenderers()->GetFirstRenderer()->ResetCamera();    
14
15
16     _rayorigin[0] = 0;
17     _rayorigin[1] = 0;
18     _rayorigin[2] = 0;
19     _rayorigin[3] = 0;
20
21     _imageindex[0] = 0;
22     _imageindex[1] = 0;
23     _imageindex[2] = 0;
24
25 }
26
27 void QtVTKViewer::mouseMoveEvent(QMouseEvent* event){
28     int x=0, y=0;
29
30     QVTKWidget::mouseMoveEvent(event);
31
32     x = event->pos().x();
33     y = this->size().height() - event->pos().y();
34
35 #ifdef debug
36     std::cout<<"X= "<<x<<" Y= "<<y<<std::endl;
37 #endif
38
39
40     this->GetRenderWindow()->GetRenderers()->GetFirstRenderer()->SetDisplayPoint(x, y, 0);
41     this->GetRenderWindow()->GetRenderers()->GetFirstRenderer()->DisplayToWorld();
42     this->GetRenderWindow()->GetRenderers()->GetFirstRenderer()->GetWorldPoint(_rayorigin);
43 #ifdef debug
44     std::cout<<"X= "<<x<<" Y= "<<y<<std::endl;
45     std::cout<<"X= "<<_rayorigin[0]<<" Y= "<<_rayorigin[1]<<" Z= "<<_rayorigin[2]<<" R= "<<_rayorigin[3]<<std::endl;
46 #endif
47
48
49
50
51
52 }
53
54 void QtVTKViewer::mousePressEvent(QMouseEvent* event){
55     QVTKWidget::mousePressEvent(event);
56     vtkImagePlaneWidget * temp = 0;
57     if(_xwidget->GetCursorDataStatus()==1){
58         temp = _xwidget;
59     }else if(_ywidget->GetCursorDataStatus()==1){
60         temp = _ywidget;
61     }else if(_zwidget->GetCursorDataStatus()==1){
62         temp = _zwidget;
63     }
64
65     if(temp){
66         _imageindex[0]=temp->GetCurrentCursorPosition()[0];
67         _imageindex[1]=temp->GetCurrentCursorPosition()[1];
68         _imageindex[2]=temp->GetCurrentCursorPosition()[2];
69 #ifdef debug
70          std::cout<<"X= "<<_imageindex[0]<<" Y= "<<_imageindex[1]<<" Z= "<<_imageindex[2]<<std::endl;
71 #endif
72     }
73 }