MeVisLab Toolbox Reference
mlPCLTypes.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 <mlRefCountedBase.h>
17
19#include <pcl/point_types.h>
20#include <pcl/point_cloud.h>
21#include <pcl/PolygonMesh.h>
22#include <pcl/PointIndices.h>
24
25ML_START_NAMESPACE
26
28 // Adapt this if a new PCL point type is integrated in the MeVisLab binding.
32
34 // Adapt this if a new PCL point type is integrated in the MeVisLab binding.
41
46
48 // Adapt this if a new PCL point type is integrated in the MeVisLab binding.
49 extern MLPCLSUPPORT_EXPORT const char * const MLPCLPointTypeNames[ML_PCL_NUMBER_OF_POINT_TYPES];
50
52 // Adapt this if a new PCL type is integrated in the MeVisLab binding.
56
58 // Adapt this if a new PCL point type is integrated in the MeVisLab binding.
66
71
73 // Adapt this if a new PCL point type is integrated in the MeVisLab binding.
74 extern MLPCLSUPPORT_EXPORT const char * const MLPCLObjectTypeNames[ML_PCL_NUMBER_OF_OBJECT_TYPES];
75
77 typedef std::vector<pcl::PointIndices> MLPCLPointIndexVector;
78
81 // Adapt this if a new PCL point type is integrated in the MeVisLab binding.
83 typedef pcl::PointCloud<pcl::PointXYZ> MLPointCloudXYZ;
84
86 typedef pcl::PointCloud<pcl::PointXYZ>::Ptr MLPointCloudXYZPtr;
87
88
90 typedef pcl::PointCloud<pcl::PointXYZLNormal> MLPointCloudXYZLNormal;
91
93 typedef pcl::PointCloud<pcl::PointXYZLNormal>::Ptr MLPointCloudXYZLNormalPtr;
94
95
97 typedef pcl::PointCloud<pcl::PointXYZRGBNormal> MLPointCloudXYZRGBNormal;
98
100 typedef pcl::PointCloud<pcl::PointXYZRGBNormal>::Ptr MLPointCloudXYZRGBNormalPtr;
101
102
104 typedef pcl::PointCloud<pcl::PointXYZINormal> MLPointCloudXYZINormal;
105
107 typedef pcl::PointCloud<pcl::PointXYZINormal>::Ptr MLPointCloudXYZINormalPtr;
108
109
111 typedef pcl::PolygonMesh MLPolygonMesh;
112
114 typedef pcl::PolygonMesh::Ptr MLPolygonMeshPtr;
116
118 // Adapt this if a new PCL point type is integrated in the MeVisLab binding.
122 inline MLPCLPointTypeEnumerators getEnumeratorOfPCLPointType (const pcl::PointXYZLNormal &){ return ML_PCL_POINT_XYZLNORMAL ; }
125 inline MLPCLPointTypeEnumerators getEnumeratorOfPCLPointType (const pcl::PointXYZRGBNormal &){ return ML_PCL_POINT_XYZRGBNORMAL ; }
128 inline MLPCLPointTypeEnumerators getEnumeratorOfPCLPointType (const pcl::PointXYZINormal &){ return ML_PCL_POINT_XYZINORMAL ; }
131
144
148
150 // Adapt this if a new PCL point type is integrated in the MeVisLab binding.
151 MLPCLSUPPORT_EXPORT std::string getPCLPointTypeName(int pclPointType);
152
154 // Adapt this if a new PCL object type is integrated in the MeVisLab binding.
155 MLPCLSUPPORT_EXPORT std::string getPCLObjectTypeName(int pclObjectType);
156
157ML_END_NAMESPACE
158
Project global and OS specific declarations.
#define MLPCLSUPPORT_EXPORT
If included by external modules, exported symbols are declared as import symbols.
Disables warnings from PCL headers which otherwise cannot be avoided.
Restores disabled warnings from PCL headers which otherwise cannot be avoided.
ML_UNSUPPORTED_OBJECT_TYPE_ENUMERATOR
A constant describing an invalid enumerator for a PCL type.
Definition mlPCLTypes.h:68
@ ML_PCL_UNSUPPORTED_OBJECT_TYPE
Definition mlPCLTypes.h:69
MLPCLPointTypeEnumerators
Enumerator for the precompiled point types of the Point Cloud Library.
Definition mlPCLTypes.h:35
@ ML_PCL_POINT_XYZLNORMAL
Enumerator for pcl::PointXYZ.
Definition mlPCLTypes.h:37
@ ML_PCL_POINT_XYZ
Definition mlPCLTypes.h:36
@ ML_PCL_POINT_XYZINORMAL
Enumerator for pcl::PointXYZRGBNormal.
Definition mlPCLTypes.h:39
@ ML_PCL_POINT_XYZRGBNORMAL
Enumerator for pcl::PointXYZLNormal.
Definition mlPCLTypes.h:38
pcl::PointCloud< pcl::PointXYZRGBNormal >::Ptr MLPointCloudXYZRGBNormalPtr
The basic pointer type of a point cloud type used in the PCL MeVisLab binding.
Definition mlPCLTypes.h:100
pcl::PointCloud< pcl::PointXYZLNormal >::Ptr MLPointCloudXYZLNormalPtr
The basic pointer type of a point cloud type used in the PCL MeVisLab binding.
Definition mlPCLTypes.h:93
pcl::PointCloud< pcl::PointXYZ >::Ptr MLPointCloudXYZPtr
The basic pointer type of a point cloud type used in the PCL MeVisLab binding.
Definition mlPCLTypes.h:86
ML_NUM_OBJECT_TYPES_ENUMERATOR_TYPE
Number of enumerator values for precompiled object types of the Point Cloud Library.
Definition mlPCLTypes.h:53
@ ML_PCL_NUMBER_OF_OBJECT_TYPES
Definition mlPCLTypes.h:54
pcl::PointCloud< pcl::PointXYZ > MLPointCloudXYZ
The basic point cloud type used in the PCL MeVisLab binding.
Definition mlPCLTypes.h:83
ML_UNSUPPORTED_POINT_TYPE_ENUMERATOR
A constant describing an invalid enumerator for a PCL point type.
Definition mlPCLTypes.h:43
@ ML_PCL_UNSUPPORTED_POINT_TYPE
Definition mlPCLTypes.h:44
MLPCLSUPPORT_EXPORT std::string getPCLObjectTypeName(int pclObjectType)
Returns a string description for the passed pclObjectType.
MLPCLSUPPORT_EXPORT std::string getPCLPointTypeName(int pclPointType)
Returns a string description for the passed pclPointType.
pcl::PointCloud< pcl::PointXYZRGBNormal > MLPointCloudXYZRGBNormal
The basic point cloud type used in the PCL MeVisLab binding.
Definition mlPCLTypes.h:97
ML_NUM_POINT_TYPES_ENUMERATOR_TYPE
Number of enumerator values for precompiled point types of the Point Cloud Library.
Definition mlPCLTypes.h:29
@ ML_PCL_NUMBER_OF_POINT_TYPES
Definition mlPCLTypes.h:30
pcl::PointCloud< pcl::PointXYZLNormal > MLPointCloudXYZLNormal
The basic point cloud type used in the PCL MeVisLab binding.
Definition mlPCLTypes.h:90
pcl::PolygonMesh::Ptr MLPolygonMeshPtr
The basic pointer type of a pcl::PolygonMesh in the PCL MeVisLab binding.
Definition mlPCLTypes.h:114
MLPCLObjectTypeEnumerators
Enumerator for the precompiled point types of the Point Cloud Library.
Definition mlPCLTypes.h:59
@ ML_PCL_OBJECT_POINT_XYZ_CLOUD
Definition mlPCLTypes.h:60
@ ML_PCL_OBJECT_POLYGON_MESH
Enumerator for point clouds of pcl::PointXYZINormal.
Definition mlPCLTypes.h:64
@ ML_PCL_OBJECT_POINT_XYZINORMAL_CLOUD
Enumerator for point clouds of pcl::PointXYZRGBNormal.
Definition mlPCLTypes.h:63
@ ML_PCL_OBJECT_POINT_XYZLNORMAL_CLOUD
Enumerator for point clouds of pcl::PointXYZ.
Definition mlPCLTypes.h:61
@ ML_PCL_OBJECT_POINT_XYZRGBNORMAL_CLOUD
Enumerator for point clouds of pcl::PointXYZLNormal.
Definition mlPCLTypes.h:62
MLPCLPointTypeEnumerators getEnumeratorOfPCLPointType(const pcl::PointXYZ &)
Returns the enumerator for a specific point type.
Definition mlPCLTypes.h:119
pcl::PolygonMesh MLPolygonMesh
The basic polygon type of a pcl::PolygonMesh used in the PCL MeVisLab binding.
Definition mlPCLTypes.h:111
std::vector< pcl::PointIndices > MLPCLPointIndexVector
Vector of point indexes which are generated by a number of algorithms.
Definition mlPCLTypes.h:77
pcl::PointCloud< pcl::PointXYZINormal >::Ptr MLPointCloudXYZINormalPtr
The basic pointer type of a point cloud type used in the PCL MeVisLab binding.
Definition mlPCLTypes.h:107
pcl::PointCloud< pcl::PointXYZINormal > MLPointCloudXYZINormal
The basic point cloud type used in the PCL MeVisLab binding.
Definition mlPCLTypes.h:104
MLPCLObjectTypeEnumerators getEnumeratorOfPCLObjectType(const pcl::PointXYZ &)
Definition mlPCLTypes.h:132