diff options
author | David Walter Seikel | 2013-01-13 17:24:39 +1000 |
---|---|---|
committer | David Walter Seikel | 2013-01-13 17:24:39 +1000 |
commit | 393b5cd1dc438872af89d334ef6e5fcc59f27d47 (patch) | |
tree | 6a14521219942a08a1b95cb2f5a923a9edd60f63 /libraries/irrlicht-1.8/include/ISceneNodeAnimatorCameraFPS.h | |
parent | Add a note about rasters suggested start up code. (diff) | |
download | SledjHamr-393b5cd1dc438872af89d334ef6e5fcc59f27d47.zip SledjHamr-393b5cd1dc438872af89d334ef6e5fcc59f27d47.tar.gz SledjHamr-393b5cd1dc438872af89d334ef6e5fcc59f27d47.tar.bz2 SledjHamr-393b5cd1dc438872af89d334ef6e5fcc59f27d47.tar.xz |
Added Irrlicht 1.8, but without all the Windows binaries.
Diffstat (limited to 'libraries/irrlicht-1.8/include/ISceneNodeAnimatorCameraFPS.h')
-rw-r--r-- | libraries/irrlicht-1.8/include/ISceneNodeAnimatorCameraFPS.h | 69 |
1 files changed, 69 insertions, 0 deletions
diff --git a/libraries/irrlicht-1.8/include/ISceneNodeAnimatorCameraFPS.h b/libraries/irrlicht-1.8/include/ISceneNodeAnimatorCameraFPS.h new file mode 100644 index 0000000..7b7a867 --- /dev/null +++ b/libraries/irrlicht-1.8/include/ISceneNodeAnimatorCameraFPS.h | |||
@@ -0,0 +1,69 @@ | |||
1 | // Copyright (C) 2002-2012 Nikolaus Gebhardt | ||
2 | // This file is part of the "Irrlicht Engine". | ||
3 | // For conditions of distribution and use, see copyright notice in irrlicht.h | ||
4 | |||
5 | #ifndef __I_SCENE_NODE_ANIMATOR_CAMERA_FPS_H_INCLUDED__ | ||
6 | #define __I_SCENE_NODE_ANIMATOR_CAMERA_FPS_H_INCLUDED__ | ||
7 | |||
8 | #include "ISceneNodeAnimator.h" | ||
9 | #include "IEventReceiver.h" | ||
10 | #include "irrArray.h" | ||
11 | |||
12 | namespace irr | ||
13 | { | ||
14 | struct SKeyMap; | ||
15 | |||
16 | namespace scene | ||
17 | { | ||
18 | |||
19 | //! Special scene node animator for FPS cameras | ||
20 | /** This scene node animator can be attached to a camera to make it act | ||
21 | like a first person shooter | ||
22 | */ | ||
23 | class ISceneNodeAnimatorCameraFPS : public ISceneNodeAnimator | ||
24 | { | ||
25 | public: | ||
26 | |||
27 | //! Returns the speed of movement in units per millisecond | ||
28 | virtual f32 getMoveSpeed() const = 0; | ||
29 | |||
30 | //! Sets the speed of movement in units per millisecond | ||
31 | virtual void setMoveSpeed(f32 moveSpeed) = 0; | ||
32 | |||
33 | //! Returns the rotation speed in degrees | ||
34 | /** The degrees are equivalent to a half screen movement of the mouse, | ||
35 | i.e. if the mouse cursor had been moved to the border of the screen since | ||
36 | the last animation. */ | ||
37 | virtual f32 getRotateSpeed() const = 0; | ||
38 | |||
39 | //! Set the rotation speed in degrees | ||
40 | virtual void setRotateSpeed(f32 rotateSpeed) = 0; | ||
41 | |||
42 | //! Sets the keyboard mapping for this animator (old style) | ||
43 | /** \param map Array of keyboard mappings, see irr::SKeyMap | ||
44 | \param count Size of the keyboard map array. */ | ||
45 | virtual void setKeyMap(SKeyMap *map, u32 count) = 0; | ||
46 | |||
47 | //! Sets the keyboard mapping for this animator | ||
48 | //! \param keymap The new keymap array | ||
49 | virtual void setKeyMap(const core::array<SKeyMap>& keymap) = 0; | ||
50 | |||
51 | //! Gets the keyboard mapping for this animator | ||
52 | virtual const core::array<SKeyMap>& getKeyMap() const = 0; | ||
53 | |||
54 | //! Sets whether vertical movement should be allowed. | ||
55 | /** If vertical movement is enabled then the camera may fight with | ||
56 | gravity causing camera shake. Disable this if the camera has | ||
57 | a collision animator with gravity enabled. */ | ||
58 | virtual void setVerticalMovement(bool allow) = 0; | ||
59 | |||
60 | //! Sets whether the Y axis of the mouse should be inverted. | ||
61 | /** If enabled then moving the mouse down will cause | ||
62 | the camera to look up. It is disabled by default. */ | ||
63 | virtual void setInvertMouse(bool invert) = 0; | ||
64 | }; | ||
65 | } // end namespace scene | ||
66 | } // end namespace irr | ||
67 | |||
68 | #endif | ||
69 | |||