MCPcopy Create free account
hub / github.com/Kitware/VTK / main

Function main

Examples/Emscripten/Cxx/ConeMultiBackend/ConeMultiBackend.cxx:24–109  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

22//------------------------------------------------------------------------------
23
24int 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;

Callers

nothing calls this directly

Calls 15

SetMultiSamplesMethod · 0.80
GetNumberOfPolysMethod · 0.80
GetNextRangeValueMethod · 0.80
InsertNextTuple4Method · 0.80
SetScalarsMethod · 0.80
RotateZMethod · 0.80
RenderMethod · 0.65
AddRendererMethod · 0.45
SetRenderWindowMethod · 0.45
SetInteractorStyleMethod · 0.45
SetDefaultRendererMethod · 0.45
SetResolutionMethod · 0.45

Tested by

no test coverage detected