ACloudViewer  3.9.4
A Modern Library for 3D Data Processing
ecvRegistrationDlg.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 <QDialog>
11 
12 // cloudViewer
13 #include <ReferenceCloud.h>
14 #include <RegistrationTools.h>
15 #include <ui_registrationDlg.h>
16 
17 class ccHObject;
18 
20 class ccRegistrationDlg : public QDialog, public Ui::RegistrationDialog {
21  Q_OBJECT
22 
23 public:
26  ccHObject *model,
27  QWidget *parent = nullptr);
28 
30  virtual ~ccRegistrationDlg();
31 
32  // shortcuts
35 
38 
40 
42  unsigned getMaxIterationCount() const;
43 
45  unsigned getFinalOverlap() const;
46 
48 
50  double getMinRMSDecrease() const;
51 
54  static double GetAbsoluteMinRMSDecrease();
55 
57 
59  void setMinRMSDecrease(double value);
60 
62 
64  bool removeFarthestPoints() const;
65 
67  unsigned randomSamplingLimit() const;
68 
71 
74 
76  bool useDataSFAsWeights() const;
77 
79  bool useModelSFAsWeights() const;
80 
82  bool useC2MSignedDistances() const;
83 
86  const;
87 
89 
92  bool adjustScale() const;
93 
95 
97  int getTransformationFilters() const;
98 
100  int getMaxThreadCount() const;
101 
103  void saveParameters() const;
104 
105 protected:
106  void swapModelAndData();
107 
108 protected:
109  void updateGUI();
110 
113 
116 };
Hierarchical CLOUDVIEWER Object.
Definition: ecvHObject.h:25
Point cloud or mesh registration dialog.
void saveParameters() const
Saves parameters for next call.
bool useC2MSignedDistances() const
Whether to use signed distances when the reference is a mesh.
bool useModelSFAsWeights() const
Whether to use model displayed SF as weights.
unsigned getFinalOverlap() const
Returns the approximated final overlap.
bool adjustScale() const
Returns whether to adjust the scale during optimization.
unsigned randomSamplingLimit() const
Returns the limit above which clouds should be randomly resampled.
virtual ~ccRegistrationDlg()
Default destructor.
unsigned getMaxIterationCount() const
Returns max number of iterations.
bool useDataSFAsWeights() const
Whether to use data displayed SF as weights.
cloudViewer::ICPRegistrationTools::CONVERGENCE_TYPE ConvergenceMethod
ccHObject * modelEntity
'Model' entity
static double GetAbsoluteMinRMSDecrease()
ccHObject * getModelEntity()
Returns 'model' entity.
ccHObject * getDataEntity()
Returns 'data' entity.
double getMinRMSDecrease() const
Returns minimum RMS decrease between two consecutive iterations.
cloudViewer::ICPRegistrationTools::NORMALS_MATCHING normalsMatchingOption() const
Method to take normals into account.
int getMaxThreadCount() const
Returns the maximum number of threads.
ccRegistrationDlg(ccHObject *data, ccHObject *model, QWidget *parent=nullptr)
Default constructor.
void setMinRMSDecrease(double value)
Sets the minimum RMS decrease between two consecutive iterations.
bool removeFarthestPoints() const
Returns whether farthest points should be ignored at each iteration.
ccHObject * dataEntity
'Data' entity
ConvergenceMethod getConvergenceMethod() const
Returns convergence method.
int getTransformationFilters() const
Returns active transformation filters.
CONVERGENCE_TYPE
Convergence control method.
NORMALS_MATCHING
Normals matching method.