• Main Page
  • Related Pages
  • Namespaces
  • Classes
  • Files
  • File List
  • File Members

src/DGVPlotVTK.cpp

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); //Scale
00048         plotActor->SetPosition(pos[0]-factor*pos[0], pos[1]-factor*pos[1]); //Reposition
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 }

Generated on Wed Sep 8 2010 01:36:51 for DGV by  doxygen 1.7.1