]> Creatis software - creaMaracasVisu.git/blobdiff - lib/GUI/Qt/Viewers/qtvtkviewerwidget.cxx
changes in qt for volume rendering with gpu support, if you are working with volume...
[creaMaracasVisu.git] / lib / GUI / Qt / Viewers / qtvtkviewerwidget.cxx
index 8f586fe8ab097ef78eceb0db0c552717684b232f..7229daa1dac9ceb50c47be70ca5cb7542ce7443c 100644 (file)
@@ -4,14 +4,17 @@
 
 
 QtVTKViewerWidget::QtVTKViewerWidget(QWidget *parent) :
-    QWidget(parent)
+    QWidget(parent),
+    ui(new Ui::QtVTKViewerWidget)
 {
-    setupUi(this);
+    ui->setupUi(this);
+
+    ui->m_VolumeRender->SetRenderer(this->getRenderer());
+    ui->m_VolumeRender->SetInteractor(ui->_qtvtkviewer->GetRenderWindow()->GetInteractor());
+
+    ui->m_SurfaceRender->SetRenderer(this->getRenderer());
+    ui->m_SurfaceRender->SetInteractor(ui->_qtvtkviewer->GetRenderWindow()->GetInteractor());
 
-    this->m_VolumeRender->SetRenderer(this->getRenderer());
-    this->m_VolumeRender->SetInteractor(this->_qtvtkviewer->GetRenderWindow()->GetInteractor());
-    this->m_SurfaceRender->setRenderer(this->getRenderer());
-    this->m_SurfaceRender->setInteractor(this->_qtvtkviewer->GetRenderWindow()->GetInteractor());
 }
 
 QtVTKViewerWidget::~QtVTKViewerWidget()
@@ -20,21 +23,63 @@ QtVTKViewerWidget::~QtVTKViewerWidget()
 }
 
 vtkRenderer* QtVTKViewerWidget::getRenderer(){
-    return this->_qtvtkviewer->GetRenderWindow()->GetRenderers()->GetFirstRenderer();
+    return ui->_qtvtkviewer->GetRenderWindow()->GetRenderers()->GetFirstRenderer();
 }
 
 void QtVTKViewerWidget::setImage(vtkImageData* img){
-    this->_qtvtkviewer->setImage(img);
-    this->m_VolumeRender->SetImageData(img);
-    this->m_SurfaceRender->SetImageData(img);
+
+
+    ui->_qtvtkviewer->setImage(img);
+    ui->m_VolumeRender->SetImageData(img);
+    ui->m_SurfaceRender->SetImageData(img);
+
+    int *extent = img->GetExtent();
+
+
+    ui->horizontalSliderX->setRange(extent[0], extent[1]);
+    ui->horizontalSliderY->setRange(extent[2], extent[3]);
+    ui->horizontalSliderZ->setRange(extent[4], extent[5]);
+
 }
 
 void QtVTKViewerWidget::SetLookupTable(vtkLookupTable *lookuptable){
-    this->_qtvtkviewer->SetLookupTable(lookuptable);
-    this->m_VolumeRender->SetLookUpTable(lookuptable);
+
+    ui->_qtvtkviewer->SetLookupTable(lookuptable);
+    ui->m_VolumeRender->SetLookUpTable(lookuptable);
 }
 
 void QtVTKViewerWidget::on_checkBoxShowPlanes_clicked(){
 
-    this->_qtvtkviewer->showPlanes(checkBoxShowPlanes->isChecked());
+    ui->_qtvtkviewer->showPlanes(ui->checkBoxShowPlanes->isChecked());
+}
+
+void QtVTKViewerWidget::SetOutputFormatToRGBA(){
+    ui->_qtvtkviewer->SetOutputFormatToRGBA();
+}
+
+void QtVTKViewerWidget::on_checkBoxShowImageActor_clicked(bool checked)
+{
+    if(!(ui->_qtvtkviewer->showImageActors(checked))){
+        ui->checkBoxShowImageActor->setCheckState(Qt::Unchecked);
+    }
+}
+
+void QtVTKViewerWidget::on_horizontalSliderX_valueChanged(int value)
+{
+
+    ui->lineEditX->setText(QString::number(value));
+    ui->_qtvtkviewer->setSliceXImageActor(value);
+
+}
+
+void QtVTKViewerWidget::on_horizontalSliderY_valueChanged(int value)
+{
+    ui->lineEditY->setText(QString::number(value));
+    ui->_qtvtkviewer->setSliceYImageActor(value);
+}
+
+void QtVTKViewerWidget::on_horizontalSliderZ_valueChanged(int value)
+{
+    ui->lineEditZ->setText(QString::number(value));
+    ui->_qtvtkviewer->setSliceZImageActor(value);
 }