include/voreen/core/animation/interpolation/volumehandleinterpolationfunctions.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_VOLUMEHANDLEINTERPOLATIONFUNCTIONS_H 00029 #define VRN_VOLUMEHANDLEINTERPOLATIONFUNCTIONS_H 00030 00031 #include "voreen/core/animation/interpolationfunction.h" 00032 #include "voreen/core/properties/volumehandleproperty.h" 00033 00034 namespace voreen { 00035 00039 class VolumeHandleStartInterpolationFunction : public InterpolationFunction<VolumeHandle*> { 00040 00041 public: 00042 VolumeHandleStartInterpolationFunction(); 00043 InterpolationFunction<VolumeHandle*>* clone() const; 00044 VolumeHandle* interpolate(VolumeHandle* startvalue, VolumeHandle* endvalue, float time) const; 00045 00046 std::string getMode() const; 00047 std::string getIdentifier() const; 00048 }; 00049 00053 class VolumeHandleEndInterpolationFunction : public InterpolationFunction<VolumeHandle*> { 00054 00055 public: 00056 VolumeHandleEndInterpolationFunction(); 00057 InterpolationFunction<VolumeHandle*>* clone() const; 00058 VolumeHandle* interpolate(VolumeHandle* startvalue, VolumeHandle* endvalue, float time) const; 00059 00060 std::string getMode() const; 00061 std::string getIdentifier() const; 00062 }; 00063 00067 class VolumeHandleStartEndInterpolationFunction : public InterpolationFunction<VolumeHandle*> { 00068 00069 public: 00070 VolumeHandleStartEndInterpolationFunction(); 00071 InterpolationFunction<VolumeHandle*>* clone() const; 00072 VolumeHandle* interpolate(VolumeHandle* startvalue, VolumeHandle* endvalue, float time) const; 00073 00074 std::string getMode() const; 00075 std::string getIdentifier() const; 00076 }; 00077 00078 } // namespace voreen 00079 #endif