ACloudViewer  3.9.4
A Modern Library for 3D Data Processing
TemplateAlignment.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 "BasePclModule.h"
11 
12 // Qt
13 #include <QString>
14 
16 
17 namespace PCLModules {
18 class TemplateMatching;
19 }
20 
23 public:
25  virtual ~TemplateAlignment();
26 
27  // inherited from BasePclModule
28  virtual int compute();
29 
30 protected:
31  // inherited from BasePclModule
32  virtual int checkSelected();
33  virtual int openInputDialog();
34  virtual void getParametersFromDialog();
35  virtual int checkParameters();
36  virtual QString getErrorMessage(int errorCode);
37 
38  void applyTransformation(ccHObject* entity, const ccGLMatrixd& mat);
39 
42  PCLModules::TemplateMatching* m_templateMatch;
43 
44  float m_leafSize;
46 
47  // PCLUtils::FeatureCloud parameters
51 
52  // PCLUtils::TemplateMatching parameters
56 
57  std::vector<float> m_scales;
58  std::vector<ccPointCloud*> m_templateClouds;
59 };
Base abstract class for each implemented PCL filter.
Definition: BasePclModule.h:53
CANUPO plugin's training dialog.
Template Alignment.
void applyTransformation(ccHObject *entity, const ccGLMatrixd &mat)
virtual int checkSelected()
Checks if current selection is compliant with the filter.
virtual int openInputDialog()
virtual void getParametersFromDialog()
Collects parameters from the filter dialog (if openDialog is successful)
std::vector< float > m_scales
virtual int checkParameters()
virtual QString getErrorMessage(int errorCode)
Returns the error message corresponding to a given error code.
virtual int compute()
Performs the actual filter job.
TemplateAlignmentDialog * m_dialog
std::vector< ccPointCloud * > m_templateClouds
ccPointCloud * m_targetCloud
PCLModules::TemplateMatching * m_templateMatch
Double version of ccGLMatrixTpl.
Definition: ecvGLMatrix.h:56
Hierarchical CLOUDVIEWER Object.
Definition: ecvHObject.h:25
A 3D cloud and its associated features (color, normals, scalar fields, etc.)