ACloudViewer  3.9.4
A Modern Library for 3D Data Processing
vtkplotwidget.h
Go to the documentation of this file.
1 // ----------------------------------------------------------------------------
2 // - CloudViewer: www.cloudViewer.org -
3 // ----------------------------------------------------------------------------
4 // Copyright (c) 2018-2024 www.cloudViewer.org
5 // SPDX-License-Identifier: MIT
6 // ----------------------------------------------------------------------------
7 
8 #pragma once
9 
10 // #define vtkRenderingCore_AUTOINIT
11 // 3(vtkInteractionStyle,vtkRenderingFreeType,vtkRenderingOpenGL) // opengl2
12 // #define vtkRenderingVolume_AUTOINIT 1(vtkRenderingVolumeOpenGL) // opengl2
13 
14 // #include <vtkAutoInit.h>
15 
16 // VTK_MODULE_INIT(vtkRenderingOpenGL) // opengl2
17 // VTK_MODULE_INIT(vtkInteractionStyle)
18 // VTK_MODULE_INIT(vtkRenderingContextOpenGL) // opengl2
19 
20 // #include <vtkAutoInit.h>
21 // VTK_MODULE_INIT(vtkRenderingFreeType)
22 // VTK_MODULE_INIT(vtkRenderingOpenGL2);
23 // VTK_MODULE_INIT(vtkInteractionStyle);
24 
25 #include <QVTKOpenGLNativeWidget.h>
26 
27 #include "qPCL.h"
28 
29 class vtkChartXY;
30 class vtkContextItem;
31 class vtkContextView;
32 namespace VtkUtils {
33 
34 class VtkPlotWidgetPrivate;
35 class VtkPlotWidget : public QVTKOpenGLNativeWidget {
36  Q_OBJECT
37 public:
38  explicit VtkPlotWidget(QWidget* parent = nullptr);
39  virtual ~VtkPlotWidget();
40 
41  virtual vtkContextItem* chart() const = 0;
42 
43  vtkContextView* contextView() const;
44  vtkRenderWindow* GetRenderWindow() { return this->renderWindow(); }
45 
46 protected:
47  void init();
48 
49 private:
50  VtkPlotWidgetPrivate* d_ptr;
51  Q_DISABLE_COPY(VtkPlotWidget)
52 };
53 
54 } // namespace VtkUtils
virtual vtkContextItem * chart() const =0
vtkContextView * contextView() const
vtkRenderWindow * GetRenderWindow()
Definition: vtkplotwidget.h:44
VtkPlotWidget(QWidget *parent=nullptr)