MeVisLab Toolbox Reference
mlPCLToInventor.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
16#include <mlPCLModule.h>
17
18// Some forwards to internally used classes.
19class SoIndexedFaceSet;
20class SoLineSet;
21class SoPointSet;
22class SoVertexProperty;
23
24ML_START_NAMESPACE
25
26//----------------------------------------------------------------------------------
28//----------------------------------------------------------------------------------
30{
31public:
34
36 ~PCLToInventor() override;
37
38protected:
40 void activateAttachments() override;
41
43 void handleNotification (Field* field) override;
44
45private:
47 void _update();
48
50 template <typename POINT_CLOUD_TYPE> void _updateT(const POINT_CLOUD_TYPE &/*inputPointCloud*/);
51
53 void _updateT(const MLPolygonMesh &inputPolygonMesh);
54
56 SoVertexProperty* _soVertexProperty;
57
59 SoNodeField *_soVertexPropertyOutput;
60
61
63 SoPointSet* _soPointSet;
64
66 SoNodeField *_soPointSetOutput;
67
68
70 SoIndexedFaceSet* _soIndexedFaceSet;
71
73 SoNodeField *_soIndexedFaceSetOutput;
74
75
77 SoLineSet* _soLineSet;
78
80 SoNodeField *_soLineSetOutput;
81
82
85 EnumField *_data012DestinationFld;
86
88 EnumField *_normalBindingFld;
89
92 EnumField *_data_n012DestinationFld;
93
95 EnumField *_materialBindingFld;
96
101 EnumField *_usedValueFld;
102
109 EnumField *_mapValueToFld;
110
113 EnumField *_whereToStoreValueFld;
114
118 BoolField *_scaleFromInputRangeFld;
119
123 FloatField *_inputRangeMinFld;
124
128 FloatField *_inputRangeMaxFld;
129
132
135};
136
137ML_END_NAMESPACE
138
Project global and OS specific declarations.
#define MLPCL_InventorAdapters_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.
void handleNotification(Field *field) override
Handles field changes of the field field.
~PCLToInventor() override
Destroy all contents and unreferences the internally used inventor nodes.
PCLToInventor()
Creates a PCLToInventor module with one input connector for a PCLBaseObjectPtr.
#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.
pcl::PolygonMesh MLPolygonMesh
The basic polygon type of a pcl::PolygonMesh used in the PCL MeVisLab binding.
Definition mlPCLTypes.h:111