Voreen - Volume Rendering Engine Voreen - Volume Rendering Engine
Voreen - Volume Rendering Engine Westfälische Wilhelms-Universität Münster
  • About
  • Gallery
  • Download
  • Documentation
  • Publications
  • Community

  • Main Page
  • Related Pages
  • Namespaces
  • Classes
  • Files
  • File List

include/voreen/core/animation/interpolation/vec2interpolationfunctions.h

00001 /**********************************************************************
00002  *                                                                    *
00003  * Voreen - The Volume Rendering Engine                               *
00004  *                                                                    *
00005  * Copyright (C) 2005-2010 The Voreen Team. <http://www.voreen.org>   *
00006  *                                                                    *
00007  * This file is part of the Voreen software package. Voreen is free   *
00008  * software: you can redistribute it and/or modify it under the terms *
00009  * of the GNU General Public License version 2 as published by the    *
00010  * Free Software Foundation.                                          *
00011  *                                                                    *
00012  * Voreen is distributed in the hope that it will be useful,          *
00013  * but WITHOUT ANY WARRANTY; without even the implied warranty of     *
00014  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the       *
00015  * GNU General Public License for more details.                       *
00016  *                                                                    *
00017  * You should have received a copy of the GNU General Public License  *
00018  * in the file "LICENSE.txt" along with this program.                 *
00019  * If not, see <http://www.gnu.org/licenses/>.                        *
00020  *                                                                    *
00021  * The authors reserve all rights not expressly granted herein. For   *
00022  * non-commercial academic use see the license exception specified in *
00023  * the file "LICENSE-academic.txt". To get information about          *
00024  * commercial licensing please contact the authors.                   *
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 } // namespace voreen
00498 #endif
  • Getting Started
  • Video Tutorials
  • Build Instructions
  • Adding a Module
  • Programming Tutorials
  • API Documentation
  • FAQ
edit