diff --git a/src/SaxParser.cpp b/src/SaxParser.cpp index 6e10cb49b1ee875322d4b783a1e31f6b8cbd60bc..6f8e20cee145d5ef894b865a5370ce7dafabd371 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 43dcd95fea412d38fae8c40805550f3c5a447241..c953dcc2103a6c4e7c11ef3a9556c015bd22d18e 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