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 namespace InSpace {
00024
00025 class Interpolator{
00026 public:
00027 virtual Wtransf interpolate(const Wtransf t1,const Wtransf t2, const double val) =0;
00028 virtual Wtransf interpolateRotation(const Wtransf t1,const Wtransf t2, const double val) =0;
00029 virtual Color interpolate(const Color c1,const Color c2,const double val) =0;
00030 virtual double interpolate(const double d1,const double d2,const double difference) =0;
00031 };
00032
00033
00034 class LinearInterpolator:public Interpolator{
00035 public:
00036 virtual Wtransf interpolate(const Wtransf t1,const Wtransf t2,const double val);
00037 virtual Wtransf interpolateRotation(const Wtransf t1,const Wtransf t2, const double val);
00038 virtual Color interpolate(const Color c1,const Color c2,const double val);
00039 virtual double interpolate(const double d1,const double d2,const double difference);
00040 };
00041
00042 }
00043 #endif