Point Cloud Library (PCL)  1.13.0-dev
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 
25 inline 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 
33 inline 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 
41 inline 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