00001
00009 #ifndef INTERPOLATOR_H
00010 #define INTERPOLATOR_H
00011
00012
00013 #define OUTSIDE_GLUE_CORE
00014 #include <fsa/fsa.H>
00015 #include <dev/dev6d.H>
00016 #include <dev/room6d.H>
00017 #include <dev/buttons.H>
00018 #include <dev/dev2d.H>
00019 #include <config/config.H>
00020
00021 #include <Color.H>
00022
00023 class Interpolator{
00024 public:
00025 virtual Wtransf interpolate(const Wtransf t1,const Wtransf t2, const double val) =0;
00026 virtual Wtransf interpolateRotation(const Wtransf t1,const Wtransf t2, const double val) =0;
00027 virtual Color interpolate(const Color c1,const Color c2,const double val) =0;
00028 virtual double interpolate(const double d1,const double d2,const double difference) =0;
00029 };
00030
00031
00032 class LinearInterpolator:public Interpolator{
00033 public:
00034 virtual Wtransf interpolate(const Wtransf t1,const Wtransf t2,const double val);
00035 virtual Wtransf interpolateRotation(const Wtransf t1,const Wtransf t2, const double val);
00036 virtual Color interpolate(const Color c1,const Color c2,const double val);
00037 virtual double interpolate(const double d1,const double d2,const double difference);
00038 };
00039
00040 #endif