/*========================================================================= Program: Visualization Toolkit Module: TestCutter.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 "vtkCellData.h" #include "vtkElevationFilter.h" #include "vtkImageData.h" #include "vtkImageMandelbrotSource.h" #include "vtkmContour.h" #include "vtkNew.h" #include "vtkPointData.h" #include "vtkPolyDataMapper.h" #include "vtkRegressionTestImage.h" #include "vtkRenderer.h" #include "vtkRTAnalyticSource.h" #include "vtkRenderWindow.h" #include "vtkRenderWindowInteractor.h" const int EXTENT = 30; int TestVTKMMarchingCubes2(int argc, char* argv[]) { vtkNew ren; vtkNew renWin; vtkNew iren; renWin->AddRenderer(ren); iren->SetRenderWindow(renWin); vtkNew imageSource; imageSource->SetWholeExtent(-EXTENT, EXTENT, -EXTENT, EXTENT, -EXTENT, EXTENT); vtkNew ev; ev->SetInputConnection(imageSource->GetOutputPort()); ev->SetLowPoint(-EXTENT, -EXTENT, -EXTENT); ev->SetHighPoint(EXTENT, EXTENT, EXTENT); vtkNew cg; cg->SetInputConnection(ev->GetOutputPort()); cg->SetInputArrayToProcess( 0, 0, 0, vtkDataObject::FIELD_ASSOCIATION_POINTS, "RTData"); cg->SetValue(0, 200.0); cg->SetValue(1, 220.0); cg->ComputeScalarsOn(); cg->ComputeNormalsOn(); vtkNew mapper; mapper->SetInputConnection(cg->GetOutputPort()); mapper->ScalarVisibilityOn(); mapper->SetScalarModeToUsePointFieldData(); mapper->SelectColorArray("Elevation"); mapper->SetScalarRange(0.0, 1.0); vtkNew actor; actor->SetMapper(mapper); ren->AddActor(actor); ren->ResetCamera(); renWin->Render(); int retVal = vtkRegressionTestImage(renWin); if(retVal == vtkRegressionTester::DO_INTERACTOR) { iren->Start(); retVal = vtkRegressionTester::PASSED; } if (!cg->GetOutput()->GetPointData()->GetNormals()) { std::cerr << "Output normals not set.\n"; return EXIT_FAILURE; } return (!retVal); }