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/camerainterpolationfunctions.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 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
  • Getting Started
  • Video Tutorials
  • Build Instructions
  • Adding a Module
  • Programming Tutorials
  • API Documentation
  • FAQ
edit