00001 /*************************************************************************** 00002 keyframe.h - Base class for keyframes in animations 00003 ------------------- 00004 begin : Fri Nov 23 2001 00005 copyright : (C) 2001 by Reality Rift Studios 00006 email : mattias@realityrift.com 00007 *************************************************************************** 00008 00009 The contents of this file are subject to the Mozilla Public License Version 00010 1.1 (the "License"); you may not use this file except in compliance with 00011 the License. You may obtain a copy of the License at 00012 http://www.mozilla.org/MPL/ 00013 00014 Software distributed under the License is distributed on an "AS IS" basis, 00015 WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License 00016 for the specific language governing rights and limitations under the 00017 License. 00018 00019 The Original Code is the NeoEngine, keyframe.h 00020 00021 The Initial Developer of the Original Code is Mattias Jansson. 00022 Portions created by Mattias Jansson are Copyright (C) 2001 00023 Reality Rift Studios. All Rights Reserved. 00024 00025 ***************************************************************************/ 00026 00027 #ifndef __NEKEYFRAME_H 00028 #define __NEKEYFRAME_H 00029 00030 00031 #include "base.h" 00032 #include "nemath.h" 00033 00034 00041 namespace NeoEngine 00042 { 00043 00044 00045 00051 class NEOENGINE_API Keyframe 00052 { 00053 public: 00054 00056 float m_fT; 00057 00058 00062 Keyframe( float fTime = 0.0f ) : m_fT( fTime ) {} 00063 00067 Keyframe( const Keyframe &rkKeyframe ) : m_fT( rkKeyframe.m_fT ) {} 00068 00071 virtual ~Keyframe() {} 00072 00078 inline bool operator < ( const Keyframe &rkKeyframe ) const { return( m_fT < rkKeyframe.m_fT ); } 00079 00085 inline bool operator == ( const Keyframe &rkKeyframe ) const { return( fabs( m_fT - rkKeyframe.m_fT ) < 0.0001f ); } 00086 }; 00087 00088 00089 }; // namespace NeoEngine 00090 00091 00092 00093 #endif