Point Cloud Library (PCL) 1.15.0
Loading...
Searching...
No Matches
qvtk_compatibility.h
1/*
2 * SPDX-License-Identifier: BSD-3-Clause
3 *
4 * Point Cloud Library (PCL) - www.pointclouds.org
5 * Copyright (c) 2020-, Open Perception
6 *
7 * All rights reserved
8 */
9#pragma once
10
11#include <pcl/pcl_macros.h>
12#include <pcl/pcl_config.h>
13
14#if HAVE_QVTK
15#include <vtkVersion.h>
16#include <vtkRenderWindow.h>
17
18#if VTK_MAJOR_VERSION > 8
19 #include <QVTKOpenGLNativeWidget.h>
20 using PCLQVTKWidget = QVTKOpenGLNativeWidget;
21#else
22 #include <QVTKWidget.h>
23 using PCLQVTKWidget = QVTKWidget;
24#endif // VTK_MAJOR_VERSION > 8
25
26
27inline auto PCL_EXPORTS getInteractorCompat(PCLQVTKWidget& qvtk) {
28#if VTK_MAJOR_VERSION > 8
29 return qvtk.interactor();
30#else
31 return qvtk.GetInteractor();
32#endif // VTK_MAJOR_VERSION > 8
33}
34
35inline auto PCL_EXPORTS getRenderWindowCompat(PCLQVTKWidget& qvtk) {
36#if VTK_MAJOR_VERSION > 8
37 return qvtk.renderWindow();
38#else
39 return qvtk.GetRenderWindow();
40#endif // VTK_MAJOR_VERSION > 8
41}
42
43inline auto PCL_EXPORTS setRenderWindowCompat(PCLQVTKWidget& qvtk, vtkRenderWindow& window) {
44#if VTK_MAJOR_VERSION > 8
45 return qvtk.setRenderWindow(&window);
46#else
47 return qvtk.SetRenderWindow(&window);
48#endif // VTK_MAJOR_VERSION > 8
49}
50
51#else
52#error PCL is not compiled with QVTK.
53#endif
Defines all the PCL and non-PCL macros used.