35 #ifndef FETCH_AUTO_DOCK_LASER_PROCESSOR_H 36 #define FETCH_AUTO_DOCK_LASER_PROCESSOR_H 40 #include "sensor_msgs/LaserScan.h" 41 #include "sensor_msgs/PointCloud.h" 42 #include "geometry_msgs/Point.h" 65 static Sample*
Extract(
int ind,
const sensor_msgs::LaserScan& scan);
84 class SampleSet :
public std::set<Sample*, CompareSample>
96 void appendToCloud(sensor_msgs::PointCloud& cloud,
int r = 0,
int g = 0,
int b = 0);
113 ScanMask() : filled(false), angle_min(0), angle_max(0), size(0) { }
121 void addScan(sensor_msgs::LaserScan& scan);
123 bool hasSample(
Sample*
s,
float thresh);
145 void removeLessThan(uint32_t num);
147 void splitConnected(
float thresh);
151 #endif // FETCH_AUTO_DOCK_LASER_PROCESSOR_H
std::list< SampleSetConstPtr > clusters_
SampleSet * SampleSetConstPtr
static Sample * Extract(int ind, const sensor_msgs::LaserScan &scan)
sensor_msgs::LaserScan scan_
An ordered set of Samples.
A struct representing a single sample from the laser.
bool operator()(const Sample *a, const Sample *b)
std::list< SampleSetConstPtr > & getClusters()
The comparator allowing the creation of an ordered "SampleSet".
A mask for filtering out Samples based on range.