1 #include "qtsurfacerendererpanel.h"
2 #include "ui_qtsurfacerendererpanel.h"
4 #include "qfiledialog.h"
6 #include "qcolordialog.h"
7 #include "qmessagebox.h"
12 QtSurfaceRendererPanel::QtSurfaceRendererPanel(QWidget *parent) :
14 ui(new Ui::QtSurfaceRendererPanel)
19 this->ui->pushButtonColorChooser->setIcon(QIcon(Color_xpm));
20 this->ui->pushButtonSave->setIcon(QIcon(Save_xpm));
23 QtSurfaceRendererPanel::~QtSurfaceRendererPanel()
27 void QtSurfaceRendererPanel::SetImageData(vtkImageData* img){
28 this->addPropMHD(0, img, "");
29 this->enableBoundingBox(0, false);
31 double *range =img->GetScalarRange();
33 this->ui->horizontalSliderMinIso->setRange(range[0], range[1] - 1);
35 this->ui->horizontalSliderMaxIso->setRange(range[0] + 1, range[1]);
38 void QtSurfaceRendererPanel::on_OpacitySlider_valueChanged(int value)
42 this->ui->lineEditOpacity->setText(QString::number(value));
45 this->changeOpacity(0, value);
48 QMessageBox::critical(this, tr("Volume Rendering"), tr(e), QMessageBox::Ok);
52 void QtSurfaceRendererPanel::on_pushButtonColorChooser_clicked()
54 QColorDialog* qcolor = new QColorDialog(this);
60 QColor color = qcolor->selectedColor();
62 int r = 0, g = 0, b = 0;
63 color.getRgb(&r, &g, &b);
67 this->changeColor(0, r/255.0, g/255.0 ,b/255.0);
70 QMessageBox::critical(this, tr("Surface Rendering"), tr(e), QMessageBox::Ok);
77 void QtSurfaceRendererPanel::on_checkBox_clicked(bool checked)
79 this->addRemoveActor(0, checked);
82 void QtSurfaceRendererPanel::on_horizontalSliderMaxIso_valueChanged(int value)
85 this->ui->lineEditMaxIso->setText(QString::number(value));
88 void QtSurfaceRendererPanel::on_horizontalSliderMinIso_valueChanged(int value)
90 this->ui->lineEditMinIso->setText(QString::number(value));
93 void QtSurfaceRendererPanel::on_horizontalSliderMaxIso_sliderReleased()
98 void QtSurfaceRendererPanel::on_horizontalSliderMinIso_sliderReleased()
103 void QtSurfaceRendererPanel::onIsoValueChanged(){
104 this->changeIsoValue(0, this->ui->horizontalSliderMinIso->value(), this->ui->horizontalSliderMaxIso->value());
107 void QtSurfaceRendererPanel::on_pushButtonSave_clicked()
109 QString filename = QFileDialog::getSaveFileName(this,
112 tr("STL files (*.stl);") );
114 if( !filename.isNull() ){
115 filename.append(".stl");
116 this->saveProp3DSTL(0, filename.toStdString().c_str());
121 void QtSurfaceRendererPanel::on_checkBoxBoundingBox_clicked(bool checked)
123 this->enableBoundingBox(0, checked);