// SPDX-FileCopyrightText: Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen // SPDX-License-Identifier: BSD-3-Clause #include #include #include #include #include #include #include #include #include #include #include int TestGLTFImporterCameraMove(int argc, char* argv[]) { if (argc < 3) { std::cout << "Usage: " << argv[0] << " \n"; return EXIT_FAILURE; } vtkIdType cameraIndex; VTK_FROM_CHARS_IF_ERROR_RETURN(argv[2], cameraIndex, EXIT_FAILURE); double azimuth; VTK_FROM_CHARS_IF_ERROR_RETURN(argv[3], azimuth, EXIT_FAILURE); double elevation; VTK_FROM_CHARS_IF_ERROR_RETURN(argv[4], elevation, EXIT_FAILURE); vtkNew importer; importer->SetFileName(argv[1]); vtkNew renderWindow; importer->SetRenderWindow(renderWindow); vtkNew renderer; renderWindow->AddRenderer(renderer); renderer->SetBackground(.0, .0, .2); vtkNew renderWindowInteractor; renderWindowInteractor->SetRenderWindow(renderWindow); importer->SetCamera(cameraIndex); if (!importer->Update()) { std::cerr << "ERROR: Importer failed to update\n"; return EXIT_FAILURE; } renderer->GetActiveCamera()->Azimuth(azimuth); renderer->GetActiveCamera()->Elevation(elevation); renderWindow->Render(); int retVal = vtkRegressionTestImage(renderWindow); if (retVal == vtkRegressionTester::DO_INTERACTOR) { renderWindowInteractor->Start(); } return !retVal; }