ACloudViewer  3.9.4
A Modern Library for 3D Data Processing
G3Point.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 
11 #include <ecvStdPluginInterface.h>
12 
13 // qCC_db
14 #include <ecvExternalFactory.h>
15 
17 public:
18  G3PointFactory(QString factoryName, ecvMainAppInterface* app)
19  : ccExternalFactory(factoryName), m_app(app) {}
20 
21  virtual ccHObject* buildObject(const QString& metaName) override;
22 
24 };
25 
26 class G3PointPlugin : public QObject, public ccStdPluginInterface {
27  Q_OBJECT
29 
30  // Replace "Example" by your plugin name (IID should be unique - let's hope
31  // your plugin name is unique ;) The info.json file provides information
32  // about the plugin to the loading system and it is displayed in the plugin
33  // information dialog.
34  Q_PLUGIN_METADATA(IID "ecvcorp.cloudviewer.plugin.G3Point" FILE
35  "../info.json")
36 
37 public:
38  explicit G3PointPlugin(QObject* parent = nullptr);
39  virtual ~G3PointPlugin() override = default;
40 
41  // Inherited from ccStdPluginInterface
42  virtual void onNewSelection(
43  const ccHObject::Container& selectedEntities) override;
44  virtual QList<QAction*> getActions() override;
45 
46 private:
48 
52  QAction* m_action;
53 };
CCPluginStub.
Definition: G3Point.h:16
G3PointFactory(QString factoryName, ecvMainAppInterface *app)
Definition: G3Point.h:18
virtual ccHObject * buildObject(const QString &metaName) override
Custom object building method.
Definition: G3Point.cpp:32
ecvMainAppInterface * m_app
Definition: G3Point.h:23
Hierarchical CLOUDVIEWER Object.
Definition: ecvHObject.h:25
std::vector< ccHObject * > Container
Standard instances container (for children, etc.)
Definition: ecvHObject.h:337
Standard ECV plugin interface.
Standard ECV plugin interface.
Main application interface (for plugins)