]> Creatis software - creaMaracasVisu.git/blob - lib/GUI/Qt/SurfaceRenderer/qtsurfacerenderer.cxx
94de7618272ee121eb5bffd7885d608f1dca820f
[creaMaracasVisu.git] / lib / GUI / Qt / SurfaceRenderer / qtsurfacerenderer.cxx
1 #include "qtsurfacerenderer.h"
2 #include "ui_qtsurfacerenderer.h"
3
4
5 #include <qtsurfacerendererpanel.h>
6
7 QtSurfaceRenderer::QtSurfaceRenderer(QWidget *parent) :
8     QWidget(parent),
9     ui(new Ui::QtSurfaceRenderer)
10 {
11     ui->setupUi(this);
12
13     this->ui->tabWidgetSurface->removeTab(1);
14     this->ui->tabWidgetSurface->removeTab(0);
15
16     QtSurfaceRendererPanel* surfacepanel = new QtSurfaceRendererPanel(this);
17     this->ui->tabWidgetSurface->addTab(surfacepanel, QString("Surface Rendering"));
18
19     Renderer = 0;
20     Interactor = 0;
21 }
22 void QtSurfaceRenderer::SetRenderer(vtkRenderer* render){
23     Renderer = render;
24     this->ui->tabWidgetSurface->setCurrentIndex(0);
25     QtSurfaceRendererPanel* surfacepanel = (QtSurfaceRendererPanel*)this->ui->tabWidgetSurface->currentWidget();
26     surfacepanel->setRenderer(Renderer);
27 }
28
29 void QtSurfaceRenderer::SetInteractor(vtkRenderWindowInteractor* interactor){
30     Interactor = interactor;
31     this->ui->tabWidgetSurface->setCurrentIndex(0);
32     QtSurfaceRendererPanel* surfacepanel = (QtSurfaceRendererPanel*)this->ui->tabWidgetSurface->currentWidget();
33     surfacepanel->setInteractor(Interactor);
34 }
35
36 QtSurfaceRenderer::~QtSurfaceRenderer()
37 {
38     delete ui;
39 }
40
41 void QtSurfaceRenderer::SetImageData(vtkImageData* img){
42     this->ui->tabWidgetSurface->setCurrentIndex(0);
43     QtSurfaceRendererPanel* surfacepanel = (QtSurfaceRendererPanel*)this->ui->tabWidgetSurface->currentWidget();
44     surfacepanel->setImageData(img);
45 }
46
47 void QtSurfaceRenderer::on_pushbuttonAddTab_clicked()
48 {
49
50     QtSurfaceRendererPanel* surfacepanel = new QtSurfaceRendererPanel(this);    
51     surfacepanel->setRenderer(Renderer);
52     surfacepanel->setInteractor(Interactor);
53
54     this->ui->tabWidgetSurface->addTab(surfacepanel, QString("Surface Rendering"));
55 }
56
57 void QtSurfaceRenderer::on_tabWidgetSurface_tabCloseRequested(int index)
58 {
59     if(index != 0){
60
61         QtSurfaceRendererPanel* surfacepanel = (QtSurfaceRendererPanel*)this->ui->tabWidgetSurface->currentWidget();
62         surfacepanel->enableBoundingBox(0, false);
63         surfacepanel->deleteActor(0);
64
65         this->ui->tabWidgetSurface->removeTab(index);
66     }
67 }
68