TuttleOFX
1
|
00001 #ifndef _LUTENGINE_INTERPOLATOR_HPP_ 00002 #define _LUTENGINE_INTERPOLATOR_HPP_ 00003 00004 #include "Color.hpp" 00005 00006 namespace tuttle { 00007 00008 class AbstractLut; 00009 00010 class Interpolator 00011 { 00012 public: 00013 Interpolator() {} 00014 virtual ~Interpolator() {} 00015 virtual Color interpolate( const AbstractLut* lut, const double x, const double y, const double z ) const = 0; 00016 inline virtual Color interpolate( const AbstractLut* lut, const Color& color ) const; 00017 }; 00018 00019 inline Color Interpolator::interpolate( const AbstractLut* lut, const Color& color ) const 00020 { 00021 return interpolate( lut, color.x, color.y, color.z ); 00022 } 00023 00024 }; 00025 00026 #endif