42#include <pcl/pcl_config.h>
44#include <pcl/PCLPointField.h>
47#include <pcl/register_point_struct.h>
56#define PCL_POINT_TYPES \
67 (pcl::InterestPoint) \
71 (pcl::PointXYZRGBNormal) \
72 (pcl::PointXYZINormal) \
73 (pcl::PointXYZLNormal) \
74 (pcl::PointWithRange) \
75 (pcl::PointWithViewpoint) \
76 (pcl::MomentInvariants) \
77 (pcl::PrincipalRadiiRSD) \
79 (pcl::PrincipalCurvatures) \
80 (pcl::PFHSignature125) \
81 (pcl::PFHRGBSignature250) \
83 (pcl::CPPFSignature) \
84 (pcl::PPFRGBSignature) \
85 (pcl::NormalBasedSignature12) \
86 (pcl::FPFHSignature33) \
87 (pcl::VFHSignature308) \
88 (pcl::GASDSignature512) \
89 (pcl::GASDSignature984) \
90 (pcl::GASDSignature7992) \
91 (pcl::GRSDSignature21) \
92 (pcl::ESFSignature640) \
93 (pcl::BRISKSignature512) \
95 (pcl::IntensityGradient) \
96 (pcl::PointWithScale) \
98 (pcl::ShapeContext1980) \
99 (pcl::UniqueShapeContext1960) \
103 (pcl::ReferenceFrame) \
107#define PCL_RGB_POINT_TYPES \
108 (pcl::PointXYZRGBA) \
110 (pcl::PointXYZRGBL) \
111 (pcl::PointXYZRGBNormal) \
115#define PCL_XYZL_POINT_TYPES \
117 (pcl::PointXYZRGBL) \
118 (pcl::PointXYZLNormal)
121#define PCL_FEATURE_POINT_TYPES \
122 (pcl::PFHSignature125) \
123 (pcl::PFHRGBSignature250) \
124 (pcl::PPFSignature) \
125 (pcl::CPPFSignature) \
126 (pcl::PPFRGBSignature) \
127 (pcl::NormalBasedSignature12) \
128 (pcl::FPFHSignature33) \
129 (pcl::VFHSignature308) \
130 (pcl::GASDSignature512) \
131 (pcl::GASDSignature984) \
132 (pcl::GASDSignature7992) \
133 (pcl::GRSDSignature21) \
134 (pcl::ESFSignature640) \
135 (pcl::BRISKSignature512) \
139#define PCL_DESCRIPTOR_FEATURE_POINT_TYPES \
140 (pcl::PFHSignature125) \
141 (pcl::PFHRGBSignature250) \
142 (pcl::FPFHSignature33) \
143 (pcl::VFHSignature308) \
144 (pcl::GASDSignature512) \
145 (pcl::GASDSignature984) \
146 (pcl::GASDSignature7992) \
147 (pcl::GRSDSignature21) \
148 (pcl::ESFSignature640) \
149 (pcl::BRISKSignature512) \
159 using Array4fMap = Eigen::Map<Eigen::Array4f, Eigen::Aligned>;
166 using Vector3c = Eigen::Matrix<std::uint8_t, 3, 1>;
169 using Vector4c = Eigen::Matrix<std::uint8_t, 4, 1>;
175#define PCL_ADD_UNION_POINT4D \
176 union EIGEN_ALIGN16 { \
185#define PCL_ADD_EIGEN_MAPS_POINT4D \
186 inline pcl::Vector2fMap getVector2fMap () { return (pcl::Vector2fMap (data)); } \
187 inline pcl::Vector2fMapConst getVector2fMap () const { return (pcl::Vector2fMapConst (data)); } \
188 inline pcl::Vector3fMap getVector3fMap () { return (pcl::Vector3fMap (data)); } \
189 inline pcl::Vector3fMapConst getVector3fMap () const { return (pcl::Vector3fMapConst (data)); } \
190 inline pcl::Vector4fMap getVector4fMap () { return (pcl::Vector4fMap (data)); } \
191 inline pcl::Vector4fMapConst getVector4fMap () const { return (pcl::Vector4fMapConst (data)); } \
192 inline pcl::Array3fMap getArray3fMap () { return (pcl::Array3fMap (data)); } \
193 inline pcl::Array3fMapConst getArray3fMap () const { return (pcl::Array3fMapConst (data)); } \
194 inline pcl::Array4fMap getArray4fMap () { return (pcl::Array4fMap (data)); } \
195 inline pcl::Array4fMapConst getArray4fMap () const { return (pcl::Array4fMapConst (data)); }
197#define PCL_ADD_POINT4D \
198 PCL_ADD_UNION_POINT4D \
199 PCL_ADD_EIGEN_MAPS_POINT4D
201#define PCL_ADD_UNION_NORMAL4D \
202 union EIGEN_ALIGN16 { \
212#define PCL_ADD_EIGEN_MAPS_NORMAL4D \
213 inline pcl::Vector3fMap getNormalVector3fMap () { return (pcl::Vector3fMap (data_n)); } \
214 inline pcl::Vector3fMapConst getNormalVector3fMap () const { return (pcl::Vector3fMapConst (data_n)); } \
215 inline pcl::Vector4fMap getNormalVector4fMap () { return (pcl::Vector4fMap (data_n)); } \
216 inline pcl::Vector4fMapConst getNormalVector4fMap () const { return (pcl::Vector4fMapConst (data_n)); }
218#define PCL_ADD_NORMAL4D \
219 PCL_ADD_UNION_NORMAL4D \
220 PCL_ADD_EIGEN_MAPS_NORMAL4D
222#define PCL_ADD_UNION_RGB \
236 std::uint32_t rgba; \
239#define PCL_ADD_EIGEN_MAPS_RGB \
240 inline Eigen::Vector3i getRGBVector3i () { return (Eigen::Vector3i (r, g, b)); } \
241 inline const Eigen::Vector3i getRGBVector3i () const { return (Eigen::Vector3i (r, g, b)); } \
242 inline Eigen::Vector4i getRGBVector4i () { return (Eigen::Vector4i (r, g, b, a)); } \
243 inline const Eigen::Vector4i getRGBVector4i () const { return (Eigen::Vector4i (r, g, b, a)); } \
244 inline Eigen::Vector4i getRGBAVector4i () { return (Eigen::Vector4i (r, g, b, a)); } \
245 inline const Eigen::Vector4i getRGBAVector4i () const { return (Eigen::Vector4i (r, g, b, a)); } \
246 inline pcl::Vector3cMap getBGRVector3cMap () { return (pcl::Vector3cMap (reinterpret_cast<std::uint8_t*> (&rgba))); } \
247 inline pcl::Vector3cMapConst getBGRVector3cMap () const { return (pcl::Vector3cMapConst (reinterpret_cast<const std::uint8_t*> (&rgba))); } \
248 inline pcl::Vector4cMap getBGRAVector4cMap () { return (pcl::Vector4cMap (reinterpret_cast<std::uint8_t*> (&rgba))); } \
249 inline pcl::Vector4cMapConst getBGRAVector4cMap () const { return (pcl::Vector4cMapConst (reinterpret_cast<const std::uint8_t*> (&rgba))); }
253 PCL_ADD_EIGEN_MAPS_RGB
255#define PCL_ADD_INTENSITY \
261#define PCL_ADD_INTENSITY_8U \
264 std::uint8_t intensity; \
267#define PCL_ADD_INTENSITY_32U \
270 std::uint32_t intensity; \
306 PCL_EXPORTS std::ostream& operator << (std::ostream& os,
const RGB& p);
328 inline constexpr RGB (
const _RGB &p) :
RGB{p.r, p.g, p.b, p.a} {}
332 inline constexpr RGB (std::uint8_t _r, std::uint8_t _g, std::uint8_t _b, std::uint8_t _a = 255) :
_RGB{{{{_b, _g, _r, _a}}}} {}
334 friend std::ostream& operator << (std::ostream& os,
const RGB& p);
342 PCL_EXPORTS std::ostream& operator << (std::ostream& os,
const Intensity& p);
353 friend std::ostream& operator << (std::ostream& os,
const Intensity& p);
362 PCL_EXPORTS std::ostream& operator << (std::ostream& os,
const Intensity8u& p);
373#if defined(_LIBCPP_VERSION) && _LIBCPP_VERSION <= 1101
374 inline constexpr operator unsigned char()
const
380 friend std::ostream& operator << (std::ostream& os,
const Intensity8u& p);
388 PCL_EXPORTS std::ostream& operator << (std::ostream& os,
const Intensity32u& p);
399 friend std::ostream& operator << (std::ostream& os,
const Intensity32u& p);
419 PCL_EXPORTS std::ostream& operator << (std::ostream& os,
const PointXYZI& p);
426 inline constexpr PointXYZI (
float _x,
float _y,
float _z,
float _intensity = 0.f) :
_PointXYZI{{{_x, _y, _z, 1.0f}}, {{_intensity}}} {}
428 friend std::ostream& operator << (std::ostream& os,
const PointXYZI& p);
439 PCL_EXPORTS std::ostream& operator << (std::ostream& os,
const PointXYZL& p);
446 inline constexpr PointXYZL (
float _x,
float _y,
float _z, std::uint32_t _label = 0) :
_PointXYZL{{{_x, _y, _z, 1.0f}}, _label} {}
448 friend std::ostream& operator << (std::ostream& os,
const PointXYZL& p);
452 PCL_EXPORTS std::ostream& operator << (std::ostream& os,
const Label& p);
455 std::uint32_t label = 0;
457 inline constexpr Label (std::uint32_t _label = 0): label(_label) {}
459 friend std::ostream& operator << (std::ostream& os,
const Label& p);
470 PCL_EXPORTS std::ostream& operator << (std::ostream& os,
const PointXYZRGBA& p);
497 inline constexpr PointXYZRGBA (std::uint8_t _r, std::uint8_t _g, std::uint8_t _b, std::uint8_t _a):
503 inline constexpr PointXYZRGBA (
float _x,
float _y,
float _z, std::uint8_t _r,
504 std::uint8_t _g, std::uint8_t _b, std::uint8_t _a) :
_PointXYZRGBA{{{_x, _y, _z, 1.0f}}, {{{_b, _g, _r, _a}}}} {}
506 friend std::ostream& operator << (std::ostream& os,
const PointXYZRGBA& p);
525 PCL_EXPORTS std::ostream& operator << (std::ostream& os,
const PointXYZRGB& p);
563 inline constexpr PointXYZRGB (std::uint8_t _r, std::uint8_t _g, std::uint8_t _b):
570 std::uint8_t _r, std::uint8_t _g, std::uint8_t _b):
571 _PointXYZRGB{{{_x, _y, _z, 1.0f}}, {{{_b, _g, _r, 255}}}} {}
573 friend std::ostream& operator << (std::ostream& os,
const PointXYZRGB& p);
578 PCL_EXPORTS std::ostream& operator << (std::ostream& os,
const PointXYZRGBL& p);
586 inline constexpr PointXYZRGBL (std::uint8_t _r, std::uint8_t _g, std::uint8_t _b):
593 std::uint8_t _r, std::uint8_t _g, std::uint8_t _b,
594 std::uint32_t _label = 0, std::uint8_t _a = 255) :
595 _PointXYZRGBL{{{_x, _y, _z, 1.0f}}, {{{_b, _g, _r, _a}}}, _label} {}
597 friend std::ostream& operator << (std::ostream& os,
const PointXYZRGBL& p);
618 PCL_EXPORTS std::ostream& operator << (std::ostream& os,
const PointXYZLAB& p);
629 float _l,
float _a,
float _b) :
632 friend std::ostream& operator << (std::ostream& os,
const PointXYZLAB& p);
653 PCL_EXPORTS std::ostream& operator << (std::ostream& os,
const PointXYZHSV& p);
667 float _h,
float _s,
float _v) :
670 friend std::ostream& operator << (std::ostream& os,
const PointXYZHSV& p);
674 PCL_EXPORTS std::ostream& operator << (std::ostream& os,
const PointXY& p);
691 inline constexpr PointXY(
float _x,
float _y): x(_x), y(_y) {}
692 inline constexpr PointXY(): x(0.0f), y(0.0f) {}
697 friend std::ostream& operator << (std::ostream& os,
const PointXY& p);
701 PCL_EXPORTS std::ostream& operator << (std::ostream& os,
const PointUV& p);
713 inline constexpr PointUV(
float _u,
float _v): u(_u), v(_v) {}
715 friend std::ostream& operator << (std::ostream& os,
const PointUV& p);
718 PCL_EXPORTS std::ostream& operator << (std::ostream& os,
const InterestPoint& p);
753 PCL_EXPORTS std::ostream& operator << (std::ostream& os,
const Normal& p);
761 inline constexpr Normal (
float _curvature = 0.f):
Normal (0.f, 0.f, 0.f, _curvature) {}
763 inline constexpr Normal (
float n_x,
float n_y,
float n_z,
float _curvature = 0.f) :
764 _Normal{{{n_x, n_y, n_z, 0.0f}}, {{_curvature}}} {}
766 friend std::ostream& operator << (std::ostream& os,
const Normal& p);
777 PCL_EXPORTS std::ostream& operator << (std::ostream& os,
const Axis& p);
783 inline constexpr Axis (
const _Axis &p) :
Axis{p.normal_x, p.normal_y, p.normal_z} {}
787 inline constexpr Axis (
float n_x,
float n_y,
float n_z) :
_Axis{{{n_x, n_y, n_z, 0.0f}}} {}
789 friend std::ostream& operator << (std::ostream& os,
const Axis& p);
809 PCL_EXPORTS std::ostream& operator << (std::ostream& os,
const PointNormal& p);
822 inline constexpr PointNormal (
float _x,
float _y,
float _z,
float n_x,
float n_y,
float n_z,
float _curvature = 0.f) :
823 _PointNormal{{{_x, _y, _z, 1.0f}}, {{n_x, n_y, n_z, 0.0f}}, {{_curvature}}} {}
825 friend std::ostream& operator << (std::ostream& os,
const PointNormal& p);
842 PCL_ADD_EIGEN_MAPS_RGB
879 PointXYZRGBNormal {p.x, p.y, p.z, p.r, p.g, p.b, p.a, p.normal_x, p.normal_y, p.normal_z, p.curvature} {}
890 inline constexpr PointXYZRGBNormal (
float _x,
float _y,
float _z, std::uint8_t _r, std::uint8_t _g, std::uint8_t _b):
893 inline constexpr PointXYZRGBNormal (
float _x,
float _y,
float _z, std::uint8_t _r, std::uint8_t _g, std::uint8_t _b,
894 float n_x,
float n_y,
float n_z,
float _curvature = 0.f) :
896 {{_x, _y, _z, 1.0f}},
897 {{n_x, n_y, n_z, 0.0f}},
898 {{ {{{_b, _g, _r, 255u}}}, _curvature }}
902 inline constexpr PointXYZRGBNormal (
float _x,
float _y,
float _z, std::uint8_t _r, std::uint8_t _g, std::uint8_t _b,
903 std::uint8_t _a,
float n_x,
float n_y,
float n_z,
float _curvature = 0.f) :
905 {{_x, _y, _z, 1.0f}},
906 {{n_x, n_y, n_z, 0.0f}},
907 {{ {{{_b, _g, _r, _a}}}, _curvature }}
938 PointXYZINormal {p.x, p.y, p.z, p.intensity, p.normal_x, p.normal_y, p.normal_z, p.curvature} {}
942 inline constexpr PointXYZINormal (
float _x,
float _y,
float _z,
float _intensity = 0.f):
946 float n_x,
float n_y,
float n_z,
float _curvature = 0.f) :
948 {{_x, _y, _z, 1.0f}},
949 {{n_x, n_y, n_z, 0.0f}},
950 {{_intensity, _curvature}}
981 PointXYZLNormal {p.x, p.y, p.z, p.label, p.normal_x, p.normal_y, p.normal_z, p.curvature} {}
985 inline constexpr PointXYZLNormal (
float _x,
float _y,
float _z, std::uint32_t _label = 0u) :
989 float n_x,
float n_y,
float n_z,
float _curvature = 0.f) :
991 {{_x, _y, _z, 1.0f}},
992 {{n_x, n_y, n_z, 0.0f}},
993 {{_label, _curvature}}
1062 inline constexpr PointWithViewpoint (
float _x,
float _y,
float _z,
float _vp_x,
float _vp_y,
float _vp_z) :
1105 inline constexpr IntensityGradient (
float _x,
float _y,
float _z): gradient_x (_x), gradient_y (_y), gradient_z (_z) {}
1137 PointWithScale{p.x, p.y, p.z, p.scale, p.angle, p.response, p.octave} {}
1142 float _angle = -1.f,
float _response = 0.f,
int _octave = 0) :
1143 _PointWithScale{{{_x, _y, _z, 1.0f}}, {_scale}, _angle, _response, _octave } {}
1164 PCL_ADD_EIGEN_MAPS_RGB
1168 PCL_EXPORTS std::ostream& operator << (std::ostream& os,
const PointSurfel& p);
1175 PointSurfel{p.x, p.y, p.z, p.normal_x, p.normal_y, p.normal_z, p.r, p.g, p.b, p.a, p.radius, p.confidence, p.curvature} {}
1178 PointSurfel{0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0u, 0u, 0u, 0u, 0.0f, 0.0f, 0.0f} {}
1180 inline constexpr PointSurfel (
float _x,
float _y,
float _z,
float _nx,
1181 float _ny,
float _nz, std::uint8_t _r, std::uint8_t _g, std::uint8_t _b, std::uint8_t _a,
1182 float _radius,
float _confidence,
float _curvature) :
1184 {{_x, _y, _z, 1.0f}},
1185 {{_nx, _ny, _nz, 0.0f}},
1186 {{{{{_b, _g, _r, _a}}}, _radius, _confidence, _curvature}}
1190 friend std::ostream& operator << (std::ostream& os,
const PointSurfel& p);
1202 PCL_EXPORTS std::ostream& operator << (std::ostream& os,
const PointDEM& p);
1209 PointDEM{p.x, p.y, p.z, p.intensity, p.intensity_variance, p.height_variance} {}
1213 inline constexpr PointDEM (
float _x,
float _y,
float _z):
PointDEM (_x, _y, _z, 0.f, 0.f, 0.f) {}
1215 inline constexpr PointDEM (
float _x,
float _y,
float _z,
float _intensity,
1216 float _intensity_variance,
float _height_variance) :
1217 _PointDEM{{{_x, _y, _z, 1.0f}}, _intensity, _intensity_variance, _height_variance} {}
1219 friend std::ostream& operator << (std::ostream& os,
const PointDEM& p);
1224POINT_CLOUD_REGISTER_POINT_STRUCT (
pcl::_RGB,
1225 (std::uint32_t, rgba, rgba)
1230 (
float, intensity, intensity)
1235 (std::uint8_t, intensity, intensity)
1240 (std::uint32_t, intensity, intensity)
1255 (std::uint32_t, rgba, rgba)
1271 (std::uint32_t, rgba, rgba)
1272 (std::uint32_t, label, label)
1310 (
float, strength, strength)
1317 (
float, intensity, intensity)
1325 (std::uint32_t, label, label)
1328POINT_CLOUD_REGISTER_POINT_STRUCT (
pcl::Label,
1329 (std::uint32_t, label, label)
1333 (
float, normal_x, normal_x)
1334 (
float, normal_y, normal_y)
1335 (
float, normal_z, normal_z)
1336 (
float, curvature, curvature)
1340POINT_CLOUD_REGISTER_POINT_STRUCT (
pcl::_Axis,
1341 (
float, normal_x, normal_x)
1342 (
float, normal_y, normal_y)
1343 (
float, normal_z, normal_z)
1351 (
float, normal_x, normal_x)
1352 (
float, normal_y, normal_y)
1353 (
float, normal_z, normal_z)
1354 (
float, curvature, curvature)
1360 (
float, normal_x, normal_x)
1361 (
float, normal_y, normal_y)
1362 (
float, normal_z, normal_z)
1364 (
float, curvature, curvature)
1371 (
float, normal_x, normal_x)
1372 (
float, normal_y, normal_y)
1373 (
float, normal_z, normal_z)
1374 (
float, intensity, intensity)
1375 (
float, curvature, curvature)
1381 (
float, normal_x, normal_x)
1382 (
float, normal_y, normal_y)
1383 (
float, normal_z, normal_z)
1384 (std::uint32_t, label, label)
1385 (
float, curvature, curvature)
1391 (
float, range, range)
1405 (
float, gradient_x, gradient_x)
1406 (
float, gradient_y, gradient_y)
1407 (
float, gradient_z, gradient_z)
1414 (
float, scale, scale)
1421 (
float, normal_x, normal_x)
1422 (
float, normal_y, normal_y)
1423 (
float, normal_z, normal_z)
1424 (std::uint32_t, rgba, rgba)
1425 (
float, radius, radius)
1426 (
float, confidence, confidence)
1427 (
float, curvature, curvature)
1434 (
float, intensity, intensity)
1435 (
float, intensity_variance, intensity_variance)
1436 (
float, height_variance, height_variance)
1445template<
typename Po
intT>
1446struct FieldMatches<
PointT, ::pcl::fields::rgba>
1450 if (field.
name ==
"rgb")
1460 return (field.
name == traits::name<PointT, fields::rgba>::value &&
1461 field.
datatype == traits::datatype<PointT, fields::rgba>::value &&
1462 field.
count == traits::datatype<PointT, fields::rgba>::size);
1466template<
typename Po
intT>
1467struct FieldMatches<
PointT, fields::rgb>
1471 if (field.
name ==
"rgba")
1479 return (field.
name == traits::name<PointT, fields::rgb>::value &&
1480 (field.
datatype == traits::datatype<PointT, fields::rgb>::value ||
1482 field.
count == traits::datatype<PointT, fields::rgb>::size);
Defines all the PCL implemented PointT point type structures.
Defines all the PCL implemented PointT feature type structures.
#define PCL_MAKE_ALIGNED_OPERATOR_NEW
Macro to signal a class requires a custom allocator.
std::bitset< 32 > BorderTraits
Data type to store extended information about a transition from foreground to backgroundSpecification...
Defines functions, macros and traits for allocating and using memory.
Eigen::Map< Eigen::Vector2f > Vector2fMap
Eigen::Map< Eigen::Vector4f, Eigen::Aligned > Vector4fMap
const Eigen::Map< const Vector4c, Eigen::Aligned > Vector4cMapConst
const Eigen::Map< const Eigen::Vector2f > Vector2fMapConst
Eigen::Map< Vector4c, Eigen::Aligned > Vector4cMap
std::ostream & operator<<(std::ostream &os, const BivariatePolynomialT< real > &p)
const Eigen::Map< const Eigen::Vector3f > Vector3fMapConst
const Eigen::Map< const Vector3c > Vector3cMapConst
Eigen::Map< Eigen::Vector3f > Vector3fMap
Eigen::Matrix< std::uint8_t, 4, 1 > Vector4c
const Eigen::Map< const Eigen::Vector4f, Eigen::Aligned > Vector4fMapConst
const Eigen::Map< const Eigen::Array4f, Eigen::Aligned > Array4fMapConst
Eigen::Matrix< std::uint8_t, 3, 1 > Vector3c
Eigen::Map< Eigen::Array4f, Eigen::Aligned > Array4fMap
const Eigen::Map< const Eigen::Array3f > Array3fMapConst
Eigen::Map< Vector3c > Vector3cMap
Eigen::Map< Eigen::Array3f > Array3fMap
Defines all the PCL and non-PCL macros used.
PCL_ADD_POINT4D float intensity
PCL_ADD_UNION_RGB float radius
float angle
Computed orientation of the keypoint (-1 if not applicable).
float response
The response by which the most strong keypoints have been selected.
int octave
octave (pyramid layer) from which the keypoint has been extracted.
float scale
Diameter of the meaningful keypoint neighborhood.
A point structure representing Euclidean xyz coordinates, and the intensity value.
PCL_ADD_POINT4D std::uint32_t label
PCL_ADD_POINT4D PCL_ADD_RGB std::uint32_t label
PCL_ADD_UNION_RGB float curvature
A point structure representing an Axis using its normal coordinates.
constexpr Axis(float n_x, float n_y, float n_z)
constexpr Axis(const _Axis &p)
A structure to store if a point in a range image lies on a border between an obstacle and the backgro...
constexpr BorderDescription(int _x, int _y)
constexpr BorderDescription()=default
bool operator()(const PCLPointField &field)
A point structure representing the grayscale intensity in single-channel images.
constexpr Intensity32u(const _Intensity32u &p)
constexpr Intensity32u(std::uint32_t _intensity=0)
A point structure representing the grayscale intensity in single-channel images.
constexpr Intensity8u(std::uint8_t _intensity=0)
constexpr Intensity8u(const _Intensity8u &p)
A point structure representing the intensity gradient of an XYZI point cloud.
constexpr IntensityGradient(float _x, float _y, float _z)
constexpr IntensityGradient()
A point structure representing the grayscale intensity in single-channel images.
constexpr Intensity(const _Intensity &p)
constexpr Intensity(float _intensity=0.f)
A point structure representing an interest point with Euclidean xyz coordinates, and an interest valu...
constexpr Label(std::uint32_t _label=0)
A point structure representing normal coordinates and the surface curvature estimate.
constexpr Normal(const _Normal &p)
constexpr Normal(float _curvature=0.f)
constexpr Normal(float n_x, float n_y, float n_z, float _curvature=0.f)
A point structure representing Digital Elevation Map.
constexpr PointDEM(const _PointDEM &p)
constexpr PointDEM(float _x, float _y, float _z, float _intensity, float _intensity_variance, float _height_variance)
constexpr PointDEM(float _x, float _y, float _z)
A point structure representing Euclidean xyz coordinates, together with normal coordinates and the su...
constexpr PointNormal(float _curvature=0.f)
constexpr PointNormal(float _x, float _y, float _z)
constexpr PointNormal(const _PointNormal &p)
constexpr PointNormal(float _x, float _y, float _z, float n_x, float n_y, float n_z, float _curvature=0.f)
A surfel, that is, a point structure representing Euclidean xyz coordinates, together with normal coo...
constexpr PointSurfel(const _PointSurfel &p)
constexpr PointSurfel(float _x, float _y, float _z, float _nx, float _ny, float _nz, std::uint8_t _r, std::uint8_t _g, std::uint8_t _b, std::uint8_t _a, float _radius, float _confidence, float _curvature)
A 2D point structure representing pixel image coordinates.
constexpr PointUV(float _u, float _v)
constexpr PointUV()=default
A point structure representing Euclidean xyz coordinates, padded with an extra range float.
constexpr PointWithRange(float _range=0.f)
constexpr PointWithRange(float _x, float _y, float _z, float _range=0.f)
constexpr PointWithRange(const _PointWithRange &p)
A point structure representing a 3-D position and scale.
constexpr PointWithScale()
constexpr PointWithScale(const _PointWithScale &p)
constexpr PointWithScale(float _x, float _y, float _z, float _scale=1.f, float _angle=-1.f, float _response=0.f, int _octave=0)
A point structure representing Euclidean xyz coordinates together with the viewpoint from which it wa...
constexpr PointWithViewpoint(float _x, float _y, float _z)
constexpr PointWithViewpoint(float _x, float _y, float _z, float _vp_x, float _vp_y, float _vp_z)
constexpr PointWithViewpoint(const _PointWithViewpoint &p)
constexpr PointWithViewpoint()
A 2D point structure representing Euclidean xy coordinates.
pcl::Vector2fMap getVector2fMap()
constexpr PointXY(float _x, float _y)
pcl::Vector2fMapConst getVector2fMap() const
constexpr PointXYZHSV(const _PointXYZHSV &p)
constexpr PointXYZHSV(float _h, float _s, float _v)
constexpr PointXYZHSV(float _x, float _y, float _z, float _h, float _s, float _v)
A point structure representing Euclidean xyz coordinates.
constexpr PointXYZ(float _x, float _y, float _z)
constexpr PointXYZ(const _PointXYZ &p)
constexpr PointXYZI(float _x, float _y, float _z, float _intensity=0.f)
constexpr PointXYZI(float _intensity=0.f)
constexpr PointXYZI(const _PointXYZI &p)
A point structure representing Euclidean xyz coordinates, intensity, together with normal coordinates...
constexpr PointXYZINormal(float _intensity=0.f)
constexpr PointXYZINormal(const _PointXYZINormal &p)
constexpr PointXYZINormal(float _x, float _y, float _z, float _intensity, float n_x, float n_y, float n_z, float _curvature=0.f)
constexpr PointXYZINormal(float _x, float _y, float _z, float _intensity=0.f)
A point structure representing Euclidean xyz coordinates, and the CIELAB color.
constexpr PointXYZLAB(float _x, float _y, float _z, float _l, float _a, float _b)
constexpr PointXYZLAB(const _PointXYZLAB &p)
constexpr PointXYZL(std::uint32_t _label=0)
constexpr PointXYZL(const _PointXYZL &p)
constexpr PointXYZL(float _x, float _y, float _z, std::uint32_t _label=0)
A point structure representing Euclidean xyz coordinates, a label, together with normal coordinates a...
constexpr PointXYZLNormal(const _PointXYZLNormal &p)
constexpr PointXYZLNormal(float _x, float _y, float _z, std::uint32_t _label=0u)
constexpr PointXYZLNormal(std::uint32_t _label=0u)
constexpr PointXYZLNormal(float _x, float _y, float _z, std::uint32_t _label, float n_x, float n_y, float n_z, float _curvature=0.f)
A point structure representing Euclidean xyz coordinates, and the RGBA color.
constexpr PointXYZRGBA(const _PointXYZRGBA &p)
constexpr PointXYZRGBA(float _x, float _y, float _z, std::uint8_t _r, std::uint8_t _g, std::uint8_t _b, std::uint8_t _a)
constexpr PointXYZRGBA(float _x, float _y, float _z)
constexpr PointXYZRGBA(std::uint8_t _r, std::uint8_t _g, std::uint8_t _b, std::uint8_t _a)
A point structure representing Euclidean xyz coordinates, and the RGB color.
constexpr PointXYZRGB(float _x, float _y, float _z)
constexpr PointXYZRGB(const _PointXYZRGB &p)
constexpr PointXYZRGB(float _x, float _y, float _z, std::uint8_t _r, std::uint8_t _g, std::uint8_t _b)
constexpr PointXYZRGB(std::uint8_t _r, std::uint8_t _g, std::uint8_t _b)
constexpr PointXYZRGBL(std::uint32_t _label=0)
constexpr PointXYZRGBL(float _x, float _y, float _z, std::uint8_t _r, std::uint8_t _g, std::uint8_t _b, std::uint32_t _label=0, std::uint8_t _a=255)
constexpr PointXYZRGBL(float _x, float _y, float _z)
constexpr PointXYZRGBL(std::uint8_t _r, std::uint8_t _g, std::uint8_t _b)
constexpr PointXYZRGBL(const _PointXYZRGBL &p)
A point structure representing Euclidean xyz coordinates, and the RGB color, together with normal coo...
constexpr PointXYZRGBNormal(float _x, float _y, float _z, std::uint8_t _r, std::uint8_t _g, std::uint8_t _b, float n_x, float n_y, float n_z, float _curvature=0.f)
constexpr PointXYZRGBNormal(float _x, float _y, float _z)
constexpr PointXYZRGBNormal(std::uint8_t _r, std::uint8_t _g, std::uint8_t _b)
constexpr PointXYZRGBNormal(float _curvature=0.f)
constexpr PointXYZRGBNormal(const _PointXYZRGBNormal &p)
constexpr PointXYZRGBNormal(float _x, float _y, float _z, std::uint8_t _r, std::uint8_t _g, std::uint8_t _b, std::uint8_t _a, float n_x, float n_y, float n_z, float _curvature=0.f)
constexpr PointXYZRGBNormal(float _x, float _y, float _z, std::uint8_t _r, std::uint8_t _g, std::uint8_t _b)
A structure representing RGB color information.
constexpr RGB(std::uint8_t _r, std::uint8_t _g, std::uint8_t _b, std::uint8_t _a=255)
constexpr RGB(const _RGB &p)