12 #include <type_traits>
35 template <
typename Po
intT,
typename Field>
39 template <
typename Po
intT,
typename Field>
43 template <
typename Po
intT,
typename Field>
54 template <
typename Po
intT>
57 template <
typename Po
intT>
60 template <
typename Po
intT>
61 using HasXY = std::enable_if_t<has_xy_v<PointT>,
bool>;
63 template <
typename Po
intT>
64 using HasNoXY = std::enable_if_t<!has_xy_v<PointT>,
bool>;
67 template <
typename Po
intT>
70 template <
typename Po
intT>
73 template <
typename Po
intT>
74 using HasXYZ = std::enable_if_t<has_xyz_v<PointT>,
bool>;
76 template <
typename Po
intT>
77 using HasNoXYZ = std::enable_if_t<!has_xyz_v<PointT>,
bool>;
81 template <
typename Po
intT>
84 template <
typename Po
intT>
87 template <
typename Po
intT>
88 using HasNormal = std::enable_if_t<has_normal_v<PointT>,
bool>;
90 template <
typename Po
intT>
91 using HasNoNormal = std::enable_if_t<!has_normal_v<PointT>,
bool>;
94 template <
typename Po
intT>
97 template <
typename Po
intT>
100 template <
typename Po
intT>
103 template <
typename Po
intT>
107 template <
typename Po
intT>
110 template <
typename Po
intT>
113 template <
typename Po
intT>
116 template <
typename Po
intT>
120 template <
typename Po
intT>
123 template <
typename Po
intT>
126 template <
typename Po
intT>
127 using HasColor = std::enable_if_t<has_color_v<PointT>,
bool>;
129 template <
typename Po
intT>
130 using HasNoColor = std::enable_if_t<!has_color_v<PointT>,
bool>;
133 template <
typename Po
intT>
136 template <
typename Po
intT>
139 template <
typename Po
intT>
140 using HasLabel = std::enable_if_t<has_label_v<PointT>,
bool>;
142 template <
typename Po
intT>
143 using HasNoLabel = std::enable_if_t<!has_label_v<PointT>,
bool>;
148 #include <pcl/impl/field_traits.hpp>
std::enable_if_t< has_curvature_v< PointT >, bool > HasCurvature
std::enable_if_t< has_normal_v< PointT >, bool > HasNormal
std::enable_if_t< has_intensity_v< PointT >, bool > HasIntensity
std::enable_if_t< has_color_v< PointT >, bool > HasColor
std::enable_if_t<!has_normal_v< PointT >, bool > HasNoNormal
constexpr auto has_label_v
constexpr auto has_color_v
constexpr auto has_intensity_v
std::enable_if_t<!has_xyz_v< PointT >, bool > HasNoXYZ
std::enable_if_t<!has_intensity_v< PointT >, bool > HasNoIntensity
std::enable_if_t< has_xyz_v< PointT >, bool > HasXYZ
std::enable_if_t<!has_curvature_v< PointT >, bool > HasNoCurvature
std::enable_if_t<!has_color_v< PointT >, bool > HasNoColor
std::enable_if_t<!has_xy_v< PointT >, bool > HasNoXY
std::enable_if_t<!has_label_v< PointT >, bool > HasNoLabel
constexpr auto has_curvature_v
std::enable_if_t< has_xy_v< PointT >, bool > HasXY
std::enable_if_t< has_label_v< PointT >, bool > HasLabel
constexpr auto has_normal_v
Metafunction to check if a given point type has all given fields.
Metafunction to check if a given point type has any of the given fields.
Metafunction to check if a given point type has either rgb or rgba field.
Metafunction to check if a given point type has curvature field.
Metafunction to check if a given point type has a given field.
Metafunction to check if a given point type has intensity field.
Metafunction to check if a given point type has label field.
Metafunction to check if a given point type has normal_x, normal_y, and normal_z fields.
Traits defined for ease of use with common fields.
Metafunction to check if a given point type has x, y, and z fields.