]> Creatis software - creaMaracasVisu.git/blob - lib/GUI/Qt/Viewers/qtvtkviewerwidget.cxx
addition of image stencil to surface rendering
[creaMaracasVisu.git] / lib / GUI / Qt / Viewers / qtvtkviewerwidget.cxx
1 #include "qtvtkviewerwidget.h"
2 #include "ui_qtvtkviewerwidget.h"
3
4
5
6 QtVTKViewerWidget::QtVTKViewerWidget(QWidget *parent) :
7     QWidget(parent),
8     ui(new Ui::QtVTKViewerWidget)
9 {
10     ui->setupUi(this);
11
12     ui->m_VolumeRender->SetRenderer(this->getRenderer());
13     ui->m_VolumeRender->SetInteractor(ui->_qtvtkviewer->GetRenderWindow()->GetInteractor());
14
15     ui->m_SurfaceRender->SetRenderer(this->getRenderer());
16     ui->m_SurfaceRender->SetInteractor(ui->_qtvtkviewer->GetRenderWindow()->GetInteractor());
17
18 }
19
20 QtVTKViewerWidget::~QtVTKViewerWidget()
21 {
22
23 }
24
25 vtkRenderer* QtVTKViewerWidget::getRenderer(){
26     return ui->_qtvtkviewer->GetRenderWindow()->GetRenderers()->GetFirstRenderer();
27 }
28
29 void QtVTKViewerWidget::setImage(vtkImageData* img){
30
31
32     ui->checkBoxShowPlanes->setChecked(true);
33     ui->_qtvtkviewer->setImage(img);
34     ui->m_VolumeRender->SetImageData(img);
35     ui->m_SurfaceRender->SetImageData(img);
36
37     int *extent = img->GetExtent();
38
39
40     ui->horizontalSliderX->setRange(extent[0], extent[1]);
41     ui->horizontalSliderY->setRange(extent[2], extent[3]);
42     ui->horizontalSliderZ->setRange(extent[4], extent[5]);
43
44 }
45
46 void QtVTKViewerWidget::SetLookupTable(vtkLookupTable *lookuptable){
47
48     ui->_qtvtkviewer->SetLookupTable(lookuptable);
49     ui->m_VolumeRender->SetLookUpTable(lookuptable);
50 }
51
52 void QtVTKViewerWidget::on_checkBoxShowPlanes_clicked(){
53
54     ui->_qtvtkviewer->showPlanes(ui->checkBoxShowPlanes->isChecked());
55 }
56
57 void QtVTKViewerWidget::SetOutputFormatToRGBA(){
58     ui->_qtvtkviewer->SetOutputFormatToRGBA();
59 }
60
61 void QtVTKViewerWidget::on_checkBoxShowImageActor_clicked(bool checked)
62 {
63     if(!(ui->_qtvtkviewer->showImageActors(checked))){
64         ui->checkBoxShowImageActor->setCheckState(Qt::Unchecked);
65     }
66 }
67
68 void QtVTKViewerWidget::on_horizontalSliderX_valueChanged(int value)
69 {
70
71     ui->lineEditX->setText(QString::number(value));
72     ui->_qtvtkviewer->setSliceXImageActor(value);
73
74 }
75
76 void QtVTKViewerWidget::on_horizontalSliderY_valueChanged(int value)
77 {
78     ui->lineEditY->setText(QString::number(value));
79     ui->_qtvtkviewer->setSliceYImageActor(value);
80 }
81
82 void QtVTKViewerWidget::on_horizontalSliderZ_valueChanged(int value)
83 {
84     ui->lineEditZ->setText(QString::number(value));
85     ui->_qtvtkviewer->setSliceZImageActor(value);
86 }