Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | File List | Namespace Members | Class Members | Related Pages

skeletonanimator.h

Go to the documentation of this file.
00001 /***************************************************************************
00002  skeletonanimator.h  -  Animator controller classes for skeletons and bones
00003                              -------------------
00004     begin                : Tue Mar 4 2003
00005     copyright            : (C) 2003 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, skeletonanimator.h
00020 
00021  The Initial Developer of the Original Code is Mattias Jansson.
00022  Portions created by Mattias Jansson are Copyright (C) 2003
00023  Reality Rift Studios. All Rights Reserved.
00024 
00025  ***************************************************************************/
00026 
00027 #ifndef __NESKELETONANIMATOR_H
00028 #define __NESKELETONANIMATOR_H
00029 
00030 
00038 #include "base.h"
00039 #include "animator.h"
00040 #include "nodeanimator.h"
00041 
00042 #include <vector>
00043 
00044 
00045 
00046 namespace NeoEngine
00047 {
00048 
00049 
00050 
00051 
00057 class NEOENGINE_API SkeletonAnimation
00058 {
00059     public:
00060 
00062         std::vector< NodeAnimation* >    m_vpkChannels;
00063 
00065         unsigned int                       m_uiID;
00066 
00068         HashString                       m_strName;
00069 
00071         float                              m_fLength;
00072 
00074         float                              m_fCurTime;
00075 
00076 
00079                                            SkeletonAnimation();
00080 
00084                                            SkeletonAnimation( const SkeletonAnimation &rkAnimation );
00085 
00088         virtual                           ~SkeletonAnimation();
00089 
00094         virtual void                       Update( float fDeltaTime );
00095 };
00096 
00097 
00098 
00099 
00100 
00101 #ifdef WIN32
00102 
00103 #  ifdef _MSC_VER
00104 #    pragma warning( disable : 4231 )
00105 #  endif
00106 
00107 #  ifndef __HAVE_VECTOR_NESKELETONANIMATION
00108      UDTVectorEXPIMP( class SkeletonAnimation* );
00109 #    define __HAVE_VECTOR_NESKELETONANIMATION
00110 #  endif
00111 
00112 #  ifdef _MSC_VER
00113 #    ifndef __HAVE_NEANIMATORCONTROLLER_NESKELETONANIMATION
00114        EXPIMP_TEMPLATE template class NEOENGINE_API AnimatorController< class SkeletonAnimation >;
00115 #      define __HAVE_NEANIMATORCONTROLLER_NESKELETONANIMATION
00116 #    endif
00117 #  endif
00118 
00119 #endif
00120 
00121 
00122 
00123 
00124 
00125 
00131 class NEOENGINE_API SkeletonAnimatorController : public AnimatorController<SkeletonAnimation>
00132 {
00133     public:
00134 
00135 
00138                                            SkeletonAnimatorController() : AnimatorController<SkeletonAnimation>() {}
00139 
00143                                            SkeletonAnimatorController( const SkeletonAnimatorController &rkController ) : AnimatorController<SkeletonAnimation>( rkController ) {}
00144 
00147         virtual                           ~SkeletonAnimatorController() {}
00148 };
00149 
00150 
00151 }; // namespace NeoEngine
00152 
00153 
00154 #endif

Generated on Wed Jan 21 14:21:07 2004 for NeoEngine by doxygen 1.3.5