Advertisement
Guest User

Untitled

a guest
Mar 20th, 2018
79
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.99 KB | None | 0 0
  1. #include <vtkVersion.h>
  2. #include <vtkSmartPointer.h>
  3. #include <vtkConeSource.h>
  4. #include <vtkPolyData.h>
  5. #include <vtkPoints.h>
  6. #include <vtkGlyph3D.h>
  7. #include <vtkCellArray.h>
  8. #include <vtkPolyDataMapper.h>
  9. #include <vtkActor.h>
  10. #include <vtkRenderWindow.h>
  11. #include <vtkRenderer.h>
  12. #include <vtkRenderWindowInteractor.h>
  13.  
  14. int main(int, char *[])
  15. {
  16.     //susikuriam objekta
  17.   vtkSmartPointer<vtkPoints> points =
  18.     vtkSmartPointer<vtkPoints>::New();
  19.   points->InsertNextPoint(0,0,0);
  20.   points->InsertNextPoint(1,1,1);
  21.   points->InsertNextPoint(2,2,2);
  22.   points->InsertNextPoint(3, 3, 3);
  23.   points->InsertNextPoint(4, 4, 4);
  24.   points->InsertNextPoint(5, 5, 5);
  25.  
  26.   points->InsertNextPoint(1, 1, 0);
  27.   points->InsertNextPoint(2, 2, 1);
  28.   points->InsertNextPoint(3, 3, 2);
  29.   points->InsertNextPoint(4, 4, 3);
  30.   points->InsertNextPoint(5, 5, 4);
  31.  
  32.   points->InsertNextPoint(2, 2, 1);
  33.   points->InsertNextPoint(3, 3, 2);
  34.   points->InsertNextPoint(4, 4, 3);
  35.   points->InsertNextPoint(5, 5, 4);
  36.  
  37.   points->InsertNextPoint(2, 2, 0);
  38.   points->InsertNextPoint(3, 3, 1);
  39.   points->InsertNextPoint(4, 4, 2);
  40.   points->InsertNextPoint(5, 5, 3);
  41.  
  42.   points->InsertNextPoint(3, 3, 0);
  43.   points->InsertNextPoint(4, 4, 1);
  44.   points->InsertNextPoint(5, 5, 2);
  45.  
  46.   points->InsertNextPoint(4, 4, 0);
  47.   points->InsertNextPoint(5, 5, 1);
  48.  
  49.   points->InsertNextPoint(5, 5, 0);
  50.  
  51.  
  52.   vtkSmartPointer<vtkPolyData> polydata =
  53.     vtkSmartPointer<vtkPolyData>::New();
  54.   polydata->SetPoints(points);
  55.  
  56.   vtkSmartPointer<vtkPolyData> glyph =
  57.     vtkSmartPointer<vtkPolyData>::New();
  58.   // Susikuriam savo objekta
  59.   vtkSmartPointer<vtkConeSource> ConeSource =
  60.       vtkSmartPointer<vtkConeSource>::New();
  61.  
  62.   vtkSmartPointer<vtkGlyph3D> glyph3D =
  63.     vtkSmartPointer<vtkGlyph3D>::New();
  64. #if VTK_MAJOR_VERSION <= 5
  65.   glyph3D->SetSource(ConeSource->GetOutput());
  66.   glyph3D->SetInput(polydata);
  67. #else
  68.   glyph3D->SetSourceConnection(ConeSource->GetOutputPort());
  69.   glyph3D->SetInputData(polydata);
  70. #endif
  71.   glyph3D->Update();
  72.  
  73.   // Create a mapper and actor
  74.   vtkSmartPointer<vtkPolyDataMapper> mapper =
  75.     vtkSmartPointer<vtkPolyDataMapper>::New();
  76.   mapper->SetInputConnection(glyph3D->GetOutputPort());
  77.  
  78.   vtkSmartPointer<vtkActor> actor =
  79.     vtkSmartPointer<vtkActor>::New();
  80.   actor->SetMapper(mapper);
  81.  
  82.   // Create a renderer, render window, and interactor
  83.     vtkSmartPointer<vtkRenderer> renderer =
  84.     vtkSmartPointer<vtkRenderer>::New();
  85.   vtkSmartPointer<vtkRenderWindow> renderWindow =
  86.     vtkSmartPointer<vtkRenderWindow>::New();
  87.   renderWindow->AddRenderer(renderer);
  88.   vtkSmartPointer<vtkRenderWindowInteractor> renderWindowInteractor =
  89.     vtkSmartPointer<vtkRenderWindowInteractor>::New();
  90.   renderWindowInteractor->SetRenderWindow(renderWindow);
  91.   // Add the actor to the scene
  92.   renderer->AddActor(actor);
  93.   renderer->SetBackground(1, .5, 1);//Fono spalva
  94.   // Render and interact
  95.   renderWindow->Render();
  96.   renderWindowInteractor->Start();
  97.  
  98.   return EXIT_SUCCESS;
  99. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement