26namespace PCLSupportTools {
45 return Eigen::Vector3f(
static_cast<float>(
mlVec[0]),
46 static_cast<float>(
mlVec[1]),
47 static_cast<float>(
mlVec[2]));
55 return Eigen::Vector4f(
static_cast<float>(
mlVec[0]),
56 static_cast<float>(
mlVec[1]),
57 static_cast<float>(
mlVec[2]),
58 static_cast<float>(
mlVec[3]));
118inline bool hasNormals(
const pcl::PointXYZ &) {
return false; }
121inline bool hasNormals(
const pcl::PointXYZLNormal &) {
return true; }
124inline bool hasNormals(
const pcl::PointXYZRGBNormal &) {
return true; }
127inline bool hasNormals(
const pcl::PointXYZINormal &) {
return true; }
244 pnt.label =
static_cast<std::uint32_t
>(
MLAbs(val));
332template <
typename PCL_OBJECT_PTR_TYPE>
403 NumberOfPointCloudDefaultPatterns = 5
417 NumberOfPointCloudFillPatterns = 2
424template <
typename POINT_CLOUD_TYPE>
429 typedef typename POINT_CLOUD_TYPE::PointType
POINT_TYPE;
442template <
typename POINT_CLOUD_TYPE>
456 "Bad fill mode, using fillMode 'Fill'.");
488 "Bad fill pattern, could not add points to point cloud.");
497 const float data2[4],
515template <
typename POINT_TYPE1,
typename POINT_TYPE2>
528 const pcl::PointXYZ &,
539 const pcl::PointXYZLNormal &
point2,
552 const pcl::PointXYZRGBNormal &
point2,
565 const pcl::PointXYZINormal &
point2,
596 p.r = p.g = p.b =
static_cast<MLuint8>(value * 255.9999f);
785inline bool hasNormal (
const pcl::PointXYZ &){
return false;}
796inline bool hasLabel (
const pcl::PointXYZ &){
return false;}
798inline bool hasLabel (
const pcl::PointXYZRGBNormal &){
return false;}
799inline bool hasLabel (
const pcl::PointXYZINormal &){
return false;}
807inline bool hasRGBA (
const pcl::PointXYZ &){
return false;}
808inline bool hasRGBA (
const pcl::PointXYZLNormal &){
return false;}
809inline bool hasRGBA (
const pcl::PointXYZRGBNormal &){
return true ;}
810inline bool hasRGBA (
const pcl::PointXYZINormal &){
return false;}
820inline bool hasIntensity(
const pcl::PointXYZRGBNormal &){
return false;}
870template <
typename POINT_TYPE>
878 if (std::string::npos !=
formatStr.find(
"$(x)")){
881 if (std::string::npos !=
formatStr.find(
"$(data[0])")){
884 if (std::string::npos !=
formatStr.find(
"$(y)")){
887 if (std::string::npos !=
formatStr.find(
"$(data[1])")){
890 if (std::string::npos !=
formatStr.find(
"$(z)")){
893 if (std::string::npos !=
formatStr.find(
"$(data[2])")){
896 if (std::string::npos !=
formatStr.find(
"$(data[3])")){
900 if (std::string::npos !=
formatStr.find(
"$(nx)")){
903 if (std::string::npos !=
formatStr.find(
"$(data_n[0])")){
906 if (std::string::npos !=
formatStr.find(
"$(ny)")){
909 if (std::string::npos !=
formatStr.find(
"$(data_n[1])")){
912 if (std::string::npos !=
formatStr.find(
"$(nz)")){
915 if (std::string::npos !=
formatStr.find(
"$(data_n[2])")){
918 if (std::string::npos !=
formatStr.find(
"$(data_n[3])")){
922 if (std::string::npos !=
formatStr.find(
"$(ir)")){
925 ReleaseToolsString::toDblStr(
ir, -1,
static_cast<signed char>(
numDecimalPlaces),
false,
true):
928 if (std::string::npos !=
formatStr.find(
"$(curvature)")){
931 if (std::string::npos !=
formatStr.find(
"$(rgba)")){
936 if (std::string::npos !=
formatStr.find(
"$(intensity)")){
941 if (std::string::npos !=
formatStr.find(
"$(label)")){
946 if (std::string::npos !=
formatStr.find(
"$(index)")){
970template <
typename POINT_CLOUD_TYPE>
1032template <
typename POINT_CLOUD_TYPE>
1042 retStr += PCLSupportTools::getScalarMemberNameAsString(
pointCloud.points[0], c);
1050#define _PCLSupportTools_NewLineDefaultArgumentString "\n"
1099 std::vector<int> &indices);
1113 const std::uint8_t *dataPtr,
1156 const pcl::uint8_t *dataPtr);
1162 const pcl::uint8_t *dataPtr);
1171 inline void clear(){
px=0.f;
py=0.f;
pz=0.f;
nx=0.f;
ny=0.f;
nz=0.f; intensity=0.f;
rgba=0;
isRGBA=
false; }
1193 std::vector<XYZNormalAndValue> &
geometry);
1206template <
typename POINT_CLOUD_TYPE>
1225 for (
size_t c=0; c < numPoints; ++c){
1226 typedef typename POINT_CLOUD_TYPE::PointType
PointType;
1252template <
typename POINT_CLOUD_TYPE>
1301extern MLPCLSUPPORT_EXPORT const char *
const PointMemberNames[ML_PCL_NUMBER_OF_POINT_MEMBER_NAMES];
1314extern MLPCLSUPPORT_EXPORT const char *
const FloatPointMemberNames[ML_PCL_NUMBER_OF_FLOAT_POINT_MEMBER_NAMES];
Project global and OS specific declarations.
#define MLPCLSUPPORT_EXPORT
If included by external modules, exported symbols are declared as import symbols.
SubImageBoxd - SubImageBox with coordinates of float data type.
Vector6 v1
Corner v1 of the box region.
DT x
X-component of the vector, same as _buffer[0].
DT z
Z-component of the vector, same as _buffer[2].
DT y
Y-component of the vector, same as _buffer[1].
DT MLAbs(const DT val)
Defines templated MLAbs version to circumvent fabs ambiguities on different platforms.
#define ML_BAD_PARAMETER
A bad/invalid parameter (or even an inappropriate image) has been passed to a module or an algorithm;...
#define ML_PRINT_ERROR(FUNC_NAME, REASON, HANDLING)
Like ML_PRINT_ERROR_DUMP(FUNC_NAME, REASON, HANDLING, RT_OBJ) without a runtime object to be dumped.
Basic types used in the MeVislab binding of the Point Cloud Library(PCL).
Target mlrange_cast(Source arg)
Generic version of checked ML casts.
UINT64 MLuint64
Introduce platform independent 64 bit unsigned integer type.
MLint64 MLint
A signed ML integer type with at least 64 bits used for index calculations on very large images even ...
pcl::PointCloud< pcl::PointXYZRGBNormal >::Ptr MLPointCloudXYZRGBNormalPtr
The basic pointer type of a point cloud type used in the PCL MeVisLab binding.
pcl::PointCloud< pcl::PointXYZLNormal >::Ptr MLPointCloudXYZLNormalPtr
The basic pointer type of a point cloud type used in the PCL MeVisLab binding.
pcl::PointCloud< pcl::PointXYZ >::Ptr MLPointCloudXYZPtr
The basic pointer type of a point cloud type used in the PCL MeVisLab binding.
pcl::PointCloud< pcl::PointXYZ > MLPointCloudXYZ
The basic point cloud type used in the PCL MeVisLab binding.
pcl::PointCloud< pcl::PointXYZRGBNormal > MLPointCloudXYZRGBNormal
The basic point cloud type used in the PCL MeVisLab binding.
pcl::PointCloud< pcl::PointXYZLNormal > MLPointCloudXYZLNormal
The basic point cloud type used in the PCL MeVisLab binding.
pcl::PolygonMesh::Ptr MLPolygonMeshPtr
The basic pointer type of a pcl::PolygonMesh in the PCL MeVisLab binding.
pcl::PolygonMesh MLPolygonMesh
The basic polygon type of a pcl::PolygonMesh used in the PCL MeVisLab binding.
pcl::PointCloud< pcl::PointXYZINormal >::Ptr MLPointCloudXYZINormalPtr
The basic pointer type of a point cloud type used in the PCL MeVisLab binding.
pcl::PointCloud< pcl::PointXYZINormal > MLPointCloudXYZINormal
The basic point cloud type used in the PCL MeVisLab binding.