MeVisLab Toolbox Reference
mlPCLSave.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 "MLPCLIOSystem.h"
16#include <mlPCLModule.h>
17
18ML_START_NAMESPACE
19
20//----------------------------------------------------------------------------------
22//----------------------------------------------------------------------------------
24{
25public:
28
29protected:
31 void activateAttachments() override;
32
34 void handleNotification (Field* field) override;
35
36private:
38 void _save();
39
41 template <typename POINT_CLOUD_TYPE> void _saveT(const POINT_CLOUD_TYPE &inputPointCloud);
42
44 EnumField *_fileFormatFld;
45
48 BoolField *_saveAsASCIIFld;
49
52 BoolField *_compressFld;
53
54#if defined(_PCL_SAVE_COMPILE_IFS)
57 StringField *_cloudNameFld;
58#endif
59
61 StringField *_fullFilePathFld;
62
64 NotifyField *_saveFld;
65
67 BoolField *_fileIOHasSucceededFld;
68
71
74};
75
76ML_END_NAMESPACE
77
Project global and OS specific declarations.
#define MLPCL_IO_EXPORT
If included by external modules, exported symbols are declared as import symbols.
PCLModule(int numImageInputs=0, int numImageOutputs=0, int numPCLInputs=0, int numPCLOutputs=0, bool createEnumAndNotify=false)
void activateAttachments() override
Updates internal state after changes of fields without field notifications.
PCLSave()
Creates a PCLSave module with one input connector for a PCLBaseObjectPtr.
void handleNotification(Field *field) override
Handles field changes of the field field.
#define ML_MODULE_CLASS_HEADER(className)
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.