ACloudViewer  3.9.4
A Modern Library for 3D Data Processing
vtkCallbackTools.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 "qPCL.h"
11 
12 // LOCAL
14 
15 // VTK
16 #include <vtkSmartPointer.h>
17 
18 class vtkActor;
19 class vtkAssembly;
20 class vtkPlane;
21 class vtkObject;
22 class vtkAngleWidget;
23 class vtkTextWidget;
24 class vtkTransform;
25 
26 // Implicit Plane callback class
27 namespace CallbackTools {
30 public:
31  static vtkIPWCallback *New() { return new vtkIPWCallback; }
32  virtual void Execute(vtkObject *caller, unsigned long, void *) override;
33 
35  vtkPlane *Plane;
36  vtkActor *Actor;
37 };
38 
39 // box callback class
42  Q_OBJECT
43 public:
44  static vtkBoxCallback *New() { return new vtkBoxCallback; }
45 
46  virtual void Execute(vtkObject *caller, unsigned long, void *) override;
47  void SetActors(const std::vector<vtkActor *> actors);
48 signals:
49  void uerTransform(double *trans);
50 
51 protected:
53  ~vtkBoxCallback() = default;
54  std::vector<vtkActor *> m_actors;
55 };
56 
57 // box callback2 class
60 public:
61  static vtkBoxCallback2 *New() { return new vtkBoxCallback2; }
62 
63  void SetActor(vtkSmartPointer<vtkActor> actor);
64 
65  virtual void Execute(vtkObject *caller, unsigned long, void *) override;
66 
67 protected:
69  ~vtkBoxCallback2() override = default;
70 
71 public:
73 };
74 
75 // angle callback class
78 public:
79  static vtkAngleCallBack *New() { return new vtkAngleCallBack; }
80 
81  virtual void Execute(vtkObject *caller,
82  unsigned long eventId,
83  void *callData) override;
84 
88 };
89 
90 } // namespace CallbackTools
static bool Execute(PointStream< Real > &pointStream, PoissonReconLib::IMesh< Real > &out_mesh, const PoissonReconLib::Parameters &params, UIntPack< FEMSigs... >)
#define signals
vtkSmartPointer< vtkTextWidget > m_text
static vtkAngleCallBack * New()
vtkSmartPointer< vtkAngleWidget > m_angle
static vtkBoxCallback2 * New()
~vtkBoxCallback2() override=default
vtkSmartPointer< vtkActor > m_actor
void uerTransform(double *trans)
static vtkBoxCallback * New()
std::vector< vtkActor * > m_actors
static vtkIPWCallback * New()
#define QPCL_ENGINE_LIB_API
Definition: qPCL.h:15