]> Creatis software - creaMaracasVisu.git/blob - lib/GUI/Qt/VolumeRenderer/qtvolumerendererpanel.cxx
changes to volume rendering base
[creaMaracasVisu.git] / lib / GUI / Qt / VolumeRenderer / qtvolumerendererpanel.cxx
1 #include "qtvolumerendererpanel.h"
2 #include "ui_qtvolumerendererpanel.h"
3 #include "qmessagebox.h"
4
5 using namespace std;
6
7 QtVolumeRendererPanel::QtVolumeRendererPanel(QWidget *parent) :
8     QWidget(parent),
9     ui(new Ui::QtVolumeRendererPanel)
10 {
11     ui->setupUi(this);    
12 }
13
14 QtVolumeRendererPanel::~QtVolumeRendererPanel()
15 {
16     delete ui;
17 }
18
19 void QtVolumeRendererPanel::on_checkBoxShowVolume_clicked(bool checked)
20 {
21     try{
22         ShowVolume(checked);
23         on_opacitySlider_valueChanged(this->ui->opacitySlider->value());
24     }catch(char * e){
25         cout<<e<<endl;
26         QMessageBox::critical(this, tr("Volume Rendering"), tr(e), QMessageBox::Ok);
27     }
28 }
29
30
31 void QtVolumeRendererPanel::on_opacitySlider_valueChanged(int value)
32 {
33     try{        
34         this->ui->lineEditOpacity->setText(QString::number(value));        
35
36         double* range = ImageData->GetScalarRange();
37         vector<double> greylevel;
38         greylevel.push_back(range[0]);
39         greylevel.push_back(range[1]);
40
41         vector<double> vectvalue;
42         vectvalue.push_back(value/100.0);
43         vectvalue.push_back(value/100.0);
44
45         OpacityChanged(greylevel, vectvalue);
46     }catch(char * e){
47         cout<<e<<endl;
48         QMessageBox::critical(this, tr("Volume Rendering"), tr(e), QMessageBox::Ok);
49     }
50 }
51
52 void QtVolumeRendererPanel::on_checkBoxBoundingBox_clicked(bool checked)
53 {
54     try{
55         BoundingBoxChanged(checked);
56     }catch(char * e){
57         cout<<e<<endl;
58         QMessageBox::critical(this, tr("Volume Rendering"), tr(e), QMessageBox::Ok);
59     }
60 }