]> Creatis software - creaMaracasVisu.git/blob - lib/GUI/Qt/VolumeRenderer/qtvolumerendererpanel.cxx
ea511546d50fbc141ba76dcf4c498bb56d8439e1
[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         //JCP 27/09/12
24         //on_opacitySlider_valueChanged(this->ui->opacitySlider->value());
25     }catch(char * e){
26         cout<<e<<endl;
27         QMessageBox::critical(this, tr("Volume Rendering"), tr(e), QMessageBox::Ok);
28     }catch(exception e){
29         cout<<e.what()<<endl;
30         QMessageBox::critical(this, tr("Volume Rendering"), tr(e.what()), QMessageBox::Ok);
31     }
32 }
33
34
35 void QtVolumeRendererPanel::on_opacitySlider_valueChanged(int value)
36 {
37     try{        
38         this->ui->lineEditOpacity->setText(QString::number(value));        
39
40         double* range = ImageData->GetScalarRange();
41         vector<double> greylevel;
42         greylevel.push_back(0);  //first grey level
43         //greylevel.push_back(1);
44         greylevel.push_back(10);
45         greylevel.push_back(20);
46         greylevel.push_back(range[1]);
47
48         vector<double> vectvalue;
49         vectvalue.push_back(0);  //first opacity value
50         //vectvalue.push_back(value/100.0);
51         vectvalue.push_back(0);
52         vectvalue.push_back(value/100.0);
53         vectvalue.push_back(value/100.0);
54
55         OpacityChanged(greylevel, vectvalue);
56     }catch(char * e){
57         cout<<e<<endl;
58         QMessageBox::critical(this, tr("Volume Rendering"), tr(e), QMessageBox::Ok);
59     }
60 }
61
62 void QtVolumeRendererPanel::on_checkBoxBoundingBox_clicked(bool checked)
63 {
64     try{
65         BoundingBoxChanged(checked);
66     }catch(char * e){
67         cout<<e<<endl;
68         QMessageBox::critical(this, tr("Volume Rendering"), tr(e), QMessageBox::Ok);
69     }
70 }
71
72 void QtVolumeRendererPanel::on_radioButtonMIP_clicked(bool checked)
73 {
74     if(checked){
75         this->changeCompositeMIPFunction(1);
76     }
77 }
78
79 void QtVolumeRendererPanel::on_radioButtonComposite_clicked(bool checked)
80 {
81     if(checked){
82         this->changeCompositeMIPFunction(0);
83     }
84 }
85
86 void QtVolumeRendererPanel::on_radioButtonLinear_clicked(bool checked)
87 {
88     if(checked){
89         this->changeInterpolationType(0);
90     }
91 }
92
93 void QtVolumeRendererPanel::on_radioButtonNearest_clicked(bool checked)
94 {
95     if(checked){
96         this->changeInterpolationType(1);
97     }
98 }
99
100 void QtVolumeRendererPanel::on_radioButtonMinIP_clicked(bool checked)
101 {
102     if(checked){
103         this->changeCompositeMIPFunction(2);
104     }
105 }