40 #ifndef PCL_COMMON_POINT_TESTS_H_
41 #define PCL_COMMON_POINT_TESTS_H_
44 #include <Eigen/src/StlSupport/details.h>
52 template <
typename Po
intT>
inline bool
55 return (pcl_isfinite (pt.x) && pcl_isfinite (pt.y) && pcl_isfinite (pt.z));
59 template <
typename Po
intT>
inline bool
60 isFinite (
const Eigen::internal::workaround_msvc_stl_support<PointT> &pt)
62 return isFinite<PointT> (
static_cast<const PointT&
> (pt));
66 template<>
inline bool isFinite<pcl::RGB> (
const pcl::RGB&) {
return (
true); }
67 template<>
inline bool isFinite<pcl::Label> (
const pcl::Label&) {
return (
true); }
68 template<>
inline bool isFinite<pcl::Axis> (
const pcl::Axis&) {
return (
true); }
69 template<>
inline bool isFinite<pcl::Intensity> (
const pcl::Intensity&) {
return (
true); }
72 template<>
inline bool isFinite<pcl::Boundary> (
const pcl::Boundary&) {
return (
true); }
74 template<>
inline bool isFinite<pcl::SHOT352> (
const pcl::SHOT352&) {
return (
true); }
75 template<>
inline bool isFinite<pcl::SHOT1344> (
const pcl::SHOT1344&) {
return (
true); }
80 template<>
inline bool isFinite<pcl::PPFSignature> (
const pcl::PPFSignature&) {
return (
true); }
89 template <>
inline bool
92 return (pcl_isfinite (p.x) && pcl_isfinite (p.y));
96 template <>
inline bool
99 return (pcl_isfinite (p.x) && pcl_isfinite (p.y));
103 template <>
inline bool
106 return (pcl_isfinite (n.normal_x) && pcl_isfinite (n.normal_y) && pcl_isfinite (n.normal_z));
110 #endif // PCL_COMMON_POINT_TESTS_H_