Program Listing for File ColorBlendingFilter.hpp

Return to documentation for file (/tmp/ws/src/grid_map/grid_map_filters/include/grid_map_filters/ColorBlendingFilter.hpp)

/*
 * ColorBlendingFilter.hpp
 *
 *  Created on: Sep 14, 2017
 *      Author: Peter Fankhauser
 *   Institute: ETH Zurich, ANYbotics
 */

#ifndef GRID_MAP_FILTERS__COLORBLENDINGFILTER_HPP_
#define GRID_MAP_FILTERS__COLORBLENDINGFILTER_HPP_

#include <filters/filter_base.hpp>

#include <Eigen/Core>
#include <string>

namespace grid_map
{

template<typename T>
class ColorBlendingFilter : public filters::FilterBase<T>
{
public:
  ColorBlendingFilter();

  virtual ~ColorBlendingFilter();

  bool configure() override;

  bool update(const T & mapIn, T & mapOut) override;

private:
  enum class BlendModes
  {
    Normal,
    HardLight,
    SoftLight
  };

  std::string backgroundLayer_, foregroundLayer_;

  double opacity_;

  BlendModes blendMode_;

  std::string outputLayer_;
};

}  // namespace grid_map
#endif  // GRID_MAP_FILTERS__COLORBLENDINGFILTER_HPP_