Advertisement
Guest User

night

a guest
Jun 25th, 2019
70
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.92 KB | None | 0 0
  1. #include <vtkOutlineFilter.h>
  2. #include "vtkConeSource.h"
  3. #include "vtkPolyDataMapper.h"
  4. #include "vtkRenderWindow.h"
  5. #include "vtkRenderWindowInteractor.h"
  6. #include "vtkCamera.h"
  7. #include "vtkActor.h"
  8. #include "vtkRenderer.h"
  9. #include "vtkInteractorStyleTrackballCamera.h"
  10. #include "vtkInteractorStyleJoystickCamera.h"
  11. #include "vtkInteractorStyleRubberBandZoom.h"
  12. #include <vtkDataSetReader.h>
  13. #include <vtkDataSetMapper.h>
  14. #include <vtkLookupTable.h>
  15. #include "vtkPointData.h"
  16. #include "vtkContourFilter.h"
  17. #include <vtkScalarBarActor.h>
  18. #include <vtkProperty.h>
  19. #include "vtkConeSource.h"
  20. #include "vtkPolyDataMapper.h"
  21. #include "vtkRenderWindow.h"
  22. #include "vtkRenderWindowInteractor.h"
  23. #include "vtkCamera.h"
  24. #include "vtkActor.h"
  25. #include "vtkRenderer.h"
  26. #include "vtkInteractorStyleTrackballCamera.h"
  27. #include "vtkInteractorStyleJoystickCamera.h"
  28. #include "vtkInteractorStyleRubberBandZoom.h"
  29. #include <vtkDataSetReader.h>
  30. #include <vtkDataSetMapper.h>
  31. #include <vtkWarpVector.h>
  32. #include <vtkPointDataToCellData.h>
  33. #include <vtkThreshold.h>
  34. #include <vtkPointSetAlgorithm.h>
  35. #include <vtkPointData.h>
  36. #include <vtkConnectivityFilter.h>
  37. #include <vtkProperty.h>
  38. #include <vtkGeometryFilter.h>
  39. #include <vtkPolyDataNormals.h>
  40. #include <vtkLookupTable.h>
  41. #include <vtkContourFilter.h>
  42. #include <vtkDataSet.h>
  43. #include <vtkUnstructuredGridReader.h>
  44. #include <vtkCellArray.h>
  45. #include <vtkDoubleArray.h>
  46. #include <vtkLine.h>
  47. #include <vtkPoints.h>
  48. #include <vtkPolyData.h>
  49. #include <vtkRenderer.h>
  50. #include <vtkSmartPointer.h>
  51. #include <vtkWarpVector.h>
  52. #include <vtkSmartPointer.h>
  53. #include <vtkBoxClipDataSet.h>
  54. #include <vtkLookupTable.h>
  55. #include <vtkMetaImageReader.h>
  56. #include <vtkImageData.h>
  57. #include <vtkDataSetSurfaceFilter.h>
  58. #include <vtkDataSetMapper.h>
  59. #include <vtkCamera.h>
  60. #include <vtkActor.h>
  61. #include <vtkRenderWindow.h>
  62. #include <vtkRenderer.h>
  63. #include <vtkRenderWindowInteractor.h>
  64. #include <vtkVersion.h>
  65. #include <vtkSmartPointer.h>
  66. #include <vtkPolyData.h>
  67. #include <vtkUnstructuredGrid.h>
  68. #include <vtkCellArray.h>
  69. #include <vtkDataSetSurfaceFilter.h>
  70. #include <vtkPointSource.h>
  71. #include <vtkActor.h>
  72. #include <vtkCamera.h>
  73. #include <vtkColorTransferFunction.h>
  74. #include <vtkDataSetMapper.h>
  75. #include <vtkLookupTable.h>
  76. #include <vtkNamedColors.h>
  77. #include <vtkPolyDataNormals.h>
  78. #include <vtkPolyDataReader.h>
  79. #include <vtkRenderWindow.h>
  80. #include <vtkRenderWindowInteractor.h>
  81. #include <vtkRenderer.h>
  82. #include <vtkSmartPointer.h>
  83. #include <vtkVectorDot.h>
  84. #include <vtkWarpVector.h>
  85. #include <vtkImageDataGeometryFilter.h>
  86. #include <vtkUnstructuredGridGeometryFilter.h>
  87. #include <vtkPlane.h>
  88. #include <vtkClipPolyData.h>
  89. #include <vtkAppendPolyData.h>
  90. #include <vtkSmartVolumeMapper.h>
  91. #include <vtkUnstructuredGridGeometryFilter.h>
  92. #include <vtkExtractUnstructuredGrid.h>
  93.  
  94.  
  95.  
  96.  
  97. int main() {
  98.  
  99. // Nuskaitomas failas
  100. vtkDataSetReader *object = vtkDataSetReader::New();
  101. object->SetFileName("ubgrid.vtk");
  102. object->Update();
  103.  
  104.  
  105. /////// Convert vtkUnstructuredGrid to vtkPolyData
  106. vtkSmartPointer<vtkDataSetSurfaceFilter> surface = vtkSmartPointer<vtkDataSetSurfaceFilter>::New();
  107. surface->SetInputConnection(object->GetOutputPort());
  108.  
  109.  
  110. /////////////////////////////////////////////////
  111.  
  112. /*
  113. vtkSmartPointer<vtkExtractUnstructuredGrid> plane = vtkSmartPointer<vtkExtractUnstructuredGrid>::New();
  114. plane->SetInputConnection(object->GetOutputPort());
  115. plane->SetExtent(1, 100, 1, 100, 7, 7);
  116. plane->Update();
  117. */
  118.  
  119.  
  120. // WarpVector
  121. vtkSmartPointer<vtkWarpVector> warp = vtkSmartPointer<vtkWarpVector>::New();
  122. warp->SetInputConnection(surface->GetOutputPort());
  123. warp->SetScaleFactor(0.005);
  124. warp->Update();
  125.  
  126. vtkSmartPointer<vtkPolyDataNormals> normals = vtkSmartPointer<vtkPolyDataNormals>::New();
  127. normals->SetInputData(warp->GetPolyDataOutput());
  128. normals->SetFeatureAngle(45);
  129.  
  130. ////// Kadangi convertinom galima naudoti PolyDataMapper - sukuriamas maperis
  131. //vtkDataSetMapper*mapper = vtkDataSetMapper::New();
  132. vtkSmartPointer<vtkPolyDataMapper> mapper = vtkSmartPointer<vtkPolyDataMapper>::New();
  133. mapper->SetInputConnection(normals->GetOutputPort());
  134. mapper->SetScalarRange(object->GetOutput()->GetPointData()->GetArray("group/Vector1")->GetRange(0)); // Atkarpa nuspalvinta group/Vector1
  135. mapper->ColorByArrayComponent("group/Vector1", 0);
  136. mapper->SetScalarModeToUsePointFieldData();
  137.  
  138.  
  139. ////////////////////////////////////////////////////////////
  140.  
  141.  
  142. // Pridedamas outline ORIGINAL DATA
  143. vtkSmartPointer<vtkOutlineFilter> outlineData = vtkSmartPointer<vtkOutlineFilter>::New();
  144. outlineData->SetInputConnection(object->GetOutputPort());
  145.  
  146. vtkSmartPointer<vtkPolyDataMapper> mapOutline = vtkSmartPointer<vtkPolyDataMapper>::New();
  147. mapOutline->SetInputConnection(outlineData->GetOutputPort());
  148.  
  149. vtkSmartPointer<vtkActor> outline = vtkSmartPointer<vtkActor>::New();
  150. outline->SetMapper(mapOutline);
  151. outline->GetProperty()->SetColor(1, 1, 1);
  152.  
  153.  
  154. // Sukuriamas aktorius
  155. vtkSmartPointer<vtkActor> actor = vtkSmartPointer<vtkActor>::New();
  156. actor->SetMapper(mapper);
  157.  
  158. // vtkRenderer: sukuriamas renderis, prie kurio prijungiamas kugio aktorius
  159. vtkRenderer *ren1 = vtkRenderer::New();
  160. ren1->AddActor(actor);
  161. ren1->AddActor(outline);
  162. ren1->SetBackground(0.1, 0.2, 0.4);
  163.  
  164. // vtkRenderWindow: sukuriamas atvaizdavimo langas, prie kurio prijungiamas renderis
  165. vtkRenderWindow *renWin = vtkRenderWindow::New();
  166. renWin->AddRenderer(ren1);
  167. renWin->SetSize(900, 900);
  168.  
  169. // vtkRenderWindowInteractor: sukuriamas interaktoriaus objektas, prie kurio prijungiams atvaizdavimo langas
  170. vtkRenderWindowInteractor *iren = vtkRenderWindowInteractor::New();
  171. iren->SetRenderWindow(renWin);
  172.  
  173.  
  174. vtkInteractorStyleJoystickCamera*style = vtkInteractorStyleJoystickCamera::New();
  175. iren->SetInteractorStyle(style);
  176.  
  177. iren->Initialize();
  178. iren->Start();
  179.  
  180.  
  181. // Naikinami nereikalingi objektai, atklaisvinama atmintis
  182.  
  183. iren->Delete();
  184.  
  185.  
  186. return 0;
  187. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement