From 99eac70b2537167cd0d6b12e72e0e99745a469df Mon Sep 17 00:00:00 2001 From: Ulrich Kemloh <kemlohulrich@gmail.com> Date: Wed, 30 Sep 2015 13:38:43 +0200 Subject: [PATCH] fixed relative path for vtk file --- src/SaxParser.cpp | 25 +++++++++++++++++++++---- src/SaxParser.h | 2 +- 2 files changed, 22 insertions(+), 5 deletions(-) diff --git a/src/SaxParser.cpp b/src/SaxParser.cpp index 6e10cb4..6f8e20c 100644 --- a/src/SaxParser.cpp +++ b/src/SaxParser.cpp @@ -70,8 +70,7 @@ #include <vtkStructuredGridReader.h> #include <vtkStructuredPointsReader.h> #include <vtkImageDataGeometryFilter.h> - - +#include <vtkStripper.h> #define VTK_CREATE(type, name) \ @@ -1372,24 +1371,42 @@ bool SaxParser::ParseTxtFormat(const QString &fileName, SyncData* dataset, doubl return true; } -bool SaxParser::ParseGradientFieldVTK(const QString &fileName, GeometryFactory& geoFac) +bool SaxParser::ParseGradientFieldVTK(QString fileName, GeometryFactory& geoFac) { + if(QFileInfo(fileName).isRelative()) + { + QString wd; + SystemSettings::getWorkingDirectory(wd); + fileName=wd+"/"+fileName; + } + + qDebug()<<"Opening the gradient field:"<<fileName<<endl; // Read the file VTK_CREATE(vtkStructuredPointsReader, reader); reader->SetFileName(fileName.toStdString().c_str()); reader->Update(); + reader->SetLookupTableName("LOOKUP_TABLE default"); VTK_CREATE(vtkImageDataGeometryFilter,geometryFilter ); geometryFilter->SetInputConnection(reader->GetOutputPort()); geometryFilter->Update(); + //try a triangle strip +// VTK_CREATE(vtkStripper,stripper); +// stripper->SetInputConnection(geometryFilter->GetOutputPort()); +// VTK_CREATE(vtkTriangleFilter,trianglefilter); +// trianglefilter->SetInputConnection(stripper->GetOutputPort()); + + VTK_CREATE(vtkPolyDataMapper,mapper); mapper->SetInputConnection(geometryFilter->GetOutputPort()); VTK_CREATE(vtkActor, actor); actor->SetMapper(mapper); + //conversion from m to cm + actor->SetScale(100); - shared_ptr<FacilityGeometry> gradient_field= shared_ptr<FacilityGeometry>(new FacilityGeometry("Gradient Field")); + auto gradient_field= shared_ptr<FacilityGeometry>(new FacilityGeometry("Gradient Field")); gradient_field->addGradientField(actor); geoFac.AddElement(-1,-1,gradient_field); diff --git a/src/SaxParser.h b/src/SaxParser.h index 43dcd95..c953dcc 100644 --- a/src/SaxParser.h +++ b/src/SaxParser.h @@ -82,7 +82,7 @@ public: static bool ParseTxtFormat(const QString& fileName, SyncData* dataset, double * fps); /// parse a vtk file - static bool ParseGradientFieldVTK(const QString& fileName, GeometryFactory& geoFac); + static bool ParseGradientFieldVTK(QString fileName, GeometryFactory& geoFac); private: //clear the mo -- GitLab