关于VTK9 vs2019编译QVTK 过程中的记录

1 篇文章 0 订阅

环境:vtk9.0   QT5.12  PCL 1.12  vs2019 (x64)

这段时间下载了VTK 9.0,并利用vs2019对QVTK进行了编译。

1、只要在编译过程中勾选了QT相关选项,就一定可以生成QVTK相关的头文件和库。

      【编译过程网上已经有了很多人发了文件,随便找一篇参考就好。】

在这里插入图片描述

 

2、与之前版本不一样的,QVTK9.0确实没有QT Designer所需要的plug-in文件。也确实不需要这个plug-in文件。【我为这个问题纠结了很久】

只需要在QT的ui界面上拖一个openGL的widget空间就可以,然后将其提升为 QVTKOpenNativeWidget这个类即可。

3、关于widget与viewer连接的代码以及头文件的要求。

除了以下2点外,其余与之前版本连接方法一致。

3.1 头文件
#if QVTKVERSION>8
   // #define QVTKWidget QVTKOpenGLNativeWidget
    #include "QVTKOpenGLNativeWidget.h"
    #include <vtkGenericOpenGLRenderWindow.h>
#else
    #include "QVTKWidget.h"
#endif

3.2 连接代码

screen: screen 是ui上你拖进去的那个OpenGL widget 对象

viewer的定义: pcl::visualization::PCLVisualizer::Ptr viewer;

#if VTK_MAJOR_VERSION > 8
    auto renderer = vtkSmartPointer<vtkRenderer>::New( );
    auto renderWindow = vtkSmartPointer<vtkGenericOpenGLRenderWindow>::New( );
    renderWindow->AddRenderer(renderer);
    viewer.reset(new pcl::visualization::PCLVisualizer(renderer, renderWindow, "viewer", false));
    screen->setRenderWindow(viewer->getRenderWindow( ));

    viewer->setupInteractor(screen->interactor( ), screen->renderWindow( ));
#else
    viewer.reset(new pcl::visualization::PCLVisualizer("viewer", false));
    screen->SetRenderWindow(viewer->getRenderWindow( ));
    viewer->setupInteractor(screen->GetInteractor( ), screen->GetRenderWindow( ));
#endif

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值