23 #include <core/exception.h> 24 #include <utils/time/time.h> 78 unsigned int in_data_size,
79 std::vector<Buffer *> &in,
unsigned int out_size)
80 : filter_name(filter_name), out_data_size(in_data_size),
81 in_data_size(in_data_size), in(in)
83 if (out_size > 0)
out.resize(out_size);
84 for (
unsigned int i = 0; i < out_size; ++i) {
97 for (
unsigned int i = 0; i <
in.size(); ++i) {
103 for (
unsigned int i = 0; i <
out.size(); ++i) {
104 free(
out[i]->values);
115 std::vector<LaserDataFilter::Buffer *> &
131 if (this->out.size() != out.size()) {
133 this->out.size(), out.size());
137 for (
unsigned int i = 0; i < this->out.size(); ++i) {
138 free(this->out[i]->values);
161 for (
unsigned int i = 0; i <
out.size(); ++i) {
162 free(
out[i]->values);
163 out[i]->values = (
float *)malloc(data_size *
sizeof(
float));
189 outbuf->
values[i] = std::numeric_limits<float>::quiet_NaN();
204 "input and output data size");
229 if (num_values > 0) {
230 values = (
float *)malloc(num_values *
sizeof(
float));
LaserDataFilter(const std::string filter_name, unsigned int in_data_size, std::vector< Buffer *> &in, unsigned int out_size)
Constructor.
void set_array_ownership(bool own_in, bool own_out)
Set input/output array ownership.
std::vector< Buffer * > out
Vector of output arrays.
A class for handling time.
virtual unsigned int get_out_data_size()
Get size of filtered data array.
Base class for exceptions in Fawkes.
void copy_to_outbuf(Buffer *outbuf, const Buffer *inbuf)
Copies the readings from inbuf to outbuf.
Buffer(size_t num_values=0)
Constructor.
virtual void set_out_data_size(unsigned int data_size)
Resize output arrays.
virtual ~LaserDataFilter()
Virtual empty destructor.
void reset_outbuf(Buffer *b)
Resets all readings in outbuf to NaN.
unsigned int out_data_size
Number of entries in output arrays.
virtual void set_out_vector(std::vector< Buffer *> &out)
Set filtered data array.
virtual std::vector< Buffer * > & get_out_vector()
Get filtered data array.
std::vector< Buffer * > in
Vector of input arrays.
unsigned int in_data_size
Number of entries in input arrays.