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