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 
25 ML_START_NAMESPACE
26 
28  // Adapt this if a new PCL point type is integrated in the MeVisLab binding.
31  };
32 
34  // Adapt this if a new PCL point type is integrated in the MeVisLab binding.
40  };
41 
45  };
46 
48  // Adapt this if a new PCL point type is integrated in the MeVisLab binding.
50 
52  // Adapt this if a new PCL type is integrated in the MeVisLab binding.
55  };
56 
58  // Adapt this if a new PCL point type is integrated in the MeVisLab binding.
65  };
66 
70  };
71 
73  // Adapt this if a new PCL point type is integrated in the MeVisLab binding.
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.
119  inline MLPCLPointTypeEnumerators getEnumeratorOfPCLPointType (const pcl::PointXYZ &){ return ML_PCL_POINT_XYZ ; }
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 
157 ML_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
MLPCLSUPPORT_EXPORT const char *const MLPCLPointTypeNames[ML_PCL_NUMBER_OF_POINT_TYPES]
String names for the precompiled point types of the Point Cloud Library.
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
MLPCLSUPPORT_EXPORT const char *const MLPCLObjectTypeNames[ML_PCL_NUMBER_OF_OBJECT_TYPES]
String names for the precompiled point types of the Point Cloud Library.
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
MLPCLPointTypeEnumerators getEnumeratorOfPCLPointType(const MLPointCloudXYZINormalPtr)
Definition: mlPCLTypes.h:130
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
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
MLPCLObjectTypeEnumerators getEnumeratorOfPCLObjectType(const MLPolygonMeshPtr)
Definition: mlPCLTypes.h:146
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