| 20 | #define VTK_CREATE(type, name) vtkSmartPointer<type> name = vtkSmartPointer<type>::New() |
| 21 | |
| 22 | int SLACReaderQuadratic(int argc, char* argv[]) |
| 23 | { |
| 24 | // Set up reader. |
| 25 | VTK_CREATE(vtkSLACReader, reader); |
| 26 | |
| 27 | char* meshFileName = |
| 28 | vtkTestUtilities::ExpandDataFileName(argc, argv, "Data/SLAC/ll-9cell-f523/ll-9cell-f523.ncdf"); |
| 29 | char* modeFileName = vtkTestUtilities::ExpandDataFileName( |
| 30 | argc, argv, "Data/SLAC/ll-9cell-f523/mode0.l0.R2.457036E+09I2.778314E+04.m3"); |
| 31 | reader->SetMeshFileName(meshFileName); |
| 32 | delete[] meshFileName; |
| 33 | reader->AddModeFileName(modeFileName); |
| 34 | delete[] modeFileName; |
| 35 | |
| 36 | reader->ReadInternalVolumeOff(); |
| 37 | reader->ReadExternalSurfaceOn(); |
| 38 | reader->ReadMidpointsOn(); |
| 39 | |
| 40 | // Extract geometry that we can render. |
| 41 | VTK_CREATE(vtkCompositeDataGeometryFilter, geometry); |
| 42 | geometry->SetInputConnection(reader->GetOutputPort(vtkSLACReader::SURFACE_OUTPUT)); |
| 43 | |
| 44 | // Set up rendering stuff. |
| 45 | VTK_CREATE(vtkPolyDataMapper, mapper); |
| 46 | mapper->SetInputConnection(geometry->GetOutputPort()); |
| 47 | mapper->SetScalarModeToUsePointFieldData(); |
| 48 | mapper->ColorByArrayComponent("bfield", 1); |
| 49 | mapper->UseLookupTableScalarRangeOff(); |
| 50 | mapper->SetScalarRange(-1e-08, 1e-08); |
| 51 | |
| 52 | VTK_CREATE(vtkLookupTable, lut); |
| 53 | lut->SetHueRange(0.66667, 0.0); |
| 54 | mapper->SetLookupTable(lut); |
| 55 | |
| 56 | VTK_CREATE(vtkActor, actor); |
| 57 | actor->SetMapper(mapper); |
| 58 | |
| 59 | VTK_CREATE(vtkRenderer, renderer); |
| 60 | renderer->AddActor(actor); |
| 61 | vtkCamera* camera = renderer->GetActiveCamera(); |
| 62 | camera->SetPosition(-0.75, 0.0, 0.7); |
| 63 | camera->SetFocalPoint(0.0, 0.0, 0.7); |
| 64 | camera->SetViewUp(0.0, 1.0, 0.0); |
| 65 | |
| 66 | VTK_CREATE(vtkRenderWindow, renwin); |
| 67 | renwin->SetSize(600, 150); |
| 68 | renwin->AddRenderer(renderer); |
| 69 | VTK_CREATE(vtkRenderWindowInteractor, iren); |
| 70 | iren->SetRenderWindow(renwin); |
| 71 | renwin->Render(); |
| 72 | |
| 73 | // Change the time to test the periodic mode interpolation. |
| 74 | geometry->UpdateInformation(); |
| 75 | geometry->GetOutputInformation(0)->Set( |
| 76 | vtkStreamingDemandDrivenPipeline::UPDATE_TIME_STEP(), 3e-10); |
| 77 | renwin->Render(); |
| 78 | |
| 79 | // Do the test comparison. |
nothing calls this directly
no test coverage detected