23 #ifndef __PLUGINS_LASER_FILTER_FILTER_THREAD_H_
24 #define __PLUGINS_LASER_FILTER_FILTER_THREAD_H_
26 #include "filters/filter.h"
28 #include <core/threading/thread.h>
29 #include <aspect/blocked_timing.h>
30 #include <aspect/logging.h>
31 #include <aspect/configurable.h>
32 #include <aspect/blackboard.h>
34 # include <aspect/tf.h>
42 class Laser360Interface;
43 class Laser720Interface;
81 void open_interfaces(std::string prefix, std::vector<LaserInterface> &ifs,
82 std::vector<LaserDataFilter::Buffer *> &bufs,
bool writing);
84 LaserDataFilter * create_filter(std::string filter_type, std::string prefix,
85 unsigned int in_data_size,
86 std::vector<LaserDataFilter::Buffer *> &inbufs);
93 std::vector<LaserInterface> __in;
94 std::vector<LaserInterface> __out;
96 std::vector<LaserDataFilter::Buffer *> __in_bufs;
97 std::vector<LaserDataFilter::Buffer *> __out_bufs;
101 unsigned int __num_values;
103 std::string __cfg_name;
104 std::string __cfg_prefix;
108 std::list<LaserFilterThread *> __wait_threads;