Add new files
[leishi.git] / draft / en / note / vtk.org
blobcf5862a1a97186f8200a40bd7f2c8e5129426a01
1 * <lisp>(setq Title "VTK")</lisp>
2  - 作者:  [[http://www.stoneszone.net][shilei]]
3  - 版权: 转载请注明出处
4  
5 <contents depth="4">
7 ** 1 在debian的安装
8 <source lang="shell">
9   #apt-get libvtk5 libvtk5-dev vtk-examples vtk-data vtk-doc libvtk5-qt4-dev libvtk5-qt4 mayavi cmake
10 </source>
12  - 安装的example目录为 /usr/share/vtk
13  - vtkdata 目录为 /usr/share/VTKData
15 ** 2 在QT中使用vtk
16  - QT中使用vtk通过调用QVTKWidget,需要包含QVTKWidget.h并且在编译中指定其库文件-lQVTK
17  - 只需要将vtkRenderer加入QVTKWidget下的AddRenderer中,然后就可以针对vtkRenderer进行标准的pipeline,其结果自动显示在QVTKWidget中.
18    [[./images/vtk/HyperSim.png][HyperSim0.1 QVTKWidget Demo]]
20 <source lang="c">
21   //
22   //1. 初始化QVTKWidget和vtkRenderer
23   //
24   vtkPlotWidget_=new QVTKWidget;
25   vtkRenderer *vtkRender_=vtkRenderer::New();
26   vtkPlotWidget_->GetRenderWindow()->AddRenderer(vtkRender_);
28   //
29   //2. 模型处理
30   //
32   // Geometry
33   vtkSource_ = vtkCylinderSource::New();
35   // Mapper
36   vtkMapper_ = vtkPolyDataMapper::New();
37   vtkMapper_->ImmediateModeRenderingOn();
38   vtkMapper_->SetInputConnection(vtkSource_->GetOutputPort());
40   // Actor in scene
41   vtkActor_ = vtkActor::New();
42   vtkActor_->SetMapper(vtkMapper_);
44   // Add Actor to renderer
45   vtkRender_->AddActor(vtkActor_);
47   // Reset camera
48   vtkRender_->ResetCamera();
49   vtkRender_->GetRenderWindow()->Render();
50 </source>