TuttleOFX  1
Interpolator.hpp
Go to the documentation of this file.
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