MeVisLab Toolbox Reference
mlPCLSupportTools.h File Reference

A collection of tool functions used in MLPCLSupport. More...

#include "MLPCLSupportSystem.h"
#include <mlPCLTypes.h>
#include <mlModuleIncludes.h>
#include <mlReleaseToolsString.h>

Go to the source code of this file.

Namespaces

namespace  ml
 Defines the class GetTileJob.
namespace  ml::PCLSupportTools
 A collection of tool functions used in MLPCLSupport.

Macros

#define _PCLSupportTools_NewLineDefaultArgumentString   "\n"

Enumerations

enum  ml::PCLSupportTools::PointCloudDefaultPatterns {
  ml::PCLSupportTools::Empty = 0 , ml::PCLSupportTools::OriginPoint , ml::PCLSupportTools::Triangle , ml::PCLSupportTools::Square ,
  ml::PCLSupportTools::Cube
}
 An enumerator defining some basic default patterns for point clouds. More...
enum  { ml::PCLSupportTools::NumberOfPointCloudDefaultPatterns = 5 }
 The number of basic default patterns for point clouds. More...
enum  ml::PCLSupportTools::PointCloudFillPatterns { ml::PCLSupportTools::Fill = 0 , ml::PCLSupportTools::Indexed }
 An enumerator defining some basic value fill patterns for point clouds. More...
enum  { ml::PCLSupportTools::NumberOfPointCloudFillPatterns = 2 }
 The number of basic value fill patterns for point clouds. More...
enum  { ml::PCLSupportTools::ML_PCL_NUMBER_OF_POINT_MEMBER_NAMES = 13 }
enum  { ml::PCLSupportTools::ML_PCL_NUMBER_OF_FLOAT_POINT_MEMBER_NAMES = 11 }

Functions

MLPCLSUPPORT_EXPORT MLuint64 ml::PCLSupportTools::getSigned32BitMaximumLimit ()
MLPCLSUPPORT_EXPORT MLuint64 ml::PCLSupportTools::getUnsigned32BitMaximumLimit ()
Eigen::Vector3f ml::PCLSupportTools::castToEigenVector3f (const Vector3 &mlVec)
 Convenience function to convert an ML Vector3f to an Eigen::Vector3f.
Eigen::Vector4f ml::PCLSupportTools::castToEigenVector4f (const Vector4 &mlVec)
 Convenience function to convert an ML Vector4f to an Eigen::Vector4f.
MLPCLSUPPORT_EXPORT void ml::PCLSupportTools::castToStdVector (const Eigen::VectorXf &eigenVec, std::vector< MLfloat > &stdVec)
size_t ml::PCLSupportTools::getMaximumNumberOfScalarPointMembers ()
template<typename PCL_OBJECT_PTR_TYPE>
void ml::PCLSupportTools::createEmptyPCLObject (PCL_OBJECT_PTR_TYPE &retPCLObjectPtr)
 Creates an empty point cloud of type POINT_CLOUD_PTR_TYPE.
template<typename POINT_CLOUD_TYPE>
void ml::PCLSupportTools::appendPoint (POINT_CLOUD_TYPE &pc, const Vector3f &pos, float fillValue)
template<typename POINT_CLOUD_TYPE>
void ml::PCLSupportTools::appendFillPattern (POINT_CLOUD_TYPE &pc, PointCloudDefaultPatterns pattern, PointCloudFillPatterns fillMode, float fillValue=0.f)
bool ml::PCLSupportTools::fourFloatsDiffer (const float data1[4], const float data2[4], double epsilon=FLT_EPSILON)
 Returns true if differences between corresponding data1 and data2 entries are >= epsilon, otherwise false is returned.
template<typename POINT_TYPE>
void ml::PCLSupportTools::getPCLPointAsFormattedString (const POINT_TYPE &point, std::string &formatStr, int numDecimalPlaces, size_t pointIndex)
template<typename POINT_CLOUD_TYPE>
std::string ml::PCLSupportTools::getPCLPointListAsString (const POINT_CLOUD_TYPE &pointCloud, MLint maxNumShownPoints=ML_INT64_MAX, MLint indexOfFirstPoint=0, bool showIndices=true, const std::string &lineSeparator="\n", int numDecimalPlaces=-1, const std::string &pointsPrintFormatStr="")
template<typename POINT_CLOUD_TYPE>
std::string ml::PCLSupportTools::getPointStructureT (const POINT_CLOUD_TYPE &pointCloud)
MLPCLSUPPORT_EXPORT std::string ml::PCLSupportTools::getPCLVerticesAsString (const std::vector< pcl::Vertices > &vertices, MLint maxNumShownVertices=ML_INT64_MAX, MLint indexOfFirstVertex=0, bool showIndices=true, const std::string &lineSeparator=_PCLSupportTools_NewLineDefaultArgumentString)
MLPCLSUPPORT_EXPORT std::string ml::PCLSupportTools::getPCLIndicesAsString (const std::vector< int > &indices, MLint maxNumShownIndices, MLint indexOfFirstIndex, bool showIndices, const std::string &lineSeparator=_PCLSupportTools_NewLineDefaultArgumentString)
MLPCLSUPPORT_EXPORT void ml::PCLSupportTools::PCLExtractSubIndices (const std::vector< int > &subIndices, std::vector< int > &indices)
MLPCLSUPPORT_EXPORT std::string ml::PCLSupportTools::getPointFieldValueAsString (std::uint8_t fd, const std::uint8_t *dataPtr, int numDecimalPlaces=-1)
MLPCLSUPPORT_EXPORT std::string ml::PCLSupportTools::getPointFieldDataTypeString (std::uint8_t fd, bool aligned)
MLPCLSUPPORT_EXPORT std::string ml::PCLSupportTools::getCloudDataString (const MLPolygonMesh &polygonMesh, MLint maxNumShownVertices=ML_INT64_MAX, MLint indexOfFirstVertex=0, bool showIndices=true, const std::string &lineSeparator=_PCLSupportTools_NewLineDefaultArgumentString, int numDecimalPlaces=-1)
MLPCLSUPPORT_EXPORT std::string ml::PCLSupportTools::getCloudFieldsString (const std::vector< pcl::PCLPointField > &fields)
 Converts the pointField vector fields to a human readable string.
template<typename POINT_CLOUD_TYPE>
SubImageBoxd ml::PCLSupportTools::getBoxForPointCloud (const POINT_CLOUD_TYPE &inputPointCloud)
template<typename POINT_CLOUD_TYPE>
SubImageBox ml::PCLSupportTools::getBoxForPointCloud (const POINT_CLOUD_TYPE &pointCloud, Vector3f &pointCloudOrigin, bool includeAll)
MLPCLSUPPORT_EXPORT size_t ml::PCLSupportTools::getByteOffset (const pcl::PointXYZ &pnt, const std::string &pointMemberName)
MLPCLSUPPORT_EXPORT size_t ml::PCLSupportTools::getByteOffset (const pcl::PointXYZLNormal &pnt, const std::string &pointMemberName)
MLPCLSUPPORT_EXPORT size_t ml::PCLSupportTools::getByteOffset (const pcl::PointXYZRGBNormal &pnt, const std::string &pointMemberName)
MLPCLSUPPORT_EXPORT size_t ml::PCLSupportTools::getByteOffset (const pcl::PointXYZINormal &pnt, const std::string &pointMemberName)
MLPCLSUPPORT_EXPORT std::string ml::PCLSupportTools::getPCLPointAsString (const pcl::PointXYZ &point, int numDecimalPlaces=-1)
MLPCLSUPPORT_EXPORT std::string ml::PCLSupportTools::getPCLPointAsString (const pcl::PointXYZLNormal &point, int numDecimalPlaces=-1)
MLPCLSUPPORT_EXPORT std::string ml::PCLSupportTools::getPCLPointAsString (const pcl::PointXYZRGBNormal &point, int numDecimalPlaces=-1)
MLPCLSUPPORT_EXPORT std::string ml::PCLSupportTools::getPCLPointAsString (const pcl::PointXYZINormal &point, int numDecimalPlaces=-1)
MLPCLSUPPORT_EXPORT std::string ml::PCLSupportTools::getScalarMemberNameAsString (const pcl::PointXYZ &, size_t memberIdx)
MLPCLSUPPORT_EXPORT std::string ml::PCLSupportTools::getScalarMemberNameAsString (const pcl::PointXYZLNormal &, size_t memberIdx)
MLPCLSUPPORT_EXPORT std::string ml::PCLSupportTools::getScalarMemberNameAsString (const pcl::PointXYZRGBNormal &, size_t memberIdx)
MLPCLSUPPORT_EXPORT std::string ml::PCLSupportTools::getScalarMemberNameAsString (const pcl::PointXYZINormal &, size_t memberIdx)
size_t ml::PCLSupportTools::getNumberOfScalarPointMembers (const pcl::PointXYZ &)
size_t ml::PCLSupportTools::getNumberOfScalarPointMembers (const MLPointCloudXYZ &)
size_t ml::PCLSupportTools::getNumberOfScalarPointMembers (const MLPointCloudXYZPtr &)
size_t ml::PCLSupportTools::getNumberOfScalarPointMembers (const pcl::PointXYZLNormal &)
size_t ml::PCLSupportTools::getNumberOfScalarPointMembers (const MLPointCloudXYZLNormal &)
size_t ml::PCLSupportTools::getNumberOfScalarPointMembers (const MLPointCloudXYZLNormalPtr &)
size_t ml::PCLSupportTools::getNumberOfScalarPointMembers (const pcl::PointXYZRGBNormal &)
size_t ml::PCLSupportTools::getNumberOfScalarPointMembers (const MLPointCloudXYZRGBNormal &)
size_t ml::PCLSupportTools::getNumberOfScalarPointMembers (const MLPointCloudXYZRGBNormalPtr &)
size_t ml::PCLSupportTools::getNumberOfScalarPointMembers (const pcl::PointXYZINormal &)
size_t ml::PCLSupportTools::getNumberOfScalarPointMembers (const MLPointCloudXYZINormal &)
size_t ml::PCLSupportTools::getNumberOfScalarPointMembers (const MLPointCloudXYZINormalPtr &)
bool ml::PCLSupportTools::hasNormals (const pcl::PointXYZ &)
 Returns true if the point or point type contains normal fields/members, otherwise false,.
bool ml::PCLSupportTools::hasNormals (const MLPointCloudXYZ &)
bool ml::PCLSupportTools::hasNormals (const MLPointCloudXYZPtr &)
bool ml::PCLSupportTools::hasNormals (const pcl::PointXYZLNormal &)
bool ml::PCLSupportTools::hasNormals (const MLPointCloudXYZLNormal &)
bool ml::PCLSupportTools::hasNormals (const MLPointCloudXYZLNormalPtr &)
bool ml::PCLSupportTools::hasNormals (const pcl::PointXYZRGBNormal &)
bool ml::PCLSupportTools::hasNormals (const MLPointCloudXYZRGBNormal &)
bool ml::PCLSupportTools::hasNormals (const MLPointCloudXYZRGBNormalPtr &)
bool ml::PCLSupportTools::hasNormals (const pcl::PointXYZINormal &)
bool ml::PCLSupportTools::hasNormals (const MLPointCloudXYZINormal &)
bool ml::PCLSupportTools::hasNormals (const MLPointCloudXYZINormalPtr &)
MLPCLSUPPORT_EXPORT std::string ml::PCLSupportTools::getScalarMemberValueAsString (const pcl::PointXYZ &p, size_t memberIdx, int numDecimalPlaces=-1)
MLPCLSUPPORT_EXPORT std::string ml::PCLSupportTools::getScalarMemberValueAsString (const pcl::PointXYZLNormal &p, size_t memberIdx, int numDecimalPlaces=-1)
MLPCLSUPPORT_EXPORT std::string ml::PCLSupportTools::getScalarMemberValueAsString (const pcl::PointXYZRGBNormal &p, size_t memberIdx, int numDecimalPlaces=-1)
MLPCLSUPPORT_EXPORT std::string ml::PCLSupportTools::getScalarMemberValueAsString (const pcl::PointXYZINormal &p, size_t memberIdx, int numDecimalPlaces=-1)
void ml::PCLSupportTools::setPointFromFields (pcl::PointXYZ &pnt, const std::vector< DoubleField * > &constantFields)
void ml::PCLSupportTools::setPointFromFields (pcl::PointXYZLNormal &pnt, const std::vector< DoubleField * > &constantFields)
void ml::PCLSupportTools::setPointFromFields (pcl::PointXYZRGBNormal &pnt, const std::vector< DoubleField * > &constantFields)
void ml::PCLSupportTools::setPointFromFields (pcl::PointXYZINormal &pnt, const std::vector< DoubleField * > &constantFields)
void ml::PCLSupportTools::setPointFromScalar (pcl::PointXYZ &pnt, const float val)
void ml::PCLSupportTools::setPointFromScalar (pcl::PointXYZLNormal &pnt, const float val)
void ml::PCLSupportTools::setPointFromScalar (pcl::PointXYZRGBNormal &pnt, const float val)
void ml::PCLSupportTools::setPointFromScalar (pcl::PointXYZINormal &pnt, const float val)
void ml::PCLSupportTools::setFieldsFromPoint (const pcl::PointXYZ &pnt, std::vector< DoubleField * > &resultFields)
void ml::PCLSupportTools::setFieldsFromPoint (const pcl::PointXYZLNormal &pnt, std::vector< DoubleField * > &resultFields)
void ml::PCLSupportTools::setFieldsFromPoint (const pcl::PointXYZRGBNormal &pnt, std::vector< DoubleField * > &resultFields)
void ml::PCLSupportTools::setFieldsFromPoint (const pcl::PointXYZINormal &pnt, std::vector< DoubleField * > &resultFields)
MLPointCloudXYZPtr ml::PCLSupportTools::createEmptyXYZPointCloud ()
 Creates an empty PointCloudXYZ point cloud.
MLPointCloudXYZLNormalPtr ml::PCLSupportTools::createEmptyXYZLNormalPointCloud ()
 Creates an empty PointCloudXYZLNormal point cloud.
MLPointCloudXYZRGBNormalPtr ml::PCLSupportTools::createEmptyXYZRGBNormalPointCloud ()
 Creates an empty PointCloudXYZRGBNormal point cloud.
MLPointCloudXYZINormalPtr ml::PCLSupportTools::createEmptyXYZINormalPointCloud ()
 Creates an empty PointCloudXYZLNormal point cloud.
MLPolygonMeshPtr ml::PCLSupportTools::createEmptyPolygonMesh ()
 Creates an empty pcl::PolygonMesh object.
template<typename POINT_TYPE1, typename POINT_TYPE2>
bool ml::PCLSupportTools::doPCLPointNonDataMembersDiffer (const POINT_TYPE1 &, const POINT_TYPE2 &, double=FLT_EPSILON)
 Compare all non data members of all supported point types with each other.
bool ml::PCLSupportTools::doPCLPointNonDataMembersDiffer (const pcl::PointXYZ &, const pcl::PointXYZ &, double=FLT_EPSILON)
bool ml::PCLSupportTools::doPCLPointNonDataMembersDiffer (const pcl::PointXYZLNormal &point1, const pcl::PointXYZLNormal &point2, double epsilon=FLT_EPSILON)
bool ml::PCLSupportTools::doPCLPointNonDataMembersDiffer (const pcl::PointXYZRGBNormal &point1, const pcl::PointXYZRGBNormal &point2, double epsilon=FLT_EPSILON)
bool ml::PCLSupportTools::doPCLPointNonDataMembersDiffer (const pcl::PointXYZINormal &point1, const pcl::PointXYZINormal &point2, double epsilon=FLT_EPSILON)
void ml::PCLSupportTools::setIntensityReplacement (pcl::PointXYZ &, float=1.f, MLuint8=0xff)
void ml::PCLSupportTools::setIntensityReplacement (pcl::PointXYZLNormal &p, float value=1.f, MLuint8=0xff)
void ml::PCLSupportTools::setIntensityReplacement (pcl::PointXYZRGBNormal &p, float value=1.f, MLuint8 opacity=0xff)
void ml::PCLSupportTools::setIntensityReplacement (pcl::PointXYZINormal &p, float value=1.f, MLuint8=0xff)
float ml::PCLSupportTools::getIntensityReplacement (const pcl::PointXYZ &)
float ml::PCLSupportTools::getIntensityReplacement (const pcl::PointXYZLNormal &p)
float ml::PCLSupportTools::getIntensityReplacement (const pcl::PointXYZRGBNormal &p)
float ml::PCLSupportTools::getIntensityReplacement (const pcl::PointXYZINormal &p)
float ml::PCLSupportTools::getCurvature (const pcl::PointXYZ &)
float ml::PCLSupportTools::getCurvature (const pcl::PointXYZLNormal &p)
float ml::PCLSupportTools::getCurvature (const pcl::PointXYZRGBNormal &p)
float ml::PCLSupportTools::getCurvature (const pcl::PointXYZINormal &p)
void ml::PCLSupportTools::setCurvature (pcl::PointXYZ &, float)
void ml::PCLSupportTools::setCurvature (pcl::PointXYZLNormal &p, float curvature)
void ml::PCLSupportTools::setCurvature (pcl::PointXYZRGBNormal &p, float curvature)
void ml::PCLSupportTools::setCurvature (pcl::PointXYZINormal &p, float curvature)
unsigned int ml::PCLSupportTools::getPointRGBA (const pcl::PointXYZ &)
unsigned int ml::PCLSupportTools::getPointRGBA (const pcl::PointXYZINormal &)
unsigned int ml::PCLSupportTools::getPointRGBA (const pcl::PointXYZRGBNormal &rgbaPnt)
unsigned int ml::PCLSupportTools::getPointRGBA (const pcl::PointXYZLNormal &)
void ml::PCLSupportTools::setPointRGBA (pcl::PointXYZ &, MLuint32)
void ml::PCLSupportTools::setPointRGBA (pcl::PointXYZINormal &, MLuint32)
void ml::PCLSupportTools::setPointRGBA (pcl::PointXYZRGBNormal &rgbaPnt, MLuint32 srcVal)
void ml::PCLSupportTools::setPointRGBA (pcl::PointXYZLNormal &, MLuint32)
void ml::PCLSupportTools::setPointNormal (pcl::PointXYZ &, float, float, float)
void ml::PCLSupportTools::setPointNormal (pcl::PointXYZLNormal &p, float nx, float ny, float nz)
void ml::PCLSupportTools::setPointNormal (pcl::PointXYZRGBNormal &p, float nx, float ny, float nz)
void ml::PCLSupportTools::setPointNormal (pcl::PointXYZINormal &p, float nx, float ny, float nz)
void ml::PCLSupportTools::getPointNormal (const pcl::PointXYZ &, float &nx, float &ny, float &nz)
void ml::PCLSupportTools::getPointNormal (const pcl::PointXYZLNormal &p, float &nx, float &ny, float &nz)
void ml::PCLSupportTools::getPointNormal (const pcl::PointXYZRGBNormal &p, float &nx, float &ny, float &nz)
void ml::PCLSupportTools::getPointNormal (const pcl::PointXYZINormal &p, float &nx, float &ny, float &nz)
bool ml::PCLSupportTools::hasNormal (const pcl::PointXYZ &)
 Returns true if the passed point has a normal, otherwise false.
bool ml::PCLSupportTools::hasNormal (const pcl::PointXYZLNormal &)
bool ml::PCLSupportTools::hasNormal (const pcl::PointXYZRGBNormal &)
bool ml::PCLSupportTools::hasNormal (const pcl::PointXYZINormal &)
bool ml::PCLSupportTools::hasLabel (const pcl::PointXYZ &)
 Returns true if the passed point has a label field, otherwise false.
bool ml::PCLSupportTools::hasLabel (const pcl::PointXYZLNormal &)
bool ml::PCLSupportTools::hasLabel (const pcl::PointXYZRGBNormal &)
bool ml::PCLSupportTools::hasLabel (const pcl::PointXYZINormal &)
bool ml::PCLSupportTools::hasRGBA (const pcl::PointXYZ &)
 Returns true if the passed point has an rgba field, otherwise false.
bool ml::PCLSupportTools::hasRGBA (const pcl::PointXYZLNormal &)
bool ml::PCLSupportTools::hasRGBA (const pcl::PointXYZRGBNormal &)
bool ml::PCLSupportTools::hasRGBA (const pcl::PointXYZINormal &)
bool ml::PCLSupportTools::hasIntensity (const pcl::PointXYZ &)
 Returns true if the passed point has an intensity field, otherwise false.
bool ml::PCLSupportTools::hasIntensity (const pcl::PointXYZLNormal &)
bool ml::PCLSupportTools::hasIntensity (const pcl::PointXYZRGBNormal &)
bool ml::PCLSupportTools::hasIntensity (const pcl::PointXYZINormal &)
bool ml::PCLSupportTools::hasCurvature (const pcl::PointXYZ &)
 Returns true if the passed point has a curvature field, otherwise false.
bool ml::PCLSupportTools::hasCurvature (const pcl::PointXYZLNormal &)
bool ml::PCLSupportTools::hasCurvature (const pcl::PointXYZRGBNormal &)
bool ml::PCLSupportTools::hasCurvature (const pcl::PointXYZINormal &)
bool ml::PCLSupportTools::hasIntensityReplacement (const pcl::PointXYZ &)
 Returns true if the passed point has any field which can be interpreted as an intensity replacement field, otherwise false.
bool ml::PCLSupportTools::hasIntensityReplacement (const pcl::PointXYZLNormal &)
bool ml::PCLSupportTools::hasIntensityReplacement (const pcl::PointXYZRGBNormal &)
bool ml::PCLSupportTools::hasIntensityReplacement (const pcl::PointXYZINormal &)

Variables

MLPCLSUPPORT_EXPORT const char *const ml::PCLSupportTools::PointMemberNames [ML_PCL_NUMBER_OF_POINT_MEMBER_NAMES]
 Possible members of points as strings which might appear in current implementation.
MLPCLSUPPORT_EXPORT const char *const ml::PCLSupportTools::FloatPointMemberNames [ML_PCL_NUMBER_OF_FLOAT_POINT_MEMBER_NAMES]
 Number of possible float members as strings which might appear in current implementation.

Detailed Description

A collection of tool functions used in MLPCLSupport.

Author
"Wolf Spindler"
Date
2015-12-18

A collection of tool functions used in MLPCLSupport.

Definition in file mlPCLSupportTools.h.

Macro Definition Documentation

◆ _PCLSupportTools_NewLineDefaultArgumentString

#define _PCLSupportTools_NewLineDefaultArgumentString   "\n"

A default argument used in some functions for strings and which describes a newline, only for temporary use. Do not use!

Definition at line 1050 of file mlPCLSupportTools.h.

Referenced by ml::PCLSupportTools::getCloudDataString(), ml::PCLSupportTools::getPCLIndicesAsString(), and ml::PCLSupportTools::getPCLVerticesAsString().