]> git.lizzy.rs Git - irrlicht.git/blob - include/ISceneNodeAnimatorCameraMaya.h
Add github workflow & gitignore
[irrlicht.git] / include / ISceneNodeAnimatorCameraMaya.h
1 // Copyright (C) 2002-2012 Nikolaus Gebhardt\r
2 // This file is part of the "Irrlicht Engine".\r
3 // For conditions of distribution and use, see copyright notice in irrlicht.h\r
4 \r
5 #ifndef __I_SCENE_NODE_ANIMATOR_CAMERA_MAYA_H_INCLUDED__\r
6 #define __I_SCENE_NODE_ANIMATOR_CAMERA_MAYA_H_INCLUDED__\r
7 \r
8 #include "ISceneNodeAnimator.h"\r
9 \r
10 namespace irr\r
11 {\r
12 \r
13 namespace scene\r
14 {\r
15 \r
16         //! Special scene node animator for Maya-style cameras\r
17         /** This scene node animator can be attached to a camera to make it act like a 3d\r
18         modeling tool.\r
19         The camera is moving relative to the target with the mouse, by pressing either\r
20         of the three buttons.\r
21         In order to move the camera, set a new target for the camera. The distance defines\r
22         the current orbit radius the camera moves on. Distance can be changed via the setter\r
23         or by mouse events.\r
24         */\r
25         class ISceneNodeAnimatorCameraMaya : public ISceneNodeAnimator\r
26         {\r
27         public:\r
28 \r
29                 //! Returns the speed of movement\r
30                 virtual f32 getMoveSpeed() const = 0;\r
31 \r
32                 //! Sets the speed of movement\r
33                 virtual void setMoveSpeed(f32 moveSpeed) = 0;\r
34 \r
35                 //! Returns the rotation speed\r
36                 virtual f32 getRotateSpeed() const = 0;\r
37 \r
38                 //! Set the rotation speed\r
39                 virtual void setRotateSpeed(f32 rotateSpeed) = 0;\r
40 \r
41                 //! Returns the zoom speed\r
42                 virtual f32 getZoomSpeed() const = 0;\r
43 \r
44                 //! Set the zoom speed\r
45                 virtual void setZoomSpeed(f32 zoomSpeed) = 0;\r
46 \r
47                 //! Returns the current distance, i.e. orbit radius\r
48                 virtual f32 getDistance() const = 0;\r
49 \r
50                 //! Set the distance\r
51                 virtual void setDistance(f32 distance) = 0;\r
52 \r
53                 //! Set the minimal distance to the camera target for zoom\r
54                 virtual void setTargetMinDistance(f32 minDistance) = 0;\r
55 \r
56                 //! Returns the minimal distance to the camera target for zoom\r
57                 virtual f32 getTargetMinDistance() const = 0;\r
58 \r
59         };\r
60 \r
61 } // end namespace scene\r
62 } // end namespace irr\r
63 \r
64 #endif\r
65 \r