00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027 #ifndef __NEANIMATEDNODE_H
00028 #define __NEANIMATEDNODE_H
00029
00030
00037 #include "base.h"
00038 #include "scenenode.h"
00039 #include "nodeanimator.h"
00040
00041
00042 namespace NeoEngine
00043 {
00044
00045
00046 #ifdef WIN32
00047 # ifdef _MSC_VER
00048 # pragma warning( disable : 4231 )
00049 # endif
00050 # ifndef __HAVE_VECTOR_NEANIMATEDNODE
00051 UDTVectorEXPIMP( class AnimatedNode* );
00052 # define __HAVE_VECTOR_NEANIMATEDNODE
00053 # endif
00054 #endif
00055
00056
00063 class NEOENGINE_API AnimatedNode : public SceneNode, public NodeAnimatorController
00064 {
00065 public:
00066
00067 DefineVisitable();
00068
00069 public:
00070
00078 AnimatedNode( const HashString &rstrName = "", SceneNode *pkParent = 0, BoundingVolume::BOUNDINGVOLUMETYPE eVolume = BoundingVolume::BV_AABB );
00079
00084 AnimatedNode( AnimatedNode &rkNode );
00085
00089 virtual ~AnimatedNode();
00090
00096 virtual void Update( float fDeltaTime );
00097
00102 virtual SceneNode *Duplicate();
00103 };
00104
00105
00106 };
00107
00108
00109 #endif