Win VTK CMakeList

Win VTK

E:\PCL_VS\Vizum_filter\CMakeLists.txt

cmake_minimum_required(VERSION 3.5)

project(Vizum_filter LANGUAGES CXX)

set(CMAKE_INCLUDE_CURRENT_DIR ON)

set(CMAKE_AUTOUIC ON)
set(CMAKE_AUTOMOC ON)
set(CMAKE_AUTORCC ON)

set(CMAKE_CXX_STANDARD 11)
set(CMAKE_CXX_STANDARD_REQUIRED ON)

find_package(VTK REQUIRED)

# PCL
find_package(PCL REQUIRED)
# Fix a compilation bug under ubuntu 16.04 (Xenial)
list(REMOVE_ITEM PCL_LIBRARIES "vtkproj4")
include_directories(${PCL_INCLUDE_DIRS})
add_definitions(${PCL_DEFINITIONS})

find_package(Qt5 COMPONENTS Core Widgets Gui REQUIRED)


  add_executable(Vizum_filter
    main.cpp
    mainwindow.cpp
    mainwindow.h
    mainwindow.ui
    typedefs.h

    )

#target_link_libraries(Vizum_filter PRIVATE Qt5::Widgets)
target_link_libraries(Vizum_filter ${PCL_LIBRARIES} Qt5::Core Qt5::Widgets Qt5::Gui)

#include <pcl/point_types.h>
#include <pcl/point_cloud.h>

typedef pcl::PointXYZ PointT;
typedef pcl::PointCloud<PointT> PointCloud;
typedef pcl::PointCloud<PointT>::Ptr PointCloudPtr;
typedef pcl::PointCloud<PointT>::ConstPtr PointCloudConstPtr;

// VTK 相关
#include <vtkAutoInit.h>
VTK_MODULE_INIT(vtkRenderingOpenGL2);
VTK_MODULE_INIT(vtkInteractionStyle);
#include <vtkRenderWindow.h>

void MainWindow::m_initialVtkWidget()
{
    m_cloudPtr.reset(new PointCloud);

    viewer.reset(new pcl::visualization::PCLVisualizer("viewer", false));

    viewer->addPointCloud(m_cloudPtr, "cloud");

    ui->qvtkWidget->SetRenderWindow(viewer->getRenderWindow());
    viewer->setupInteractor(ui->qvtkWidget->GetInteractor(), ui->qvtkWidget->GetRenderWindow());
    ui->qvtkWidget->update();

}
viewer->setPointCloudRenderingProperties (pcl::visualization::PCL_VISUALIZER_POINT_SIZE, 3, "cloud");
viewer->updatePointCloud(m_cloudPtr, "cloud");
viewer->resetCamera();        
ui->qvtkWidget->update(); 

猜你喜欢

转载自blog.csdn.net/yaked/article/details/110009608