將C:\VTK 5.6\vtkdata\Data\42400-IDGH.stl加入專案
1: // ReadSTLEx.cpp : 定義主控台應用程式的進入點。
2: //
3: 4: #include "stdafx.h"
5: #include <vtkPolyData.h>
6: #include <vtkSTLReader.h>
7: #include <vtkSmartPointer.h>
8: #include <vtkPolyDataMapper.h>
9: #include <vtkActor.h>
10: #include <vtkRenderWindow.h>
11: #include <vtkRenderer.h>
12: #include <vtkRenderWindowInteractor.h>
13: int _tmain(int argc, _TCHAR* argv[])
14: {15: std::string inputFilename = "42400-IDGH.stl";
16: 17: vtkSmartPointer<vtkSTLReader> reader = vtkSmartPointer<vtkSTLReader>::New(); 18: reader->SetFileName(inputFilename.c_str()); 19: reader->Update(); 20: 21: // Visualize
22: vtkSmartPointer<vtkPolyDataMapper> mapper = vtkSmartPointer<vtkPolyDataMapper>::New(); 23: mapper->SetInputConnection(reader->GetOutputPort()); 24: 25: vtkSmartPointer<vtkActor> actor = 26: vtkSmartPointer<vtkActor>::New(); 27: actor->SetMapper(mapper); 28: 29: vtkSmartPointer<vtkRenderer> renderer = 30: vtkSmartPointer<vtkRenderer>::New(); 31: vtkSmartPointer<vtkRenderWindow> renderWindow = vtkSmartPointer<vtkRenderWindow>::New(); 32: renderWindow->AddRenderer(renderer); 33: vtkSmartPointer<vtkRenderWindowInteractor> renderWindowInteractor = vtkSmartPointer<vtkRenderWindowInteractor>::New(); 34: renderWindowInteractor->SetRenderWindow(renderWindow); 35: 36: renderer->AddActor(actor);37: renderer->SetBackground(.0, .0, .6); // Background color green
38: 39: renderWindow->Render(); 40: renderWindowInteractor->Start();41: return 0;
42: } 43: 練習再加入相同一組machine parts
新增actor2, 資料來源和actor相同, 都是mapper,
PS. 上圖VTK app示意圖是不同mapper的兩組actors
為了顯示, 將actor2進行平移, 即actor2->AddPosition(15.0, 0.0, 0.0)
1: vtkSmartPointer<vtkActor> actor2 = 2: vtkSmartPointer<vtkActor>::New(); 3: actor2->SetMapper(mapper); 4: actor2->AddPosition(15.0, 0.0, 0.0);並且加入renderer
1: renderer->AddActor(actor2);
參考資料:
1. Infovis with VTK
全站熱搜





![image_thumb1[1] image_thumb1[1]](https://pimg.1px.tw/me1237guy/1439258379-1233461645.png)
留言列表
