MeVisLab Toolbox Reference
mlPCLMovingLeastSquares.h
Go to the documentation of this file.
1// Copyright (c) Fraunhofer MEVIS, Germany. All rights reserved.
2// **InsertLicense** code author="Wolf Spindler"
3//----------------------------------------------------------------------------------
6
14//----------------------------------------------------------------------------------
15#pragma once
16
17#include "MLPCLSurfaceSystem.h"
18#include <mlPCLModule.h>
19
20ML_START_NAMESPACE
21
22//----------------------------------------------------------------------------------
25//----------------------------------------------------------------------------------
27{
28public:
31
32protected:
34 void activateAttachments() override;
35
37 void handleNotification (Field* field) override;
38
39private:
41 void _filter();
42
44 template <typename POINT_CLOUD_TYPE> void _filterT(const POINT_CLOUD_TYPE &inputPointCloud);
45
47 BoolField *_computeNormalsFld;
48
50 IntField *_polynomialOrderFld;
51
53 BoolField *_polynomialFitFld;
54
56 DoubleField *_searchRadiusFld = nullptr;
57
59 IntField *_maxNumPointsFld = nullptr;
60
62 EnumField *_searchMethodFld = nullptr;
63
65 DoubleField *_sqrGaussParamFld;
66
68 EnumField *_upsamplingMethodFld;
69
71 DoubleField *_upsamplingRadiusFld;
72
74 DoubleField *_upsamplingStepSizeFld;
75
77 IntField *_maxNumUpsamplingStepsFld;
78
80 IntField *_pointDensityFld;
81
83 FloatField *_dilationVoxelSizeFld;
84
86 IntField *_dilationIterationsFld;
87
90 BoolField *_skipNanPointsFld;
91
94
97};
98
99ML_END_NAMESPACE
100
Project global and OS specific declarations.
#define MLPCL_Surface_EXPORT
If included by external modules, exported symbols are declared as import symbols.
Field to encapsulate a boolean value.
Definition mlFields.h:56
Field to encapsulate a double value.
Definition mlFields.h:494
Field to encapsulate an enumerated value.
Definition mlFields.h:173
Base class for all fields used in the ML.
Definition mlField.h:73
Field to encapsulate a float value.
Definition mlFields.h:389
Field to encapsulate an integer value.
Definition mlFields.h:117
ML Module base class for algorithms from the Point Cloud Library (PCL).
Definition mlPCLModule.h:26
ML Module class processing a point cloud with the MLS (Moving Least Squares) algorithm pcl::MovingLea...
void handleNotification(Field *field) override
Handles field changes of the field field.
void activateAttachments() override
Updates internal state after changes of fields without field notifications.
PCLMovingLeastSquares()
Initializes an ML module wrapping a pcl::MovingLeastSquares filter.
#define ML_MODULE_CLASS_HEADER(className)
Similar to ML_CLASS_HEADER for the usage of derived classes from Module.
ML Module base class for algorithms from the Point Cloud Library (PCL).
#define ML_PCL_TEST_INTERFACE(BASE_OBJECT_NAME)
Implements a dedicated interface for PCL related modules which is required in automatic tests.