From 9ae362fd8fdc905d7afc0f75174ea808474571c2 Mon Sep 17 00:00:00 2001 From: Charly Bollinger <charly.bollinger@kitware.com> Date: Tue, 24 Oct 2023 11:12:32 +0200 Subject: [PATCH] StreamTracerSurface: Test image data input --- .../Testing/Cxx/TestStreamTracerSurface.cxx | 28 +++++++++++++++---- 1 file changed, 22 insertions(+), 6 deletions(-) diff --git a/Filters/FlowPaths/Testing/Cxx/TestStreamTracerSurface.cxx b/Filters/FlowPaths/Testing/Cxx/TestStreamTracerSurface.cxx index 172ddd4de59..10b94585b24 100644 --- a/Filters/FlowPaths/Testing/Cxx/TestStreamTracerSurface.cxx +++ b/Filters/FlowPaths/Testing/Cxx/TestStreamTracerSurface.cxx @@ -19,18 +19,14 @@ int TestStreamTracerSurface(int argc, char* argv[]) { - + // First test with the wavelet for image data input vtkNew<vtkRTAnalyticSource> wavelet; wavelet->SetWholeExtent(-10, 100, -10, 100, 0, 0); - vtkNew<vtkWarpScalar> warp; - warp->SetScaleFactor(0.1); - warp->SetInputConnection(wavelet->GetOutputPort()); - vtkNew<vtkArrayCalculator> calc; calc->AddScalarArrayName("RTData"); calc->SetFunction("abs(RTData)*iHat + abs(RTData)*jHat"); - calc->SetInputConnection(warp->GetOutputPort()); + calc->SetInputConnection(wavelet->GetOutputPort()); calc->Update(); vtkNew<vtkPoints> points; @@ -51,6 +47,26 @@ int TestStreamTracerSurface(int argc, char* argv[]) stream->SetIntegrationDirection(vtkStreamTracer::BOTH); stream->SetInputConnection(calc->GetOutputPort()); stream->SetSourceData(pointsPolydata); + stream->Update(); + + // Then test with the warped wavelet for dataset input + vtkNew<vtkWarpScalar> warp; + warp->SetScaleFactor(0.1); + warp->SetInputConnection(wavelet->GetOutputPort()); + + calc->SetInputConnection(warp->GetOutputPort()); + calc->Update(); + + points->Reset(); + calcData = vtkDataSet::SafeDownCast(calc->GetOutput()); + nLine = static_cast<vtkIdType>(sqrt(static_cast<double>(calcData->GetNumberOfPoints()))); + for (vtkIdType i = 0; i < nLine; i += 10) + { + points->InsertNextPoint(calcData->GetPoint(i * (nLine - 1) + nLine)); + } + + pointsPolydata->SetPoints(points); + stream->Update(); vtkNew<vtkDataSetMapper> streamMapper; streamMapper->SetInputConnection(stream->GetOutputPort()); -- GitLab