00001 /* 00002 * ColorBlendingFilter.hpp 00003 * 00004 * Created on: Sep 14, 2017 00005 * Author: Peter Fankhauser 00006 * Institute: ETH Zurich, ANYbotics 00007 */ 00008 00009 #pragma once 00010 00011 #include <filters/filter_base.h> 00012 00013 #include <Eigen/Core> 00014 #include <string> 00015 00016 namespace grid_map { 00017 00021 template<typename T> 00022 class ColorBlendingFilter : public filters::FilterBase<T> 00023 { 00024 public: 00028 ColorBlendingFilter(); 00029 00033 virtual ~ColorBlendingFilter(); 00034 00038 virtual bool configure(); 00039 00045 virtual bool update(const T& mapIn, T& mapOut); 00046 00047 private: 00048 00049 enum class BlendModes { 00050 Normal, 00051 HardLight, 00052 SoftLight 00053 }; 00054 00056 std::string backgroundLayer_, foregroundLayer_; 00057 00059 BlendModes blendMode_; 00060 00062 double opacity_; 00063 00065 std::string outputLayer_; 00066 }; 00067 00068 } /* namespace */