//----------------------------------------------------------------------------- int ctkVTKScalarsToColorsViewTest4(int argc, char * argv [] ) { // Set up a 2D scene, add an XY chart to it vtkSmartPointer<vtkContextView> view = vtkSmartPointer<vtkContextView>::New(); view->GetRenderWindow()->SetSize(400, 300); vtkSmartPointer<vtkChartXY> chart = vtkSmartPointer<vtkChartXY>::New(); view->GetScene()->AddItem(chart); // Create a table with some points in it... vtkSmartPointer<vtkTable> table = vtkSmartPointer<vtkTable>::New(); vtkSmartPointer<vtkFloatArray> arrX = vtkSmartPointer<vtkFloatArray>::New(); arrX->SetName("X Axis"); table->AddColumn(arrX); vtkSmartPointer<vtkFloatArray> arrC = vtkSmartPointer<vtkFloatArray>::New(); arrC->SetName("Cosine"); table->AddColumn(arrC); vtkSmartPointer<vtkFloatArray> arrS = vtkSmartPointer<vtkFloatArray>::New(); arrS->SetName("Sine"); table->AddColumn(arrS); vtkSmartPointer<vtkFloatArray> arrS2 = vtkSmartPointer<vtkFloatArray>::New(); arrS2->SetName("Sine2"); table->AddColumn(arrS2); // Test charting with a few more points... int numPoints = 69; float inc = 7.5 / (numPoints-1); table->SetNumberOfRows(numPoints); for (int i = 0; i < numPoints; ++i) { table->SetValue(i, 0, i * inc); table->SetValue(i, 1, cos(i * inc) + 0.0); table->SetValue(i, 2, sin(i * inc) + 0.0); table->SetValue(i, 3, sin(i * inc) + 0.5); } // Add multiple line plots, setting the colors etc vtkPlot *line = chart->AddPlot(vtkChart::LINE); line->SetInput(table, 0, 1); line->SetColor(0, 255, 0, 255); line->SetWidth(1.0); line = chart->AddPlot(vtkChart::LINE); line->SetInput(table, 0, 2); line->SetColor(255, 0, 0, 255); line->SetWidth(5.0); line = chart->AddPlot(vtkChart::LINE); line->SetInput(table, 0, 3); line->SetColor(0, 0, 255, 255); line->SetWidth(4.0); //Finally render the scene and compare the image to a reference image view->GetRenderWindow()->SetMultiSamples(0); int retval = vtkRegressionTestImage(view->GetRenderWindow()); if (retval == vtkRegressionTester::DO_INTERACTOR) { view->GetRenderWindow()->GetInteractor()->Initialize(); view->GetRenderWindow()->GetInteractor()->Start(); } return !retval; }
//---------------------------------------------------------------------------- int vtkLightBoxRendererManagerTest1(int argc, char* argv[]) { const char * imageFilename = vtkTestUtilities::ExpandDataFileName(argc, argv, "HeadMRVolume.mhd"); //---------------------------------------------------------------------------- // Read Image //---------------------------------------------------------------------------- // Instanciate the reader factory vtkNew<vtkImageReader2Factory> imageFactory; // Instanciate an image reader vtkSmartPointer<vtkImageReader2> imageReader; imageReader.TakeReference(imageFactory->CreateImageReader2(imageFilename)); if (!imageReader) { std::cerr << "Failed to instanciate image reader using: " << imageFilename << std::endl; return EXIT_FAILURE; } // Read image imageReader->SetFileName(imageFilename); imageReader->Update(); vtkSmartPointer<vtkImageData> image = imageReader->GetOutput(); //---------------------------------------------------------------------------- // Renderer, RenderWindow and Interactor //---------------------------------------------------------------------------- vtkNew<vtkRenderer> rr; vtkNew<vtkRenderWindow> rw; vtkNew<vtkRenderWindowInteractor> ri; rw->SetSize(600, 600); rw->SetMultiSamples(0); // Ensure to have the same test image everywhere rw->AddRenderer(rr.GetPointer()); rw->SetInteractor(ri.GetPointer()); // Set Interactor Style vtkNew<vtkInteractorStyleImage> iStyle; ri->SetInteractorStyle(iStyle.GetPointer()); vtkNew<vtkLightBoxRendererManager> lightBoxRendererManager; //---------------------------------------------------------------------------- // Check if non initialized case is handled properly / Check default value //---------------------------------------------------------------------------- if (lightBoxRendererManager->IsInitialized() != 0) { std::cerr << "line " << __LINE__ << " - Problem with IsInitialized()" << std::endl; std::cerr << " expected: 0" << std::endl; std::cerr << " current:" << lightBoxRendererManager->IsInitialized() << std::endl; return EXIT_FAILURE; } if (lightBoxRendererManager->GetRenderWindow() != 0) { std::cerr << "line " << __LINE__ << " - Problem with GetRenderWindow()" << std::endl; std::cerr << " expected: 0" << std::endl; std::cerr << " current:" << lightBoxRendererManager->GetRenderWindow() << std::endl; return EXIT_FAILURE; } if (lightBoxRendererManager->GetActiveCamera() != 0) { std::cerr << "line " << __LINE__ << " - Problem with GetActiveCamera()" << std::endl; std::cerr << " expected: 0" << std::endl; std::cerr << " current:" << lightBoxRendererManager->GetActiveCamera() << std::endl; return EXIT_FAILURE; } if (lightBoxRendererManager->GetRenderWindowItemCount() != 0) { std::cerr << "line " << __LINE__ << " - Problem with GetRenderWindowItemCount()" << std::endl; std::cerr << " expected: 0" << std::endl; std::cerr << " current:" << lightBoxRendererManager->GetRenderWindowItemCount() << std::endl; return EXIT_FAILURE; } if (lightBoxRendererManager->GetRenderer(4) != 0) { std::cerr << "line " << __LINE__ << " - Problem with GetRenderer()" << std::endl; std::cerr << " expected: 0" << std::endl; std::cerr << " current:" << lightBoxRendererManager->GetRenderer(4) << std::endl; return EXIT_FAILURE; } if (lightBoxRendererManager->GetRenderer(1,1) != 0) { std::cerr << "line " << __LINE__ << " - Problem with GetRenderer()" << std::endl; std::cerr << " expected: 0" << std::endl; std::cerr << " current:" << lightBoxRendererManager->GetRenderer(1,1) << std::endl; return EXIT_FAILURE; } if (lightBoxRendererManager->GetCornerAnnotationText().compare("") != 0) { std::cerr << "line " << __LINE__ << " - Problem with GetCornerAnnotationText()" << std::endl; std::cerr << " expected: Empty" << std::endl; std::cerr << " current:" << lightBoxRendererManager->GetCornerAnnotationText() << std::endl; return EXIT_FAILURE; } if (lightBoxRendererManager->GetRenderWindowLayoutType() != vtkLightBoxRendererManager::LeftRightTopBottom) { std::cerr << "line " << __LINE__ << " - Problem with GetRenderWindowLayoutType()" << std::endl; std::cerr << " expected: " << static_cast<int>(vtkLightBoxRendererManager::LeftRightTopBottom) << std::endl; std::cerr << " current:" << static_cast<int>(lightBoxRendererManager->GetRenderWindowLayoutType()) << std::endl; return EXIT_FAILURE; } unsigned long mtime = lightBoxRendererManager->GetMTime(); lightBoxRendererManager->ResetCamera(); if (mtime != lightBoxRendererManager->GetMTime()) { std::cerr << "line " << __LINE__ << " - Problem with ResetCamera()" << std::endl; return EXIT_FAILURE; } lightBoxRendererManager->SetActiveCamera(0); if (mtime != lightBoxRendererManager->GetMTime()) { std::cerr << "line " << __LINE__ << " - Problem with SetActiveCamera()" << std::endl; return EXIT_FAILURE; } lightBoxRendererManager->SetImageData(image); if (mtime != lightBoxRendererManager->GetMTime()) { std::cerr << "line " << __LINE__ << " - Problem with SetImageData()" << std::endl; return EXIT_FAILURE; } double highlightedboxColor[3] = {0.0, 1.0, 0.0}; lightBoxRendererManager->SetHighlightedBoxColor(highlightedboxColor); if (mtime != lightBoxRendererManager->GetMTime()) { std::cerr << "line " << __LINE__ << " - Problem with SetHighlightedBoxColor()" << std::endl; return EXIT_FAILURE; } //---------------------------------------------------------------------------- // Initialize //---------------------------------------------------------------------------- lightBoxRendererManager->Initialize(rw.GetPointer()); if (lightBoxRendererManager->IsInitialized() != 1) { std::cerr << "line " << __LINE__ << " - Problem with IsInitialized()" << std::endl; std::cerr << " expected: 1" << std::endl; std::cerr << " current:" << lightBoxRendererManager->IsInitialized() << std::endl; return EXIT_FAILURE; } if (mtime == lightBoxRendererManager->GetMTime()) { std::cerr << "line " << __LINE__ << " - Problem with IsInitialized()" << std::endl; return EXIT_FAILURE; } lightBoxRendererManager->SetImageData(image); lightBoxRendererManager->SetRenderWindowLayout(4, 5); lightBoxRendererManager->SetHighlighted(2,2,true); lightBoxRendererManager->SetColorWindowAndLevel(100, 100); double backgroundColor[3] = {0.5, 0.5, 0.5}; lightBoxRendererManager->SetBackgroundColor(backgroundColor); double highlightedBoxColor[3] = {1.0, 1.0, 0.0}; lightBoxRendererManager->SetHighlightedBoxColor(highlightedBoxColor); int retval = vtkRegressionTestImage(rw.GetPointer()); if (retval == vtkRegressionTester::DO_INTERACTOR) { rw->GetInteractor()->Initialize(); rw->GetInteractor()->Start(); } return !retval; }