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 
20 ML_START_NAMESPACE
21 
22 //----------------------------------------------------------------------------------
25 //----------------------------------------------------------------------------------
27 {
28 public:
31 
32 protected:
34  void activateAttachments() override;
35 
37  void handleNotification (Field* field) override;
38 
39 private:
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;
57 
59  DoubleField *_sqrGaussParamFld;
60 
62  EnumField *_upsamplingMethodFld;
63 
65  DoubleField *_upsamplingRadiusFld;
66 
68  DoubleField *_upsamplingStepSizeFld;
69 
71  IntField *_maxNumUpsamplingStepsFld;
72 
74  IntField *_pointDensityFld;
75 
77  FloatField *_dilationVoxelSizeFld;
78 
80  IntField *_dilationIterationsFld;
81 
84  BoolField *_skipNanPointsFld;
85 
88 
91 };
92 
93 ML_END_NAMESPACE
94 
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:62
Field to encapsulate a double value.
Definition: mlFields.h:806
Field to encapsulate an enumerated value.
Definition: mlFields.h:363
Base class for all fields used in the ML.
Definition: mlField.h:73
Field to encapsulate a float value.
Definition: mlFields.h:627
Field to encapsulate an integer value.
Definition: mlFields.h:161
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)
Like 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.