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.
20class SoLineSet;
21class SoPointSet;
23
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
138
Project global and OS specific declarations.
#define MLPCL_InventorAdapters_EXPORT
If included by external modules, exported symbols are declared as import symbols.
Field to encapsulate a boolean value.
Definition mlFields.h:58
Field to encapsulate an enumerated value.
Definition mlFields.h:195
Base class for all fields used in the ML.
Definition mlField.h:73
Field to encapsulate a float value.
Definition mlFields.h:415
ML Module base class for algorithms from the Point Cloud Library (PCL).
Definition mlPCLModule.h:26
ML Module class to convert the input pcl classes to Inventor SoVertexProperty, SoPointSet,...
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.
Field to encapsulate a pointer to an SoNode instance of OpenInventor.
Definition mlFields.h:937
#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.
Target mlrange_cast(Source arg)
Generic version of checked ML casts.
pcl::PolygonMesh MLPolygonMesh
The basic polygon type of a pcl::PolygonMesh used in the PCL MeVisLab binding.
Definition mlPCLTypes.h:111