ACloudViewer  3.9.4
A Modern Library for 3D Data Processing
ecvRegistrationTools.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 // cloudViewer
11 #include <RegistrationTools.h>
12 
13 // CV_DB_LIB
14 #include <ecvGLMatrix.h>
15 
16 class QWidget;
17 #include <QStringList> // QStringList is a type alias in Qt6, cannot forward declare
18 class ccHObject;
19 
22 public:
24 
27  static bool
28  ICP(ccHObject* data,
29  ccHObject* model,
30  ccGLMatrix& transMat,
31  double& finalScale,
32  double& finalRMS,
33  unsigned& finalPointCount,
34  const cloudViewer::ICPRegistrationTools::Parameters& inputParameters,
35  bool useDataSFAsWeights = false,
36  bool useModelSFAsWeights = false,
37  QWidget* parent = nullptr);
38 };
Float version of ccGLMatrixTpl.
Definition: ecvGLMatrix.h:19
Hierarchical CLOUDVIEWER Object.
Definition: ecvHObject.h:25
Registration tools wrapper.
static bool ICP(ccHObject *data, ccHObject *model, ccGLMatrix &transMat, double &finalScale, double &finalRMS, unsigned &finalPointCount, const cloudViewer::ICPRegistrationTools::Parameters &inputParameters, bool useDataSFAsWeights=false, bool useModelSFAsWeights=false, QWidget *parent=nullptr)
Applies ICP registration on two entities.