Point Cloud Library (PCL) 1.12.1
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#include <pcl/pcl_macros.h>
10#include <pcl/pcl_config.h>
11
12#if HAVE_QVTK
13#include <vtkVersion.h>
14#include <vtkRenderWindow.h>
15
16#if VTK_MAJOR_VERSION > 8
17 #include <QVTKOpenGLNativeWidget.h>
18 using PCLQVTKWidget = QVTKOpenGLNativeWidget;
19#else
20 #include <QVTKWidget.h>
21 using PCLQVTKWidget = QVTKWidget;
22#endif // VTK_MAJOR_VERSION > 8
23
24
25inline auto PCL_EXPORTS getInteractorCompat(PCLQVTKWidget& qvtk) {
26#if VTK_MAJOR_VERSION > 8
27 return qvtk.interactor();
28#else
29 return qvtk.GetInteractor();
30#endif // VTK_MAJOR_VERSION > 8
31}
32
33inline auto PCL_EXPORTS getRenderWindowCompat(PCLQVTKWidget& qvtk) {
34#if VTK_MAJOR_VERSION > 8
35 return qvtk.renderWindow();
36#else
37 return qvtk.GetRenderWindow();
38#endif // VTK_MAJOR_VERSION > 8
39}
40
41inline auto PCL_EXPORTS setRenderWindowCompat(PCLQVTKWidget& qvtk, vtkRenderWindow& window) {
42#if VTK_MAJOR_VERSION > 8
43 return qvtk.setRenderWindow(&window);
44#else
45 return qvtk.SetRenderWindow(&window);
46#endif // VTK_MAJOR_VERSION > 8
47}
48
49#else
50#error PCL is not compiled with QVTK.
51#endif
Defines all the PCL and non-PCL macros used.
#define PCL_EXPORTS
Definition: pcl_macros.h:323