[C++][vtk][转载]vtk画六方角椎体

Posted FL1623863129

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[C++][vtk][转载]vtk画六方角椎体相关的知识,希望对你有一定的参考价值。

测试环境:

VS2019专业版

vtk-9.1

代码:

#include <vtkSmartPointer.h>
#include <vtkConeSource.h>
#include <vtkPolyDataMapper.h>
#include <vtkRenderWindow.h>
#include <vtkCamera.h>
#include <vtkActor.h>
#include <vtkRenderer.h>
#include <vtkRenderWindowInteractor.h>
#include <vtkInteractorStyleTrackballCamera.h>
#include <vtkAutoInit.h> 
VTK_MODULE_INIT(vtkRenderingOpenGL2);
VTK_MODULE_INIT(vtkInteractionStyle);

int main()
    // 建立錐體
    vtkSmartPointer<vtkConeSource> coneSource =
        vtkSmartPointer<vtkConeSource>::New();

    // 建立 PolyDataMapper,將多邊形資料(polygonal data)
    // 轉為圖形的基本元素(graphics primitives)
    vtkSmartPointer<vtkPolyDataMapper> coneMapper =
        vtkSmartPointer<vtkPolyDataMapper>::New();
    coneMapper->SetInputConnection(coneSource->GetOutputPort());

    // 建立 Actor,用於表現錐體
    vtkSmartPointer<vtkActor> coneActor = vtkSmartPointer<vtkActor>::New();
    coneActor->SetMapper(coneMapper);

    // 建立 Renderer
    vtkSmartPointer<vtkRenderer> renderer =
        vtkSmartPointer<vtkRenderer>::New();

    // 建立 RenderWindow 繪圖視窗,加入 Renderer,並設定視窗大小
    vtkSmartPointer<vtkRenderWindow> renderWindow =
        vtkSmartPointer<vtkRenderWindow>::New();
    renderWindow->AddRenderer(renderer);

    // 建立 Interactor
    vtkSmartPointer<vtkRenderWindowInteractor> renderWindowInteractor =
        vtkSmartPointer<vtkRenderWindowInteractor>::New();
    renderWindowInteractor->SetRenderWindow(renderWindow);

    // 加入錐體 Actor,並設定背景顏色
    renderer->AddActor(coneActor);
    renderer->SetBackground(.1, .2, .3);

    // 設定視窗標題
    renderWindow->SetWindowName("Hello, VTK!");

    // 繪製圖形
    renderWindow->Render();

    // 設定 Interactor 為 Trackball 型式
    vtkSmartPointer<vtkInteractorStyleTrackballCamera> style =
        vtkSmartPointer<vtkInteractorStyleTrackballCamera>::New();
    renderWindowInteractor->SetInteractorStyle(style);

    // 開始互動式操作
    renderWindowInteractor->Start();

    return EXIT_SUCCESS;

结果:

 

以上是关于[C++][vtk][转载]vtk画六方角椎体的主要内容,如果未能解决你的问题,请参考以下文章

Qt&Vtk-006-one

[C++][vtk][转载]vtk-8.2.0安装后测试代码示例2.1_RenderCylinde.cpp代码

VTK 渲染成 C#

Python vtk学习

添加单元格后更新 UnstructredGrid (VTK C++)

第04章-VTK基础