20 useWindowLength_(false),
22 isComputeEmptyCells_(true),
36 ROS_ERROR(
"SlidingWindowMathExpressionFilter did not find parameter 'input_layer'.");
41 ROS_ERROR(
"SlidingWindowMathExpressionFilter did not find parameter 'output_layer'.");
46 ROS_ERROR(
"SlidingWindowMathExpressionFilter did not find parameter 'expression'.");
57 ROS_ERROR(
"SlidingWindowMathExpressionFilter did not find parameter 'compute_empty_cells'.");
61 std::string edgeHandlingMethod;
63 ROS_ERROR(
"SlidingWindowMathExpressionFilter did not find parameter 'edge_handling'.");
71 ROS_ERROR(
"SlidingWindowMathExpressionFilter did not find method '%s' for edge handling.", edgeHandlingMethod.c_str());
88 for (; !iterator.
isPastEnd(); ++iterator) {
91 if (result.matrix().cols() == 1 && result.matrix().rows() == 1) {
94 ROS_ERROR(
"SlidingWindowMathExpressionFilter could not apply filter because expression has to result in a scalar!");
virtual ~SlidingWindowMathExpressionFilter()
Value< Derived > & var(const std::string &name)
bool isComputeEmptyCells_
If empty cells should be computed as well.
SlidingWindowIterator::EdgeHandling edgeHandling_
Edge handling method.
const Matrix getData() const
double windowLength_
Window length.
int windowSize_
Window size.
Eigen::Map< Derived > & matrix()
bool useWindowLength_
If window length (instead of window size) should be used.
std::string outputLayer_
Output layer name.
virtual bool update(const T &mapIn, T &mapOut)
void setWindowLength(const GridMap &gridMap, const double windowLength)
std::string inputLayer_
Input layer name.
#define PLUGINLIB_EXPORT_CLASS(class_type, base_class_type)
std::string expression_
Expression to parse.
EigenLab::Parser< Eigen::MatrixXf > parser_
EigenLab parser.
const size_t & getLinearIndex() const
Value< Derived > eval(const std::string &expression)