7 #ifndef FLOAM__LIDAR_HPP_ 8 #define FLOAM__LIDAR_HPP_ 9 #include <pcl/features/organized_edge_detection.h> 10 #include <pcl/features/integral_image_normal.h> 11 #include <pcl/filters/conditional_removal.h> 31 const pcl::PointCloud<pcl::PointXYZ>::Ptr & points,
32 pcl::PointCloud<pcl::PointNormal>::Ptr & normals);
40 const pcl::PointCloud<pcl::PointXYZ>::Ptr & points,
41 pcl::PointCloud<pcl::PointXYZL>::Ptr & edges);
66 const pcl::PointCloud<pcl::PointXYZ>::Ptr & points,
67 pcl::PointCloud<pcl::PointNormal>::Ptr & normals);
72 const pcl::PointCloud<pcl::PointXYZ>::Ptr & points,
73 pcl::PointCloud<pcl::PointNormal>::Ptr & normals);
78 const pcl::PointCloud<pcl::PointXYZ>::Ptr & points,
79 pcl::PointCloud<pcl::PointXYZL>::Ptr & edges);
84 const pcl::PointCloud<pcl::PointXYZ>::Ptr & points,
85 pcl::PointCloud<pcl::PointXYZL>::Ptr & edges);
89 template <
typename Po
intT>
93 typedef std::shared_ptr<GenericCondition<PointT>>
Ptr;
94 typedef std::shared_ptr<const GenericCondition<PointT>>
ConstPtr;
95 typedef std::function<bool(const PointT&)>
FunctorT;
98 pcl::ConditionBase<PointT>(),_evaluator( evaluator )
101 virtual bool evaluate (
const PointT &point)
const {
103 return _evaluator(point);
112 #endif // FLOAM__LIDAR_HPP_
std::vector< float > pointSquaredDistance
floam::lidar::Total m_total
Total counters (i.e. frames and time)
std::vector< int > pointSearch
Eigen::Matrix< std::complex< double >, 3, 1 > m_eigenValues
virtual bool evaluate(const PointT &point) const
std::shared_ptr< const GenericCondition< PointT > > ConstPtr
T m_settings
Settings for specific Lidar type.
std::vector< pcl::PointCloud< pcl::PointXYZ >::Ptr > m_lidarScans
lidarScans
pcl::KdTreeFLANN< pcl::PointXYZ > m_kdTree
kdTree
Eigen::Matrix< std::complex< double >, 3, 3 > m_covariance
covariance objects
std::function< bool(const PointT &)> FunctorT
std::shared_ptr< GenericCondition< PointT > > Ptr
void detectEdges(const pcl::PointCloud< pcl::PointXYZ >::Ptr &points, pcl::PointCloud< pcl::PointXYZL >::Ptr &edges)
Major rewrite Author: Evan Flynn.
void detectSurfaces(const pcl::PointCloud< pcl::PointXYZ >::Ptr &points, pcl::PointCloud< pcl::PointNormal >::Ptr &normals)
std::vector< int > m_addedPoints
GenericCondition(FunctorT evaluator)