23 #include <core/exception.h>
71 std::vector<Buffer *> &in,
unsigned int out_size)
77 if (out_size > 0)
out.resize(out_size);
78 for (
unsigned int i = 0; i < out_size; ++i) {
91 for (
unsigned int i = 0; i <
in.size(); ++i) {
97 for (
unsigned int i = 0; i <
out.size(); ++i) {
109 std::vector<LaserDataFilter::Buffer *> &
125 if (this->out.size() != out.size()) {
127 this->out.size(), out.size());
131 for (
unsigned int i = 0; i < this->out.size(); ++i) {
132 free(this->out[i]->values);
155 for (
unsigned int i = 0; i <
out.size(); ++i) {
156 free(
out[i]->values);
157 out[i]->values = (
float *)malloc(data_size *
sizeof(
float));
196 "input and output data size");
221 if (num_values > 0) {
222 values = (
float *)malloc(num_values *
sizeof(
float));
void set_array_ownership(bool own_in, bool own_out)
Set input/output array ownership.
std::vector< Buffer * > out
Vector of output arrays.
LaserDataFilter(unsigned int in_data_size, std::vector< Buffer * > &in, unsigned int out_size)
Constructor.
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 0.0.
virtual void set_out_vector(std::vector< Buffer * > &out)
Set filtered data array.
unsigned int out_data_size
Number of entries in output arrays.
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.