ACloudViewer  3.9.4
A Modern Library for 3D Data Processing
qSRA.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 "ecvStdPluginInterface.h"
11 
12 class ccPointCloud;
13 class ccPolyline;
14 
16 class qSRA : public QObject, public ccStdPluginInterface {
17  Q_OBJECT
19  Q_PLUGIN_METADATA(IID "ecvcorp.cloudviewer.plugin.qSRA" FILE "../info.json")
20 
21 public:
23  explicit qSRA(QObject* parent = nullptr);
24 
25  virtual ~qSRA() = default;
26 
27  // inherited from ccStdPluginInterface
28  virtual void onNewSelection(
29  const ccHObject::Container& selectedEntities) override;
30  virtual QList<QAction*> getActions() override;
31 
32 protected slots:
33 
35  void loadProfile() const;
36 
38  void computeCloud2ProfileRadialDist() const;
39 
41  void projectCloudDistsInGrid() const;
42 
43 protected:
47  ccPolyline* polyline) const;
48 
50  bool doComputeRadialDists(ccPointCloud* cloud, ccPolyline* polyline) const;
51 
53  QAction* m_doLoadProfile;
58 };
#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.)
Colored polyline.
Definition: ecvPolyline.h:24
Standard ECV plugin interface.
Surface of Revolution Analysis plugin.
Definition: qSRA.h:16
virtual void onNewSelection(const ccHObject::Container &selectedEntities) override
Definition: qSRA.cpp:92
virtual ~qSRA()=default
bool doComputeRadialDists(ccPointCloud *cloud, ccPolyline *polyline) const
Computes cloud-to-profile radial distances.
Definition: qSRA.cpp:382
QAction * m_doCompareCloudToProfile
Associated action.
Definition: qSRA.h:55
QAction * m_doLoadProfile
Associated action.
Definition: qSRA.h:53
void loadProfile() const
Loads profile from a dedicated file.
Definition: qSRA.cpp:146
qSRA(QObject *parent=nullptr)
Default constructor.
Definition: qSRA.cpp:40
QAction * m_doProjectCloudDists
Associated action.
Definition: qSRA.h:57
void doProjectCloudDistsInGrid(ccPointCloud *cloud, ccPolyline *polyline) const
Definition: qSRA.cpp:456
virtual QList< QAction * > getActions() override
Get a list of actions for this plugin.
Definition: qSRA.cpp:47
void projectCloudDistsInGrid() const
Projects the cloud distances into a 2D grid.
Definition: qSRA.cpp:408
void computeCloud2ProfileRadialDist() const
Computes cloud-to-profile radial distances.
Definition: qSRA.cpp:304