1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54
|
#include <vtkNew.h>
#include <vtkActor.h>
#include <vtkPolyData.h>
#include <vtkPolyDataMapper.h>
#include <vtkRegressionTestImage.h>
#include <vtkRenderWindow.h>
#include <vtkRenderWindowInteractor.h>
#include <vtkRenderer.h>
#include <vtkPTSReader.h>
int TestPTSReader(int argc, char *argv[])
{
if (argc < 2)
{
std::cerr << "Required parameters: <filename> maxNumberOfPoints(optional)" << endl;
return EXIT_FAILURE;
}
std::string inputFilename = argv[1];
vtkNew<vtkPTSReader> reader;
reader->SetFileName(inputFilename.c_str());
reader->SetLimitToMaxNumberOfPoints(true);
reader->SetMaxNumberOfPoints(100000);
reader->Update();
// Visualize
vtkNew<vtkPolyDataMapper> mapper;
mapper->SetInputConnection(reader->GetOutputPort());
vtkNew<vtkActor> actor;
actor->SetMapper(mapper.GetPointer());
vtkNew<vtkRenderer> renderer;
vtkNew<vtkRenderWindow> renderWindow;
renderWindow->AddRenderer(renderer.GetPointer());
vtkNew<vtkRenderWindowInteractor> renderWindowInteractor;
renderWindowInteractor->SetRenderWindow(renderWindow.GetPointer());
renderer->AddActor(actor.GetPointer());
renderer->SetBackground(.3, .6, .3); // Background color green
renderWindow->Render();
int retVal = vtkRegressionTestImage( renderWindow.GetPointer() );
if ( retVal == vtkRegressionTester::DO_INTERACTOR)
{
renderWindowInteractor->Start();
}
return !retVal;
}
|