ACloudViewer  3.9.4
A Modern Library for 3D Data Processing
abstractwidgetobserver.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 #include <vtkCommand.h>
11 
12 #include <QObject>
13 
14 #include "../qPCL.h"
15 
16 class vtkInteractorObserver;
17 namespace VtkUtils {
18 
20  public vtkCommand {
21  Q_OBJECT
22 public:
23  explicit AbstractWidgetObserver(QObject* parent = 0);
24  virtual ~AbstractWidgetObserver();
25 
26  void attach(vtkInteractorObserver* widget);
27 
28 protected:
29  virtual void Execute(vtkObject* caller,
30  unsigned long eventId,
31  void* callData) = 0;
32 
33 protected:
34  vtkInteractorObserver* m_widget = nullptr;
35 };
36 
37 } // namespace VtkUtils
virtual void Execute(vtkObject *caller, unsigned long eventId, void *callData)=0
#define QPCL_ENGINE_LIB_API
Definition: qPCL.h:15