| 22 | //------------------------------------------------------------------------------ |
| 23 | |
| 24 | int main(int argc, char* argv[]) |
| 25 | { |
| 26 | // Create a renderer, render window, and interactor |
| 27 | vtkNew<vtkRenderer> renderer; |
| 28 | vtkNew<vtkRenderWindow> renderWindow; |
| 29 | renderWindow->SetMultiSamples(0); |
| 30 | renderWindow->AddRenderer(renderer); |
| 31 | |
| 32 | vtkNew<vtkRenderWindowInteractor> renderWindowInteractor; |
| 33 | renderWindowInteractor->SetRenderWindow(renderWindow); |
| 34 | |
| 35 | vtkNew<vtkInteractorStyleTrackballCamera> style; |
| 36 | renderWindowInteractor->SetInteractorStyle(style); |
| 37 | style->SetDefaultRenderer(renderer); |
| 38 | |
| 39 | vtkNew<vtkMinimalStandardRandomSequence> seq; |
| 40 | |
| 41 | double spacingX = 2.0, spacingY = 2.0, spacingZ = 2.0; |
| 42 | int nx, ny, nz, mapperIsStatic; |
| 43 | VTK_FROM_CHARS_IF_ERROR_RETURN(argv[1], nx, EXIT_FAILURE); |
| 44 | VTK_FROM_CHARS_IF_ERROR_RETURN(argv[2], ny, EXIT_FAILURE); |
| 45 | VTK_FROM_CHARS_IF_ERROR_RETURN(argv[3], nz, EXIT_FAILURE); |
| 46 | VTK_FROM_CHARS_IF_ERROR_RETURN(argv[4], mapperIsStatic, EXIT_FAILURE); |
| 47 | |
| 48 | double x = 0.0, y = 0.0, z = 0.0; |
| 49 | for (int k = 0; k < nz; ++k) |
| 50 | { |
| 51 | for (int j = 0; j < ny; ++j) |
| 52 | { |
| 53 | for (int i = 0; i < nx; ++i) |
| 54 | { |
| 55 | vtkNew<vtkConeSource> coneSrc; |
| 56 | coneSrc->SetResolution(10); |
| 57 | // position the cone |
| 58 | coneSrc->SetCenter(x, y, z); |
| 59 | |
| 60 | coneSrc->Update(); |
| 61 | vtkPolyData* cone = coneSrc->GetOutput(); |
| 62 | |
| 63 | // generate random colors for each face of the cone. |
| 64 | vtkNew<vtkUnsignedCharArray> colors; |
| 65 | colors->SetNumberOfComponents(4); |
| 66 | seq->SetSeed(k * ny * nx + j * nx + i); |
| 67 | for (vtkIdType cellId = 0; cellId < cone->GetNumberOfPolys(); ++cellId) |
| 68 | { |
| 69 | double red = seq->GetNextRangeValue(0, 255.); |
| 70 | double green = seq->GetNextRangeValue(0, 255.); |
| 71 | double blue = seq->GetNextRangeValue(0, 255.); |
| 72 | colors->InsertNextTuple4(red, green, blue, 255); |
| 73 | } |
| 74 | cone->GetCellData()->SetScalars(colors); |
| 75 | |
| 76 | vtkNew<vtkPolyDataMapper> mapper; |
| 77 | mapper->SetInputData(cone); |
| 78 | mapper->Update(); |
| 79 | mapper->SetStatic(mapperIsStatic); |
| 80 | |
| 81 | vtkNew<vtkActor> actor; |
nothing calls this directly
no test coverage detected