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); }
71 template<>
inline bool isFinite<pcl::Boundary> (
const pcl::Boundary&) {
return (
true); }
73 template<>
inline bool isFinite<pcl::SHOT352> (
const pcl::SHOT352&) {
return (
true); }
74 template<>
inline bool isFinite<pcl::SHOT1344> (
const pcl::SHOT1344&) {
return (
true); }
79 template<>
inline bool isFinite<pcl::PPFSignature> (
const pcl::PPFSignature&) {
return (
true); }
88 template <>
inline bool
91 return (pcl_isfinite (p.x) && pcl_isfinite (p.y));
95 template <>
inline bool
98 return (pcl_isfinite (p.x) && pcl_isfinite (p.y));
102 template <>
inline bool
105 return (pcl_isfinite (n.normal_x) && pcl_isfinite (n.normal_y) && pcl_isfinite (n.normal_z));
109 #endif // PCL_COMMON_POINT_TESTS_H_