From 219c0ddc594dc22ae0f93fbb36215e87860960e8 Mon Sep 17 00:00:00 2001
From: Thomas Galland <thomas.galland@kitware.com>
Date: Tue, 21 Jun 2022 14:19:09 +0200
Subject: [PATCH] Add test

---
 Filters/Hybrid/Testing/Cxx/CMakeLists.txt     |  1 +
 .../TestTemporalCacheUndefinedTimeStep.cxx    | 70 +++++++++++++++++++
 ...tTemporalCacheUndefinedTimeStep.png.sha512 |  1 +
 3 files changed, 72 insertions(+)
 create mode 100644 Filters/Hybrid/Testing/Cxx/TestTemporalCacheUndefinedTimeStep.cxx
 create mode 100644 Filters/Hybrid/Testing/Data/Baseline/TestTemporalCacheUndefinedTimeStep.png.sha512

diff --git a/Filters/Hybrid/Testing/Cxx/CMakeLists.txt b/Filters/Hybrid/Testing/Cxx/CMakeLists.txt
index fcb79d0e68e..cd94e6b681d 100644
--- a/Filters/Hybrid/Testing/Cxx/CMakeLists.txt
+++ b/Filters/Hybrid/Testing/Cxx/CMakeLists.txt
@@ -15,6 +15,7 @@ vtk_add_test_cxx(vtkFiltersHybridCxxTests tests
   TestTemporalCacheSimple.cxx,NO_VALID
   TestTemporalCacheTemporal.cxx,NO_VALID
   TestTemporalCacheMemkind.cxx,NO_VALID
+  TestTemporalCacheUndefinedTimeStep.cxx
   TestTemporalFractal.cxx
   TestTemporalInterpolator.cxx
   )
diff --git a/Filters/Hybrid/Testing/Cxx/TestTemporalCacheUndefinedTimeStep.cxx b/Filters/Hybrid/Testing/Cxx/TestTemporalCacheUndefinedTimeStep.cxx
new file mode 100644
index 00000000000..0f96f0c6955
--- /dev/null
+++ b/Filters/Hybrid/Testing/Cxx/TestTemporalCacheUndefinedTimeStep.cxx
@@ -0,0 +1,70 @@
+/*=========================================================================
+
+  Program:   Visualization Toolkit
+  Module:    TestTemporalCacheUndefinedTimeStep.cxx
+
+  Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
+  All rights reserved.
+  See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
+
+     This software is distributed WITHOUT ANY WARRANTY; without even
+     the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+     PURPOSE.  See the above copyright notice for more information.
+
+=========================================================================*/
+
+#include <vtkActor.h>
+#include <vtkCompositeDataGeometryFilter.h>
+#include <vtkIOSSReader.h>
+#include <vtkNew.h>
+#include <vtkPolyDataMapper.h>
+#include <vtkRenderWindow.h>
+#include <vtkRenderWindowInteractor.h>
+#include <vtkRenderer.h>
+#include <vtkTemporalDataSetCache.h>
+#include <vtkTestUtilities.h>
+#include <vtkTransform.h>
+#include <vtkTransformFilter.h>
+
+int TestTemporalCacheUndefinedTimeStep(int argc, char* argv[])
+{
+  vtkNew<vtkIOSSReader> reader;
+  std::string fileName = vtkTestUtilities::ExpandDataFileName(argc, argv, "Data/can.ex2");
+  reader->SetFileName(fileName.c_str());
+
+  vtkNew<vtkTemporalDataSetCache> temporalCache;
+  temporalCache->SetInputConnection(reader->GetOutputPort());
+  temporalCache->SetCacheSize(43);
+
+  vtkNew<vtkTransform> transform;
+  transform->RotateX(90);
+
+  vtkNew<vtkTransformFilter> transformFilter;
+  transformFilter->SetInputConnection(temporalCache->GetOutputPort());
+  transformFilter->SetTransform(transform);
+
+  vtkNew<vtkCompositeDataGeometryFilter> geometryFilter;
+  geometryFilter->SetInputConnection(transformFilter->GetOutputPort());
+  geometryFilter->UpdateTimeStep(0.00165); // Doesn't exist
+
+  vtkNew<vtkPolyDataMapper> mapper;
+  mapper->SetInputDataObject(geometryFilter->GetOutputDataObject(0));
+
+  vtkNew<vtkActor> actor;
+  actor->SetMapper(mapper);
+
+  vtkNew<vtkRenderer> renderer;
+  renderer->AddActor(actor);
+
+  vtkNew<vtkRenderWindow> renWin;
+  renWin->SetSize(300, 300);
+  renWin->AddRenderer(renderer);
+
+  vtkNew<vtkRenderWindowInteractor> iren;
+  iren->SetRenderWindow(renWin);
+
+  renWin->Render();
+  iren->Start();
+
+  return EXIT_SUCCESS;
+}
diff --git a/Filters/Hybrid/Testing/Data/Baseline/TestTemporalCacheUndefinedTimeStep.png.sha512 b/Filters/Hybrid/Testing/Data/Baseline/TestTemporalCacheUndefinedTimeStep.png.sha512
new file mode 100644
index 00000000000..4343303691e
--- /dev/null
+++ b/Filters/Hybrid/Testing/Data/Baseline/TestTemporalCacheUndefinedTimeStep.png.sha512
@@ -0,0 +1 @@
+26721f769ed7fb1c2734db5454f0787e5421f9d547a0a008a1c78ffa09c1c97f6c3d4dd76adcdb304da43544f8559bf941795eab50628e17ed0c562ad09def74
-- 
GitLab