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 VRN_VEC2INTERPOLATIONFUNCTIONS_H
00029 #define VRN_VEC2INTERPOLATIONFUNCTIONS_H
00030
00031 #include "voreen/core/animation/interpolationfunction.h"
00032
00033 namespace voreen {
00034
00038 class Vec2StartInterpolationFunction : public InterpolationFunction<tgt::vec2> {
00039
00040 public:
00041 Vec2StartInterpolationFunction();
00042 InterpolationFunction<tgt::vec2>* clone() const;
00043 tgt::vec2 interpolate(tgt::vec2 startvalue, tgt::vec2 endvalue, float time) const;
00044
00045 std::string getMode() const;
00046 std::string getIdentifier() const;
00047 };
00048
00052 class Vec2EndInterpolationFunction : public InterpolationFunction<tgt::vec2> {
00053
00054 public:
00055 Vec2EndInterpolationFunction();
00056 InterpolationFunction<tgt::vec2>* clone() const;
00057 tgt::vec2 interpolate(tgt::vec2 startvalue, tgt::vec2 endvalue, float time) const;
00058
00059 std::string getMode() const;
00060 std::string getIdentifier() const;
00061 };
00062
00066 class Vec2StartEndInterpolationFunction : public InterpolationFunction<tgt::vec2> {
00067
00068 public:
00069 Vec2StartEndInterpolationFunction();
00070 InterpolationFunction<tgt::vec2>* clone() const;
00071 tgt::vec2 interpolate(tgt::vec2 startvalue, tgt::vec2 endvalue, float time) const;
00072
00073 std::string getMode() const;
00074 std::string getIdentifier() const;
00075 };
00076
00080 class Vec2LinearInterpolationFunction : public InterpolationFunction<tgt::vec2> {
00081
00082 public:
00083 Vec2LinearInterpolationFunction();
00084 InterpolationFunction<tgt::vec2>* clone() const;
00085 tgt::vec2 interpolate(tgt::vec2 startvalue, tgt::vec2 endvalue, float time) const;
00086
00087 std::string getMode() const;
00088 std::string getIdentifier() const;
00089 };
00090
00094 class Vec2SphericalLinearInterpolationFunction : public InterpolationFunction<tgt::vec2> {
00095
00096 public:
00097 Vec2SphericalLinearInterpolationFunction();
00098 InterpolationFunction<tgt::vec2>* clone() const;
00099 tgt::vec2 interpolate(tgt::vec2 startvalue, tgt::vec2 endvalue, float time) const;
00100
00101 std::string getMode() const;
00102 std::string getIdentifier() const;
00103 };
00104
00108 class Vec2InQuadInterpolationFunction : public InterpolationFunction<tgt::vec2> {
00109
00110 public:
00111 Vec2InQuadInterpolationFunction();
00112 InterpolationFunction<tgt::vec2>* clone() const;
00113 tgt::vec2 interpolate(tgt::vec2 startvalue, tgt::vec2 endvalue, float time) const;
00114
00115 std::string getMode() const;
00116 std::string getIdentifier() const;
00117 };
00118
00122 class Vec2InCubicInterpolationFunction : public InterpolationFunction<tgt::vec2> {
00123
00124 public:
00125 Vec2InCubicInterpolationFunction();
00126 InterpolationFunction<tgt::vec2>* clone() const;
00127 tgt::vec2 interpolate(tgt::vec2 startvalue, tgt::vec2 endvalue, float time) const;
00128
00129 std::string getMode() const;
00130 std::string getIdentifier() const;
00131 };
00132
00136 class Vec2InQuartInterpolationFunction : public InterpolationFunction<tgt::vec2> {
00137
00138 public:
00139 Vec2InQuartInterpolationFunction();
00140 InterpolationFunction<tgt::vec2>* clone() const;
00141 tgt::vec2 interpolate(tgt::vec2 startvalue, tgt::vec2 endvalue, float time) const;
00142
00143 std::string getMode() const;
00144 std::string getIdentifier() const;
00145 };
00146
00150 class Vec2InQuintInterpolationFunction : public InterpolationFunction<tgt::vec2> {
00151
00152 public:
00153 Vec2InQuintInterpolationFunction();
00154 InterpolationFunction<tgt::vec2>* clone() const;
00155 tgt::vec2 interpolate(tgt::vec2 startvalue, tgt::vec2 endvalue, float time) const;
00156
00157 std::string getMode() const;
00158 std::string getIdentifier() const;
00159 };
00160
00164 class Vec2InSineInterpolationFunction : public InterpolationFunction<tgt::vec2> {
00165
00166 public:
00167 Vec2InSineInterpolationFunction();
00168 InterpolationFunction<tgt::vec2>* clone() const;
00169 tgt::vec2 interpolate(tgt::vec2 startvalue, tgt::vec2 endvalue, float time) const;
00170
00171 std::string getMode() const;
00172 std::string getIdentifier() const;
00173 };
00174
00178 class Vec2InExponentInterpolationFunction : public InterpolationFunction<tgt::vec2> {
00179
00180 public:
00181 Vec2InExponentInterpolationFunction();
00182 InterpolationFunction<tgt::vec2>* clone() const;
00183 tgt::vec2 interpolate(tgt::vec2 startvalue, tgt::vec2 endvalue, float time) const;
00184
00185 std::string getMode() const;
00186 std::string getIdentifier() const;
00187 };
00188
00192 class Vec2InCircInterpolationFunction : public InterpolationFunction<tgt::vec2> {
00193
00194 public:
00195 Vec2InCircInterpolationFunction();
00196 InterpolationFunction<tgt::vec2>* clone() const;
00197 tgt::vec2 interpolate(tgt::vec2 startvalue, tgt::vec2 endvalue, float time) const;
00198
00199 std::string getMode() const;
00200 std::string getIdentifier() const;
00201 };
00202
00206 class Vec2OutQuadInterpolationFunction : public InterpolationFunction<tgt::vec2> {
00207
00208 public:
00209 Vec2OutQuadInterpolationFunction();
00210 InterpolationFunction<tgt::vec2>* clone() const;
00211 tgt::vec2 interpolate(tgt::vec2 startvalue, tgt::vec2 endvalue, float time) const;
00212
00213 std::string getMode() const;
00214 std::string getIdentifier() const;
00215 };
00216
00220 class Vec2OutCubicInterpolationFunction : public InterpolationFunction<tgt::vec2> {
00221
00222 public:
00223 Vec2OutCubicInterpolationFunction();
00224 InterpolationFunction<tgt::vec2>* clone() const;
00225 tgt::vec2 interpolate(tgt::vec2 startvalue, tgt::vec2 endvalue, float time) const;
00226
00227 std::string getMode() const;
00228 std::string getIdentifier() const;
00229 };
00230
00234 class Vec2OutQuartInterpolationFunction : public InterpolationFunction<tgt::vec2> {
00235
00236 public:
00237 Vec2OutQuartInterpolationFunction();
00238 InterpolationFunction<tgt::vec2>* clone() const;
00239 tgt::vec2 interpolate(tgt::vec2 startvalue, tgt::vec2 endvalue, float time) const;
00240
00241 std::string getMode() const;
00242 std::string getIdentifier() const;
00243 };
00244
00248 class Vec2OutQuintInterpolationFunction : public InterpolationFunction<tgt::vec2> {
00249
00250 public:
00251 Vec2OutQuintInterpolationFunction();
00252 InterpolationFunction<tgt::vec2>* clone() const;
00253 tgt::vec2 interpolate(tgt::vec2 startvalue, tgt::vec2 endvalue, float time) const;
00254
00255 std::string getMode() const;
00256 std::string getIdentifier() const;
00257 };
00258
00262 class Vec2OutSineInterpolationFunction : public InterpolationFunction<tgt::vec2> {
00263
00264 public:
00265 Vec2OutSineInterpolationFunction();
00266 InterpolationFunction<tgt::vec2>* clone() const;
00267 tgt::vec2 interpolate(tgt::vec2 startvalue, tgt::vec2 endvalue, float time) const;
00268
00269 std::string getMode() const;
00270 std::string getIdentifier() const;
00271 };
00272
00276 class Vec2OutExponentInterpolationFunction : public InterpolationFunction<tgt::vec2> {
00277
00278 public:
00279 Vec2OutExponentInterpolationFunction();
00280 InterpolationFunction<tgt::vec2>* clone() const;
00281 tgt::vec2 interpolate(tgt::vec2 startvalue, tgt::vec2 endvalue, float time) const;
00282
00283 std::string getMode() const;
00284 std::string getIdentifier() const;
00285 };
00286
00290 class Vec2OutCircInterpolationFunction : public InterpolationFunction<tgt::vec2> {
00291
00292 public:
00293 Vec2OutCircInterpolationFunction();
00294 InterpolationFunction<tgt::vec2>* clone() const;
00295 tgt::vec2 interpolate(tgt::vec2 startvalue, tgt::vec2 endvalue, float time) const;
00296
00297 std::string getMode() const;
00298 std::string getIdentifier() const;
00299 };
00300
00304 class Vec2InOutQuadInterpolationFunction : public InterpolationFunction<tgt::vec2> {
00305
00306 public:
00307 Vec2InOutQuadInterpolationFunction();
00308 InterpolationFunction<tgt::vec2>* clone() const;
00309 tgt::vec2 interpolate(tgt::vec2 startvalue, tgt::vec2 endvalue, float time) const;
00310
00311 std::string getMode() const;
00312 std::string getIdentifier() const;
00313 };
00314
00318 class Vec2InOutCubicInterpolationFunction : public InterpolationFunction<tgt::vec2> {
00319
00320 public:
00321 Vec2InOutCubicInterpolationFunction();
00322 InterpolationFunction<tgt::vec2>* clone() const;
00323 tgt::vec2 interpolate(tgt::vec2 startvalue, tgt::vec2 endvalue, float time) const;
00324
00325 std::string getMode() const;
00326 std::string getIdentifier() const;
00327 };
00328
00332 class Vec2InOutQuartInterpolationFunction : public InterpolationFunction<tgt::vec2> {
00333
00334 public:
00335 Vec2InOutQuartInterpolationFunction();
00336 InterpolationFunction<tgt::vec2>* clone() const;
00337 tgt::vec2 interpolate(tgt::vec2 startvalue, tgt::vec2 endvalue, float time) const;
00338
00339 std::string getMode() const;
00340 std::string getIdentifier() const;
00341 };
00342
00346 class Vec2InOutQuintInterpolationFunction : public InterpolationFunction<tgt::vec2> {
00347
00348 public:
00349 Vec2InOutQuintInterpolationFunction();
00350 InterpolationFunction<tgt::vec2>* clone() const;
00351 tgt::vec2 interpolate(tgt::vec2 startvalue, tgt::vec2 endvalue, float time) const;
00352
00353 std::string getMode() const;
00354 std::string getIdentifier() const;
00355 };
00356
00360 class Vec2InOutSineInterpolationFunction : public InterpolationFunction<tgt::vec2> {
00361
00362 public:
00363 Vec2InOutSineInterpolationFunction();
00364 InterpolationFunction<tgt::vec2>* clone() const;
00365 tgt::vec2 interpolate(tgt::vec2 startvalue, tgt::vec2 endvalue, float time) const;
00366
00367 std::string getMode() const;
00368 std::string getIdentifier() const;
00369 };
00370
00374 class Vec2InOutExponentInterpolationFunction : public InterpolationFunction<tgt::vec2> {
00375
00376 public:
00377 Vec2InOutExponentInterpolationFunction();
00378 InterpolationFunction<tgt::vec2>* clone() const;
00379 tgt::vec2 interpolate(tgt::vec2 startvalue, tgt::vec2 endvalue, float time) const;
00380
00381 std::string getMode() const;
00382 std::string getIdentifier() const;
00383 };
00384
00388 class Vec2InOutCircInterpolationFunction : public InterpolationFunction<tgt::vec2> {
00389
00390 public:
00391 Vec2InOutCircInterpolationFunction();
00392 InterpolationFunction<tgt::vec2>* clone() const;
00393 tgt::vec2 interpolate(tgt::vec2 startvalue, tgt::vec2 endvalue, float time) const;
00394
00395 std::string getMode() const;
00396 std::string getIdentifier() const;
00397 };
00398
00402 class Vec2OutInQuadInterpolationFunction : public InterpolationFunction<tgt::vec2> {
00403
00404 public:
00405 Vec2OutInQuadInterpolationFunction();
00406 InterpolationFunction<tgt::vec2>* clone() const;
00407 tgt::vec2 interpolate(tgt::vec2 startvalue, tgt::vec2 endvalue, float time) const;
00408
00409 std::string getMode() const;
00410 std::string getIdentifier() const;
00411 };
00412
00416 class Vec2OutInCubicInterpolationFunction : public InterpolationFunction<tgt::vec2> {
00417
00418 public:
00419 Vec2OutInCubicInterpolationFunction();
00420 InterpolationFunction<tgt::vec2>* clone() const;
00421 tgt::vec2 interpolate(tgt::vec2 startvalue, tgt::vec2 endvalue, float time) const;
00422
00423 std::string getMode() const;
00424 std::string getIdentifier() const;
00425 };
00426
00430 class Vec2OutInQuartInterpolationFunction : public InterpolationFunction<tgt::vec2> {
00431
00432 public:
00433 Vec2OutInQuartInterpolationFunction();
00434 InterpolationFunction<tgt::vec2>* clone() const;
00435 tgt::vec2 interpolate(tgt::vec2 startvalue, tgt::vec2 endvalue, float time) const;
00436
00437 std::string getMode() const;
00438 std::string getIdentifier() const;
00439 };
00440
00444 class Vec2OutInQuintInterpolationFunction : public InterpolationFunction<tgt::vec2> {
00445
00446 public:
00447 Vec2OutInQuintInterpolationFunction();
00448 InterpolationFunction<tgt::vec2>* clone() const;
00449 tgt::vec2 interpolate(tgt::vec2 startvalue, tgt::vec2 endvalue, float time) const;
00450
00451 std::string getMode() const;
00452 std::string getIdentifier() const;
00453 };
00454
00458 class Vec2OutInSineInterpolationFunction : public InterpolationFunction<tgt::vec2> {
00459
00460 public:
00461 Vec2OutInSineInterpolationFunction();
00462 InterpolationFunction<tgt::vec2>* clone() const;
00463 tgt::vec2 interpolate(tgt::vec2 startvalue, tgt::vec2 endvalue, float time) const;
00464
00465 std::string getMode() const;
00466 std::string getIdentifier() const;
00467 };
00468
00472 class Vec2OutInExponentInterpolationFunction : public InterpolationFunction<tgt::vec2> {
00473
00474 public:
00475 Vec2OutInExponentInterpolationFunction();
00476 InterpolationFunction<tgt::vec2>* clone() const;
00477 tgt::vec2 interpolate(tgt::vec2 startvalue, tgt::vec2 endvalue, float time) const;
00478
00479 std::string getMode() const;
00480 std::string getIdentifier() const;
00481 };
00482
00486 class Vec2OutInCircInterpolationFunction : public InterpolationFunction<tgt::vec2> {
00487
00488 public:
00489 Vec2OutInCircInterpolationFunction();
00490 InterpolationFunction<tgt::vec2>* clone() const;
00491 tgt::vec2 interpolate(tgt::vec2 startvalue, tgt::vec2 endvalue, float time) const;
00492
00493 std::string getMode() const;
00494 std::string getIdentifier() const;
00495 };
00496
00497 }
00498 #endif