24 #ifndef _PLUGINS_LASER_FILTER_FILTERS_BOX_FILTER_H_
25 #define _PLUGINS_LASER_FILTER_FILTERS_BOX_FILTER_H_
32 #include <aspect/blackboard.h>
33 #include <aspect/configurable.h>
34 #include <aspect/logging.h>
35 #include <aspect/tf.h>
36 #include <core/threading/thread.h>
37 #include <interfaces/LaserBoxFilterInterface.h>
44 float x = 0.0, y = 0.0;
57 std::string frame_map_;
58 float cfg_occupied_thresh_;
63 std::vector<LaserDataFilter::Buffer *> &
in,
72 std::vector<Box> boxes_;
73 bool point_in_rectangle(
float x,
float y);
74 Vector d_vec(Vector p1, Vector p2);
75 inline double dot(Vector u, Vector v);
Removes laser data which is represented by a set of boxes.
LaserBoxFilterDataFilter(const std::string &filter_name, unsigned int in_data_size, std::vector< LaserDataFilter::Buffer * > &in, fawkes::tf::Transformer *tf_listener, fawkes::Configuration *config, fawkes::Logger *logger, fawkes::BlackBoard *blackboard)
Constructor.
virtual void filter()
Filter the incoming data.
unsigned int in_data_size
Number of entries in input arrays.
std::string filter_name
Name of the specific filter instance.
std::vector< Buffer * > in
Vector of input arrays.
The BlackBoard abstract class.
Interface for configuration handling.
LaserBoxFilterInterface Fawkes BlackBoard Interface.
Thread aspect to log output.
Logger * logger
This is the Logger member used to access the logger.