MeVisLab Toolbox Reference
mlPCLPointMemberArithmetic.h
Go to the documentation of this file.
1 // Copyright (c) Fraunhofer MEVIS, Germany. All rights reserved.
2 // **InsertLicense** code author="Wolf Spindler"
3 //----------------------------------------------------------------------------------
5 
12 //----------------------------------------------------------------------------------
13 #pragma once
14 
15 #include "MLPCLSupportSystem.h"
16 #include <mlPCLBaseObject.h>
17 #include <mlPCLModule.h>
18 
19 ML_START_NAMESPACE
20 
21 //----------------------------------------------------------------------------------
23 //----------------------------------------------------------------------------------
25 {
26 public:
30 
31 protected:
33  void activateAttachments() override;
34 
36  void handleNotification (Field* field) override;
37 
38 private:
40  void _filter();
41 
43  template <typename POINT_CLOUD_TYPE> void _filterT(const POINT_CLOUD_TYPE &inputPointCloud);
44 
46  std::vector<BoolField *> _activateMemberFld;
47 
49  DoubleField *_scalarConstantFld;
50 
52  std::vector<DoubleField *> _constant1Fld;
53 
55  NotifyField * _set0ForAll1Fld;
56 
58  std::vector<DoubleField *> _constant2Fld;
59 
61  NotifyField * _set0ForAll2Fld;
62 
64  EnumField *_operation1Fld;
65 
67  std::vector<DoubleField *> _result1Fld;
68 
70  std::vector<DoubleField *> _result2Fld;
71 
73  BoolField *_result1IsValidFld;
74 
76  BoolField *_result2IsValidFld;
77 
80 
83 };
84 
85 ML_END_NAMESPACE
86 
Project global and OS specific declarations.
#define MLPCLSUPPORT_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 without value for notifications.
Definition: mlFields.h:1049
ML Module base class for algorithms from the Point Cloud Library (PCL).
Definition: mlPCLModule.h:26
ML Module providing arithmetic operations on a selectable subset of members/fields of the points of t...
void activateAttachments() override
Updates internal state after changes of fields without field notifications.
void handleNotification(Field *field) override
Handles field changes of the field field.
PCLPointMemberArithmetic()
Creates a PCLPointMemberArithmetic module with two input connectors for two PCLBaseObjectPtr's pointi...
#define ML_MODULE_CLASS_HEADER(className)
Like ML_CLASS_HEADER for the usage of derived classes from Module.
Base object containing pointers (as MLPCLObjectPtrsContainer) to objects from the Point Cloud Library...
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.