Home | nevrax.com |
|
u_track.hGo to the documentation of this file.00001 00007 /* Copyright, 2001 Nevrax Ltd. 00008 * 00009 * This file is part of NEVRAX NEL. 00010 * NEVRAX NEL is free software; you can redistribute it and/or modify 00011 * it under the terms of the GNU General Public License as published by 00012 * the Free Software Foundation; either version 2, or (at your option) 00013 * any later version. 00014 00015 * NEVRAX NEL is distributed in the hope that it will be useful, but 00016 * WITHOUT ANY WARRANTY; without even the implied warranty of 00017 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 00018 * General Public License for more details. 00019 00020 * You should have received a copy of the GNU General Public License 00021 * along with NEVRAX NEL; see the file COPYING. If not, write to the 00022 * Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, 00023 * MA 02111-1307, USA. 00024 */ 00025 00026 #ifndef NL_U_TRACK_H 00027 #define NL_U_TRACK_H 00028 00029 #include "nel/misc/types_nl.h" 00030 00031 namespace NLMISC 00032 { 00033 00034 class CQuat; 00035 class CRGBA; 00036 class CVector; 00037 00038 } 00039 00040 namespace NL3D 00041 { 00042 00053 class UTrack 00054 { 00055 public: 00056 00058 // @{ 00059 00063 virtual TAnimationTime getBeginTime () const=0; 00064 00068 virtual TAnimationTime getEndTime () const=0; 00069 00070 // @} 00071 00073 // @{ 00074 00086 virtual bool interpolate (TAnimationTime time, float& res) =0; 00087 00099 virtual bool interpolate (TAnimationTime time, sint32& res) =0; 00100 00112 virtual bool interpolate (TAnimationTime time, NLMISC::CRGBA& res) =0; 00113 00125 virtual bool interpolate (TAnimationTime time, NLMISC::CVector& res) =0; 00126 00138 virtual bool interpolate (TAnimationTime time, NLMISC::CQuat& res) =0; 00139 00151 virtual bool interpolate (TAnimationTime time, std::string& res) =0; 00152 00164 virtual bool interpolate (TAnimationTime time, bool& res) =0; 00165 00166 // @} 00167 }; 00168 00169 00173 class UTrackKeyframer 00174 { 00175 public: 00179 virtual void getKeysInRange(TAnimationTime t1, TAnimationTime t2, std::vector<TAnimationTime> &result)=0; 00180 }; 00181 00182 00183 00184 } // NL3D 00185 00186 00187 #endif // NL_U_TRACK_H 00188 00189 /* End of u_track.h */ |