Go to the documentation of this file.00001 #include "DGVPlotVTK.h"
00002
00003 #include <QFileInfo>
00004
00005 DGVPlotVTK::DGVPlotVTK(QWidget *parent) : QVTKWidget(parent)
00006 {
00007 plotActor = vtkXYPlotActor::New();
00008 renderer = vtkRenderer::New();
00009 renderWin = vtkRenderWindow::New();
00010 }
00011
00012 DGVPlotVTK::~DGVPlotVTK()
00013 {
00014 plotActor->Delete();
00015 renderer->Delete();
00016 renderWin->Delete();
00017 }
00018
00019 void DGVPlotVTK::setName(QString filename)
00020 {
00021 name = filename;
00022 setWindowTitle(strippedNamePrefix());
00023 plotActor->SetTitle(strippedName().toStdString().c_str());
00024 }
00025
00026 void DGVPlotVTK::setData(vtkImageData *data)
00027 {
00028 plotActor->AddInput(data);
00029 loaded = true;
00030 }
00031
00032 void DGVPlotVTK::setRanges(double xmin, double xmax, double ymin, double ymax)
00033 {
00034 plotActor->SetXRange(xmin, xmax);
00035 plotActor->SetYRange(ymin, ymax);
00036 }
00037
00038 void DGVPlotVTK::generatePlot()
00039 {
00040 if(loaded)
00041 {
00042 double *pos = plotActor->GetPosition();
00043 double factor = 0.8;
00044
00045 plotActor->SetLabelFormat("%g");
00046 plotActor->SetWidth(factor);
00047 plotActor->SetHeight(factor);
00048 plotActor->SetPosition(pos[0]-factor*pos[0], pos[1]-factor*pos[1]);
00049
00050 renderer->AddActor2D(plotActor);
00051 renderer->ResetCamera();
00052 renderer->SetBackground(0.1, 0.2, 0.4);
00053 renderWin->AddRenderer(renderer);
00054 renderWin->SetSize(6*minWindowSize/4,6*minWindowSize/4);
00055 QVTKWidget::SetRenderWindow(renderWin);
00056 QVTKWidget::resize(6*minWindowSize/4,6*minWindowSize/4);
00057 }
00058 }
00059
00060 QString DGVPlotVTK::strippedName()
00061 {
00062 return QFileInfo(name).fileName();
00063 }
00064
00065 QString DGVPlotVTK::strippedNamePrefix()
00066 {
00067 return "Plot: " + QFileInfo(name).fileName();
00068 }