From 282f75b812cc3b92a71e70ee0ed70fd4298b9631 Mon Sep 17 00:00:00 2001
From: Xinhua Zhang <sean.xinhua.zhang@gmail.com>
Date: Wed, 4 Dec 2024 22:59:31 -0500
Subject: [PATCH] Updated Test File for AMR Data

---
 .../Cxx/TestVectorFieldTopologyAMR.cxx        | 23 ++++++++++++++-----
 .../TestVectorFieldTopologyAMR.png.sha512     |  2 +-
 2 files changed, 18 insertions(+), 7 deletions(-)

diff --git a/Filters/FlowPaths/Testing/Cxx/TestVectorFieldTopologyAMR.cxx b/Filters/FlowPaths/Testing/Cxx/TestVectorFieldTopologyAMR.cxx
index 73f4e469d9d..9ce75b5659c 100644
--- a/Filters/FlowPaths/Testing/Cxx/TestVectorFieldTopologyAMR.cxx
+++ b/Filters/FlowPaths/Testing/Cxx/TestVectorFieldTopologyAMR.cxx
@@ -14,6 +14,7 @@
 #include "vtkAMRGaussianPulseSource.h"
 #include "vtkActor.h"
 #include "vtkArrayCalculator.h"
+#include "vtkCompositeDataGeometryFilter.h"
 #include "vtkDataSetMapper.h"
 #include "vtkMath.h"
 #include "vtkNew.h"
@@ -30,24 +31,30 @@
 #include "vtkStreamSurface.h"
 #include "vtkVectorFieldTopology.h"
 #include "vtkWarpScalar.h"
+#include <vtkXMLUniformGridAMRWriter.h>
 
 int TestVectorFieldTopologyAMR(int argc, char* argv[])
 {
   vtkNew<vtkAMRGaussianPulseSource> wavelet;
-
   vtkNew<vtkArrayCalculator> calc;
   calc->AddCoordinateScalarVariable("coordsX", 0);
   calc->AddCoordinateScalarVariable("coordsY", 1);
   calc->AddCoordinateScalarVariable("coordsZ", 2);
-  calc->SetFunction("(coordsX+coordsZ)*iHat + coordsY*jHat + (coordsX-coordsZ)*kHat");
+  calc->SetFunction("(coordsX+coordsZ-1)*iHat + coordsY*jHat + (coordsX-coordsZ+1)*kHat");
   calc->SetInputConnection(wavelet->GetOutputPort());
   calc->Update();
 
+  // Now store this file to disk
+  vtkNew<vtkXMLUniformGridAMRWriter> writer;
+  writer->SetInputConnection(calc->GetOutputPort());
+  writer->SetFileName("/Users/bujack/Downloads/output.vthb");
+  writer->Write();
+
   vtkNew<vtkVectorFieldTopology> topology;
   topology->SetInputData(calc->GetOutput());
   topology->SetIntegrationStepUnit(1);
-  topology->SetSeparatrixDistance(1);
-  topology->SetIntegrationStepSize(1);
+  topology->SetSeparatrixDistance(0.2);
+  topology->SetIntegrationStepSize(0.2);
   topology->SetMaxNumSteps(1000);
   topology->SetComputeSurfaces(true);
   topology->SetUseBoundarySwitchPoints(false);
@@ -56,12 +63,16 @@ int TestVectorFieldTopologyAMR(int argc, char* argv[])
   topology->Update();
 
   // the bounding box
+  vtkNew<vtkCompositeDataGeometryFilter> geomFilter;
+  geomFilter->SetInputConnection(wavelet->GetOutputPort());
+  geomFilter->Update();
+
   vtkNew<vtkDataSetMapper> waveletMapper;
-  waveletMapper->SetInputConnection(topology->GetOutputPort());
+  waveletMapper->SetInputConnection(geomFilter->GetOutputPort());
 
   vtkNew<vtkActor> waveletActor;
   waveletActor->SetMapper(waveletMapper);
-  waveletActor->GetProperty()->SetColor(0.4, 0.4, 0.4);
+  waveletActor->GetProperty()->SetColor(0.4, 0.4, 1.0);
   waveletActor->GetProperty()->SetOpacity(0.1);
   waveletActor->GetProperty()->SetRepresentationToSurface();
 
diff --git a/Filters/FlowPaths/Testing/Data/Baseline/TestVectorFieldTopologyAMR.png.sha512 b/Filters/FlowPaths/Testing/Data/Baseline/TestVectorFieldTopologyAMR.png.sha512
index 0fb2d5a536a..609e58f622d 100644
--- a/Filters/FlowPaths/Testing/Data/Baseline/TestVectorFieldTopologyAMR.png.sha512
+++ b/Filters/FlowPaths/Testing/Data/Baseline/TestVectorFieldTopologyAMR.png.sha512
@@ -1 +1 @@
-4863b3c221be6daaffe72be6283b537ad9d571153fa1e138c4b92a39a67eaa24f9f37c822f281383072229649db38f792d17a6d399217ca584415a194a4f5809
+16893e3e9e4eae5f39cee7850742618d04b34e42c5b2b7e8b098192a03888be19f15cdccf3ef8b47196ef1d28145fce444b57c37d81afa6efb91e9b882973f3c
-- 
GitLab