Irrlicht 3D Engine
ISceneNodeAnimatorCameraFPS.h
Go to the documentation of this file.
00001 // Copyright (C) 2002-2012 Nikolaus Gebhardt
00002 // This file is part of the "Irrlicht Engine".
00003 // For conditions of distribution and use, see copyright notice in irrlicht.h
00004 
00005 #ifndef __I_SCENE_NODE_ANIMATOR_CAMERA_FPS_H_INCLUDED__
00006 #define __I_SCENE_NODE_ANIMATOR_CAMERA_FPS_H_INCLUDED__
00007 
00008 #include "ISceneNodeAnimator.h"
00009 #include "IEventReceiver.h"
00010 #include "irrArray.h"
00011 
00012 namespace irr
00013 {
00014     struct SKeyMap;
00015 
00016 namespace scene
00017 {
00018 
00020 
00023     class ISceneNodeAnimatorCameraFPS : public ISceneNodeAnimator
00024     {
00025     public:
00026 
00028         virtual f32 getMoveSpeed() const = 0;
00029 
00031         virtual void setMoveSpeed(f32 moveSpeed) = 0;
00032 
00034 
00037         virtual f32 getRotateSpeed() const = 0;
00038 
00040         virtual void setRotateSpeed(f32 rotateSpeed) = 0;
00041 
00043 
00045         virtual void setKeyMap(SKeyMap *map, u32 count) = 0;
00046 
00049         virtual void setKeyMap(const core::array<SKeyMap>& keymap) = 0;
00050 
00052         virtual const core::array<SKeyMap>& getKeyMap() const = 0;
00053 
00055 
00058         virtual void setVerticalMovement(bool allow) = 0;
00059 
00061 
00063         virtual void setInvertMouse(bool invert) = 0;
00064     };
00065 } // end namespace scene
00066 } // end namespace irr
00067 
00068 #endif
00069