Skip to content
Snippets Groups Projects
Commit 282f75b8 authored by Xinhua Zhang's avatar Xinhua Zhang
Browse files

Updated Test File for AMR Data

parent 942df0ac
No related branches found
No related tags found
No related merge requests found
...@@ -14,6 +14,7 @@ ...@@ -14,6 +14,7 @@
#include "vtkAMRGaussianPulseSource.h" #include "vtkAMRGaussianPulseSource.h"
#include "vtkActor.h" #include "vtkActor.h"
#include "vtkArrayCalculator.h" #include "vtkArrayCalculator.h"
#include "vtkCompositeDataGeometryFilter.h"
#include "vtkDataSetMapper.h" #include "vtkDataSetMapper.h"
#include "vtkMath.h" #include "vtkMath.h"
#include "vtkNew.h" #include "vtkNew.h"
...@@ -30,24 +31,30 @@ ...@@ -30,24 +31,30 @@
#include "vtkStreamSurface.h" #include "vtkStreamSurface.h"
#include "vtkVectorFieldTopology.h" #include "vtkVectorFieldTopology.h"
#include "vtkWarpScalar.h" #include "vtkWarpScalar.h"
#include <vtkXMLUniformGridAMRWriter.h>
int TestVectorFieldTopologyAMR(int argc, char* argv[]) int TestVectorFieldTopologyAMR(int argc, char* argv[])
{ {
vtkNew<vtkAMRGaussianPulseSource> wavelet; vtkNew<vtkAMRGaussianPulseSource> wavelet;
vtkNew<vtkArrayCalculator> calc; vtkNew<vtkArrayCalculator> calc;
calc->AddCoordinateScalarVariable("coordsX", 0); calc->AddCoordinateScalarVariable("coordsX", 0);
calc->AddCoordinateScalarVariable("coordsY", 1); calc->AddCoordinateScalarVariable("coordsY", 1);
calc->AddCoordinateScalarVariable("coordsZ", 2); 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->SetInputConnection(wavelet->GetOutputPort());
calc->Update(); 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; vtkNew<vtkVectorFieldTopology> topology;
topology->SetInputData(calc->GetOutput()); topology->SetInputData(calc->GetOutput());
topology->SetIntegrationStepUnit(1); topology->SetIntegrationStepUnit(1);
topology->SetSeparatrixDistance(1); topology->SetSeparatrixDistance(0.2);
topology->SetIntegrationStepSize(1); topology->SetIntegrationStepSize(0.2);
topology->SetMaxNumSteps(1000); topology->SetMaxNumSteps(1000);
topology->SetComputeSurfaces(true); topology->SetComputeSurfaces(true);
topology->SetUseBoundarySwitchPoints(false); topology->SetUseBoundarySwitchPoints(false);
...@@ -56,12 +63,16 @@ int TestVectorFieldTopologyAMR(int argc, char* argv[]) ...@@ -56,12 +63,16 @@ int TestVectorFieldTopologyAMR(int argc, char* argv[])
topology->Update(); topology->Update();
// the bounding box // the bounding box
vtkNew<vtkCompositeDataGeometryFilter> geomFilter;
geomFilter->SetInputConnection(wavelet->GetOutputPort());
geomFilter->Update();
vtkNew<vtkDataSetMapper> waveletMapper; vtkNew<vtkDataSetMapper> waveletMapper;
waveletMapper->SetInputConnection(topology->GetOutputPort()); waveletMapper->SetInputConnection(geomFilter->GetOutputPort());
vtkNew<vtkActor> waveletActor; vtkNew<vtkActor> waveletActor;
waveletActor->SetMapper(waveletMapper); 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()->SetOpacity(0.1);
waveletActor->GetProperty()->SetRepresentationToSurface(); waveletActor->GetProperty()->SetRepresentationToSurface();
......
4863b3c221be6daaffe72be6283b537ad9d571153fa1e138c4b92a39a67eaa24f9f37c822f281383072229649db38f792d17a6d399217ca584415a194a4f5809 16893e3e9e4eae5f39cee7850742618d04b34e42c5b2b7e8b098192a03888be19f15cdccf3ef8b47196ef1d28145fce444b57c37d81afa6efb91e9b882973f3c
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment