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