00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028 #ifndef CAMERAINTERPOLATIONFUNCTIONS_H
00029 #define CAMERAINTERPOLATIONFUNCTIONS_H
00030
00031 #include "voreen/core/animation/interpolationfunction.h"
00032 #include "tgt/camera.h"
00033
00034 namespace voreen {
00035
00036 class CameraLinearInterpolationFunction : public InterpolationFunction<tgt::Camera*> {
00037
00038 public:
00039 CameraLinearInterpolationFunction();
00040 InterpolationFunction<tgt::Camera*>* clone() const;
00041 tgt::Camera* interpolate(tgt::Camera* startvalue, tgt::Camera* endvalue, float time) const;
00042
00043 std::string getMode() const;
00044 std::string getIdentifier() const;
00045 };
00046
00047 class CameraSphericalLinearInterpolationFunction : public InterpolationFunction<tgt::Camera*> {
00048
00049 public:
00050 CameraSphericalLinearInterpolationFunction();
00051 InterpolationFunction<tgt::Camera*>* clone() const;
00052 tgt::Camera* interpolate(tgt::Camera* startvalue, tgt::Camera* endvalue, float time) const;
00053
00054 std::string getMode() const;
00055 std::string getIdentifier() const;
00056 };
00057
00058 class CameraCubicSplineInterpolationFunction: public MultiPointInterpolationFunction<tgt::Camera*>{
00059 public:
00060 CameraCubicSplineInterpolationFunction();
00061 MultiPointInterpolationFunction<tgt::Camera*>* clone() const;
00062 tgt::Camera* interpolate(std::vector<PropertyKeyValue<tgt::Camera*>*> controlpoints, float time) const;
00063
00064 std::string getMode() const;
00065 std::string getIdentifier() const;
00066 };
00067
00068 class CameraStartInterpolationFunction : public InterpolationFunction<tgt::Camera*> {
00069
00070 public:
00071 CameraStartInterpolationFunction();
00072 InterpolationFunction<tgt::Camera*>* clone() const;
00073 tgt::Camera* interpolate(tgt::Camera* startvalue, tgt::Camera* endvalue, float time) const;
00074
00075 std::string getMode() const;
00076 std::string getIdentifier() const;
00077 };
00078
00079
00080 class CameraEndInterpolationFunction : public InterpolationFunction<tgt::Camera*> {
00081
00082 public:
00083 CameraEndInterpolationFunction();
00084 InterpolationFunction<tgt::Camera*>* clone() const;
00085 tgt::Camera* interpolate(tgt::Camera* startvalue, tgt::Camera* endvalue, float time) const;
00086
00087 std::string getMode() const;
00088 std::string getIdentifier() const;
00089 };
00090
00091
00092 class CameraStartEndInterpolationFunction : public InterpolationFunction<tgt::Camera*> {
00093
00094 public:
00095 CameraStartEndInterpolationFunction();
00096 InterpolationFunction<tgt::Camera*>* clone() const;
00097 tgt::Camera* interpolate(tgt::Camera* startvalue, tgt::Camera* endvalue, float time) const;
00098
00099 std::string getMode() const;
00100 std::string getIdentifier() const;
00101 };
00102
00103 class CameraCatmullRomInterpolationFunction : public MultiPointInterpolationFunction<tgt::Camera*>{
00104
00105 public:
00106 CameraCatmullRomInterpolationFunction();
00107 MultiPointInterpolationFunction<tgt::Camera*>* clone() const;
00108
00109 tgt::Camera* interpolate(std::vector<PropertyKeyValue<tgt::Camera*>*> controlpoints, float time) const;
00110
00111 std::string getMode() const;
00112 std::string getIdentifier() const;
00113 };
00114
00115 class CameraSquadInterpolationFunction : public MultiPointInterpolationFunction<tgt::Camera*>{
00116
00117 public:
00118 CameraSquadInterpolationFunction();
00119 MultiPointInterpolationFunction<tgt::Camera*>* clone() const;
00120
00121 tgt::Camera* interpolate(std::vector<PropertyKeyValue<tgt::Camera*>*> controlpoints, float time) const;
00122
00123 std::string getMode() const;
00124 std::string getIdentifier() const;
00125 };
00126
00127
00128 }
00129
00130 #endif // CAMERAINTERPOLATIONFUNCTIONS_H