39 #ifndef PCL_DATA_TYPES_H_
40 #define PCL_DATA_TYPES_H_
42 #include <pcl/pcl_macros.h>
44 #include <pcl/register_point_struct.h>
55 #pragma warning(disable: 4201)
59 # pragma GCC system_header
138 struct InterestPoint;
158 struct PointXYZRGBNormal;
163 struct PointXYZINormal;
168 struct PointWithRange;
173 struct PointWithViewpoint;
178 struct MomentInvariants;
183 struct PrincipalRadiiRSD;
193 struct PrincipalCurvatures;
208 struct ReferenceFrame;
213 struct ShapeContext1980;
218 struct PFHSignature125;
223 struct PFHRGBSignature250;
233 struct PPFRGBSignature;
238 struct NormalBasedSignature12;
243 struct FPFHSignature33;
248 struct VFHSignature308;
253 struct ESFSignature640;
258 struct GFPFHSignature16;
285 struct BorderDescription;
290 struct IntensityGradient;
301 struct PointWithScale;
311 #include <pcl/impl/point_types.hpp>
317 POINT_CLOUD_REGISTER_POINT_STRUCT (
pcl::_RGB,
318 (uint32_t, rgba, rgba)
320 POINT_CLOUD_REGISTER_POINT_WRAPPER(pcl::RGB, pcl::_RGB)
322 POINT_CLOUD_REGISTER_POINT_STRUCT (pcl::_Intensity,
323 (
float, intensity, intensity)
325 POINT_CLOUD_REGISTER_POINT_WRAPPER(pcl::Intensity, pcl::_Intensity)
327 POINT_CLOUD_REGISTER_POINT_STRUCT (pcl::_Intensity8u,
328 (uint8_t, intensity, intensity)
330 POINT_CLOUD_REGISTER_POINT_WRAPPER(pcl::Intensity8u, pcl::_Intensity8u)
332 POINT_CLOUD_REGISTER_POINT_STRUCT (pcl::_Intensity32u,
333 (uint32_t, intensity, intensity)
335 POINT_CLOUD_REGISTER_POINT_WRAPPER(pcl::Intensity32u, pcl::_Intensity32u)
337 POINT_CLOUD_REGISTER_POINT_STRUCT (pcl::_PointXYZ,
342 POINT_CLOUD_REGISTER_POINT_WRAPPER(pcl::PointXYZ, pcl::_PointXYZ)
344 POINT_CLOUD_REGISTER_POINT_STRUCT (pcl::_PointXYZRGBA,
348 (uint32_t, rgba, rgba)
350 POINT_CLOUD_REGISTER_POINT_WRAPPER(pcl::PointXYZRGBA, pcl::_PointXYZRGBA)
352 POINT_CLOUD_REGISTER_POINT_STRUCT (pcl::_PointXYZRGB,
358 POINT_CLOUD_REGISTER_POINT_WRAPPER(pcl::PointXYZRGB, pcl::_PointXYZRGB)
360 POINT_CLOUD_REGISTER_POINT_STRUCT (pcl::_PointXYZRGBL,
364 (uint32_t, rgba, rgba)
365 (uint32_t, label, label)
367 POINT_CLOUD_REGISTER_POINT_WRAPPER(pcl::PointXYZRGBL, pcl::_PointXYZRGBL)
369 POINT_CLOUD_REGISTER_POINT_STRUCT (pcl::_PointXYZHSV,
377 POINT_CLOUD_REGISTER_POINT_WRAPPER(pcl::PointXYZHSV, pcl::_PointXYZHSV)
379 POINT_CLOUD_REGISTER_POINT_STRUCT (pcl::PointXY,
384 POINT_CLOUD_REGISTER_POINT_STRUCT (pcl::PointUV,
389 POINT_CLOUD_REGISTER_POINT_STRUCT (pcl::InterestPoint,
393 (
float, strength, strength)
396 POINT_CLOUD_REGISTER_POINT_STRUCT (pcl::_PointXYZI,
400 (
float, intensity, intensity)
402 POINT_CLOUD_REGISTER_POINT_WRAPPER(pcl::PointXYZI, pcl::_PointXYZI)
404 POINT_CLOUD_REGISTER_POINT_STRUCT (pcl::PointXYZL,
408 (uint32_t, label, label)
411 POINT_CLOUD_REGISTER_POINT_STRUCT (pcl::Label,
412 (uint32_t, label, label)
415 POINT_CLOUD_REGISTER_POINT_STRUCT (pcl::_Normal,
416 (
float, normal_x, normal_x)
417 (
float, normal_y, normal_y)
418 (
float, normal_z, normal_z)
419 (
float, curvature, curvature)
421 POINT_CLOUD_REGISTER_POINT_WRAPPER(pcl::Normal, pcl::_Normal)
423 POINT_CLOUD_REGISTER_POINT_STRUCT (pcl::_Axis,
424 (
float, normal_x, normal_x)
425 (
float, normal_y, normal_y)
426 (
float, normal_z, normal_z)
428 POINT_CLOUD_REGISTER_POINT_WRAPPER(pcl::Axis, pcl::_Axis)
430 POINT_CLOUD_REGISTER_POINT_STRUCT (pcl::PointNormal,
434 (
float, normal_x, normal_x)
435 (
float, normal_y, normal_y)
436 (
float, normal_z, normal_z)
437 (
float, curvature, curvature)
439 POINT_CLOUD_REGISTER_POINT_STRUCT (pcl::_PointXYZRGBNormal,
444 (
float, normal_x, normal_x)
445 (
float, normal_y, normal_y)
446 (
float, normal_z, normal_z)
447 (
float, curvature, curvature)
449 POINT_CLOUD_REGISTER_POINT_WRAPPER(pcl::PointXYZRGBNormal, pcl::_PointXYZRGBNormal)
450 POINT_CLOUD_REGISTER_POINT_STRUCT (pcl::PointXYZINormal,
454 (
float, intensity, intensity)
455 (
float, normal_x, normal_x)
456 (
float, normal_y, normal_y)
457 (
float, normal_z, normal_z)
458 (
float, curvature, curvature)
460 POINT_CLOUD_REGISTER_POINT_STRUCT (pcl::PointWithRange,
464 (
float, range, range)
467 POINT_CLOUD_REGISTER_POINT_STRUCT (pcl::_PointWithViewpoint,
475 POINT_CLOUD_REGISTER_POINT_WRAPPER(pcl::PointWithViewpoint, pcl::_PointWithViewpoint)
477 POINT_CLOUD_REGISTER_POINT_STRUCT (pcl::MomentInvariants,
483 POINT_CLOUD_REGISTER_POINT_STRUCT (pcl::PrincipalRadiiRSD,
484 (
float, r_min, r_min)
485 (
float, r_max, r_max)
488 POINT_CLOUD_REGISTER_POINT_STRUCT (pcl::Boundary,
489 (uint8_t, boundary_point, boundary_point)
492 POINT_CLOUD_REGISTER_POINT_STRUCT (pcl::PrincipalCurvatures,
493 (
float, principal_curvature_x, principal_curvature_x)
494 (
float, principal_curvature_y, principal_curvature_y)
495 (
float, principal_curvature_z, principal_curvature_z)
500 POINT_CLOUD_REGISTER_POINT_STRUCT (pcl::PFHSignature125,
501 (
float[125], histogram, pfh)
504 POINT_CLOUD_REGISTER_POINT_STRUCT (pcl::PFHRGBSignature250,
505 (
float[250], histogram, pfhrgb)
508 POINT_CLOUD_REGISTER_POINT_STRUCT (pcl::PPFSignature,
513 (
float, alpha_m, alpha_m)
516 POINT_CLOUD_REGISTER_POINT_STRUCT (pcl::PPFRGBSignature,
521 (
float, r_ratio, r_ratio)
522 (
float, g_ratio, g_ratio)
523 (
float, b_ratio, b_ratio)
524 (
float, alpha_m, alpha_m)
527 POINT_CLOUD_REGISTER_POINT_STRUCT (pcl::NormalBasedSignature12,
528 (
float[12], values, values)
531 POINT_CLOUD_REGISTER_POINT_STRUCT (pcl::ShapeContext1980,
532 (
float[1980], descriptor, shape_context)
536 POINT_CLOUD_REGISTER_POINT_STRUCT (pcl::SHOT352,
537 (
float[352], descriptor, shot)
541 POINT_CLOUD_REGISTER_POINT_STRUCT (pcl::SHOT1344,
542 (
float[1344], descriptor, shot)
546 POINT_CLOUD_REGISTER_POINT_STRUCT (pcl::FPFHSignature33,
547 (
float[33], histogram, fpfh)
550 POINT_CLOUD_REGISTER_POINT_STRUCT (pcl::VFHSignature308,
551 (
float[308], histogram, vfh)
554 POINT_CLOUD_REGISTER_POINT_STRUCT (pcl::ESFSignature640,
555 (
float[640], histogram, esf)
558 POINT_CLOUD_REGISTER_POINT_STRUCT (pcl::Narf36,
559 (
float[36], descriptor, descriptor)
562 POINT_CLOUD_REGISTER_POINT_STRUCT (pcl::GFPFHSignature16,
563 (
float[16], histogram, gfpfh)
566 POINT_CLOUD_REGISTER_POINT_STRUCT (pcl::IntensityGradient,
567 (
float, gradient_x, gradient_x)
568 (
float, gradient_y, gradient_y)
569 (
float, gradient_z, gradient_z)
572 POINT_CLOUD_REGISTER_POINT_STRUCT (pcl::PointWithScale,
576 (
float, scale, scale)
579 POINT_CLOUD_REGISTER_POINT_STRUCT(pcl::PointSurfel,
583 (
float, normal_x, normal_x)
584 (
float, normal_y, normal_y)
585 (
float, normal_z, normal_z)
586 (uint32_t, rgba, rgba)
587 (
float, radius, radius)
588 (
float, confidence, confidence)
589 (
float, curvature, curvature)
592 POINT_CLOUD_REGISTER_POINT_STRUCT (pcl::_ReferenceFrame,
593 (
float[3], x_axis, x_axis)
594 (
float[3], y_axis, y_axis)
595 (
float[3], z_axis, z_axis)
597 POINT_CLOUD_REGISTER_POINT_WRAPPER(pcl::ReferenceFrame, pcl::_ReferenceFrame)
603 template<
typename Po
intT>
604 struct FieldMatches<
PointT, fields::rgba>
608 if (field.
name ==
"rgb")
615 return (field.
name == traits::name<PointT, fields::rgba>::value &&
616 field.
datatype == traits::datatype<PointT, fields::rgba>::value &&
617 field.
count == traits::datatype<PointT, fields::rgba>::size);
621 template<
typename Po
intT>
626 if (field.
name ==
"rgba")
633 return (field.
name == traits::name<PointT, fields::rgb>::value &&
634 field.
datatype == traits::datatype<PointT, fields::rgb>::value &&
635 field.
count == traits::datatype<PointT, fields::rgb>::size);
642 #pragma warning(default: 4201)
646 #endif //#ifndef PCL_DATA_TYPES_H_
A point structure representing the Narf descriptor.
BorderTrait
Specification of the fields for BorderDescription::traits.
A point structure representing Euclidean xyz coordinates, and the RGB color.
std::bitset< 32 > BorderTraits
Data type to store extended information about a transition from foreground to backgroundSpecification...