ACloudViewer  3.9.4
A Modern Library for 3D Data Processing
qM3C2Dialog.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 <ui_qM3C2Dialog.h>
11 
12 // Local
13 #include <qM3C2Tools.h>
14 
15 // Qt
16 #include <QSettings>
17 
19 class ccPointCloud;
20 
22 class qM3C2Dialog : public QDialog, public Ui::M3C2Dialog {
23  Q_OBJECT
24 
25 public:
27  qM3C2Dialog(ccPointCloud* cloud1,
28  ccPointCloud* cloud2,
29  ecvMainAppInterface* app);
30 
32  ccPointCloud* getCloud1() const { return m_cloud1; }
34  ccPointCloud* getCloud2() const { return m_cloud2; }
35 
37 
42 
45 
48 
51 
54  unsigned getMinPointsForStats(unsigned defaultValue = 5) const;
55 
61  };
62 
65 
68 
70  bool keepOriginalCloud() const;
71 
73  int getMaxThreadCount() const;
74 
76  bool loadParamsFromFile(QString filename);
81 
82 protected slots:
83 
84  void swapClouds();
85  void setCloud1Visibility(bool);
86  void setCloud2Visibility(bool);
87  void saveParamsToFile();
88  void loadParamsFromFile();
89  inline void guessParamsSlow() { guessParams(false); }
90  void projDestIndexChanged(int);
92 
94  void updateNormalComboBox();
95 
96 protected: // methods
98  void guessParams(bool fastMode);
99 
101  void setClouds(ccPointCloud* cloud1, ccPointCloud* cloud2);
102 
104  void loadParamsFrom(const QSettings& settings);
106  void saveParamsTo(QSettings& settings);
107 
109 
111  void setupPrecisionMapsTab();
112 
113 protected: // members
115 
119 };
std::string filename
#define slots
A 3D cloud and its associated features (color, normals, scalar fields, etc.)
Main application interface (for plugins)
M3C2 plugin's main dialog.
Definition: qM3C2Dialog.h:22
void guessParams(bool fastMode)
Guess parameters from the cloud #1.
void setCorePointsCloud(ccPointCloud *cloud)
Sets the core points cloud.
Definition: qM3C2Dialog.h:44
qM3C2Normals::ComputationMode getNormalsComputationMode() const
Returns selected normals computation mode.
void onUpdateNormalComboBoxChanged(int)
ecvMainAppInterface * m_app
Definition: qM3C2Dialog.h:114
void saveParamsToFile()
void setCloud1Visibility(bool)
void loadParamsFromFile()
unsigned getMinPointsForStats(unsigned defaultValue=5) const
ccPointCloud * m_cloud2
Definition: qM3C2Dialog.h:117
ExportOptions
Exportation options.
Definition: qM3C2Dialog.h:57
@ PROJECT_ON_CLOUD1
Definition: qM3C2Dialog.h:58
@ PROJECT_ON_CORE_POINTS
Definition: qM3C2Dialog.h:60
@ PROJECT_ON_CLOUD2
Definition: qM3C2Dialog.h:59
void loadParamsFromPersistentSettings()
Loads parameters from persistent settings.
ccPointCloud * m_cloud1
Definition: qM3C2Dialog.h:116
void guessParamsSlow()
Definition: qM3C2Dialog.h:89
ccPointCloud * getNormalsOrientationCloud() const
Returns the cloud to be used for normals orientation (if any)
void updateNormalComboBox()
Updates the normalSourceComboBox.
ccPointCloud * m_corePointsCloud
Definition: qM3C2Dialog.h:118
qM3C2Dialog(ccPointCloud *cloud1, ccPointCloud *cloud2, ecvMainAppInterface *app)
Default constructor.
Definition: qM3C2Dialog.cpp:65
void loadParamsFrom(const QSettings &settings)
Load parameters from QSettings.
void swapClouds()
ExportOptions getExportOption() const
Returns selected export option.
void setupPrecisionMapsTab()
Setups the precision maps tab.
void projDestIndexChanged(int)
ccPointCloud * getCloud2() const
Returns cloud #2.
Definition: qM3C2Dialog.h:34
void setCloud2Visibility(bool)
ccPointCloud * getCloud1() const
Returns cloud #1.
Definition: qM3C2Dialog.h:32
ccPointCloud * getCorePointsCloud() const
Get core points cloud (if any)
int getMaxThreadCount() const
Returns the max number of threads to use.
void setClouds(ccPointCloud *cloud1, ccPointCloud *cloud2)
Sets clouds.
bool keepOriginalCloud() const
void saveParamsTo(QSettings &settings)
Saves parameters to QSettings.
void saveParamsToPersistentSettings()
Saves parameters to persistent settings.
ComputationMode
Normals computation mode.
Definition: qM3C2Tools.h:27