ACloudViewer  3.9.4
A Modern Library for 3D Data Processing
qMPlane.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 // std
11 #include <memory>
12 
13 // ACloudViewer
14 #include <ecvPickingListener.h>
15 #include <ecvPointCloud.h>
16 #include <ecvStdPluginInterface.h>
17 
18 // qMPlane
20 
21 #ifdef USE_VLD
22 // VLD
23 #include <vld.h>
24 #endif
25 
26 class qMPlane : public QObject, public ccStdPluginInterface {
27  Q_OBJECT
29  Q_PLUGIN_METADATA(IID "ecvcorp.cloudviewer.plugin.MPlane" FILE "info.json")
30 
31 public:
32  explicit qMPlane(QObject *parent = nullptr);
33  ~qMPlane() override = default;
34 
35  void onNewSelection(const ccHObject::Container &selectedEntities) override;
36  QList<QAction *> getActions() override;
37 
38 protected slots:
39  void doAction();
40 
41 private:
42  QAction *m_action = nullptr;
43  ccPointCloud *m_selectedCloud = nullptr;
44  std::unique_ptr<ccMPlaneDlgController> m_controller;
45 };
#define slots
std::vector< ccHObject * > Container
Standard instances container (for children, etc.)
Definition: ecvHObject.h:337
Standard ECV plugin interface.
A 3D cloud and its associated features (color, normals, scalar fields, etc.)
Standard ECV plugin interface.
void onNewSelection(const ccHObject::Container &selectedEntities) override
Definition: qMPlane.cpp:37
~qMPlane() override=default
void doAction()
Definition: qMPlane.cpp:53
qMPlane(QObject *parent=nullptr)
Definition: qMPlane.cpp:21
QList< QAction * > getActions() override
Get a list of actions for this plugin.
Definition: qMPlane.cpp:26