TDME2
1.9.200
src
tdme
tools
editor
misc
CameraInputHandler.h
Go to the documentation of this file.
1
#pragma once
2
3
#include <
tdme/tdme.h
>
4
#include <
tdme/engine/fwd-tdme.h
>
5
#include <
tdme/engine/Rotation.h
>
6
#include <
tdme/gui/events/GUIInputEventHandler.h
>
7
#include <
tdme/math/Vector3.h
>
8
#include <
tdme/tools/editor/misc/fwd-tdme.h
>
9
10
using
tdme::engine::Engine
;
11
using
tdme::engine::Rotation
;
12
using
tdme::gui::events::GUIInputEventHandler
;
13
using
tdme::math::Vector3
;
14
using
tdme::tools::editor::misc::CameraInputHandlerEventHandler
;
15
16
/**
17
* Camera Input Handler
18
* @author Andreas Drewke
19
*/
20
class
tdme::tools::editor::misc::CameraInputHandler
final
21
:
public
GUIInputEventHandler
22
{
23
private
:
24
Engine
*
engine
{
nullptr
};
25
CameraInputHandlerEventHandler
*
eventHandler
{
nullptr
};
26
27
bool
keyLeft
{
false
};
28
bool
keyRight
{
false
};
29
bool
keyUp
{
false
};
30
bool
keyDown
{
false
};
31
bool
keyA
{
false
};
32
bool
keyD
{
false
};
33
bool
keyW
{
false
};
34
bool
keyS
{
false
};
35
bool
keyPlus
{
false
};
36
bool
keyMinus
{
false
};
37
bool
keyR
{
false
};
38
39
static
constexpr
int
MOUSE_DOWN_LAST_POSITION_NONE
{ -1 };
40
static
constexpr
int
MOUSE_PANNING_NONE
{ 0 };
41
static
constexpr
int
MOUSE_ROTATION_NONE
{ 0 };
42
43
int
mouseRotationX
{ 0 };
44
int
mouseRotationY
{ 0 };
45
int
mouseDownLastX
{
MOUSE_DOWN_LAST_POSITION_NONE
};
46
int
mouseDownLastY
{
MOUSE_DOWN_LAST_POSITION_NONE
};
47
bool
mouseDragging
{
false
};
48
49
float
camScale
{ 1.0f };
50
float
camScaleMax
{ 15.0f };
51
float
camScaleMin
{ 0.05f };
52
53
Rotation
camLookRotationX
;
54
Rotation
camLookRotationY
;
55
56
Vector3
sceneCenter
;
57
58
bool
resetRequested
{
false
};
59
60
public
:
61
// forbid class copy
62
FORBID_CLASS_COPY
(
CameraInputHandler
)
63
64
/**
65
* Public constructor
66
* @param engine engine
67
* @param eventHandler event handler
68
*/
69
CameraInputHandler
(
Engine
*
engine
,
CameraInputHandlerEventHandler
*
eventHandler
=
nullptr
);
70
71
/**
72
* Destructor
73
*/
74
~CameraInputHandler
();
75
76
/**
77
* @return scene center
78
*/
79
inline
const
Vector3
&
getSceneCenter
() {
80
return
sceneCenter
;
81
}
82
83
/**
84
* Set scene center
85
* @param sceneCenter scene center
86
*/
87
inline
void
setSceneCenter
(
const
Vector3
&
sceneCenter
) {
88
this->sceneCenter =
sceneCenter
;
89
}
90
91
/**
92
* Reset
93
*/
94
void
reset
();
95
96
// overridden methods
97
void
handleInputEvents
()
override
;
98
99
};
GUIInputEventHandler.h
Rotation.h
Vector3.h
tdme::engine::Engine
Engine main class.
Definition:
Engine.h:131
tdme::engine::Rotation
Rotation representation.
Definition:
Rotation.h:18
tdme::math::Vector3
Vector3 class representing vector3 mathematical structure and operations with x, y,...
Definition:
Vector3.h:20
tdme::tools::editor::misc::CameraInputHandler
Camera Input Handler.
Definition:
CameraInputHandler.h:22
tdme::tools::editor::misc::CameraInputHandler::engine
Engine * engine
Definition:
CameraInputHandler.h:24
tdme::tools::editor::misc::CameraInputHandler::camScaleMin
float camScaleMin
Definition:
CameraInputHandler.h:51
tdme::tools::editor::misc::CameraInputHandler::mouseRotationY
int mouseRotationY
Definition:
CameraInputHandler.h:44
tdme::tools::editor::misc::CameraInputHandler::sceneCenter
Vector3 sceneCenter
Definition:
CameraInputHandler.h:56
tdme::tools::editor::misc::CameraInputHandler::keyW
bool keyW
Definition:
CameraInputHandler.h:33
tdme::tools::editor::misc::CameraInputHandler::keyD
bool keyD
Definition:
CameraInputHandler.h:32
tdme::tools::editor::misc::CameraInputHandler::getSceneCenter
const Vector3 & getSceneCenter()
Definition:
CameraInputHandler.h:79
tdme::tools::editor::misc::CameraInputHandler::mouseRotationX
int mouseRotationX
Definition:
CameraInputHandler.h:43
tdme::tools::editor::misc::CameraInputHandler::MOUSE_ROTATION_NONE
static constexpr int MOUSE_ROTATION_NONE
Definition:
CameraInputHandler.h:41
tdme::tools::editor::misc::CameraInputHandler::handleInputEvents
void handleInputEvents() override
Handle input events that have not yet been processed.
Definition:
CameraInputHandler.cpp:51
tdme::tools::editor::misc::CameraInputHandler::camScale
float camScale
Definition:
CameraInputHandler.h:49
tdme::tools::editor::misc::CameraInputHandler::MOUSE_PANNING_NONE
static constexpr int MOUSE_PANNING_NONE
Definition:
CameraInputHandler.h:40
tdme::tools::editor::misc::CameraInputHandler::keyMinus
bool keyMinus
Definition:
CameraInputHandler.h:36
tdme::tools::editor::misc::CameraInputHandler::mouseDragging
bool mouseDragging
Definition:
CameraInputHandler.h:47
tdme::tools::editor::misc::CameraInputHandler::CameraInputHandler
CameraInputHandler(Engine *engine, CameraInputHandlerEventHandler *eventHandler=nullptr)
Public constructor.
Definition:
CameraInputHandler.cpp:29
tdme::tools::editor::misc::CameraInputHandler::keyS
bool keyS
Definition:
CameraInputHandler.h:34
tdme::tools::editor::misc::CameraInputHandler::MOUSE_DOWN_LAST_POSITION_NONE
static constexpr int MOUSE_DOWN_LAST_POSITION_NONE
Definition:
CameraInputHandler.h:39
tdme::tools::editor::misc::CameraInputHandler::keyUp
bool keyUp
Definition:
CameraInputHandler.h:29
tdme::tools::editor::misc::CameraInputHandler::camScaleMax
float camScaleMax
Definition:
CameraInputHandler.h:50
tdme::tools::editor::misc::CameraInputHandler::keyPlus
bool keyPlus
Definition:
CameraInputHandler.h:35
tdme::tools::editor::misc::CameraInputHandler::eventHandler
CameraInputHandlerEventHandler * eventHandler
Definition:
CameraInputHandler.h:25
tdme::tools::editor::misc::CameraInputHandler::keyRight
bool keyRight
Definition:
CameraInputHandler.h:28
tdme::tools::editor::misc::CameraInputHandler::keyDown
bool keyDown
Definition:
CameraInputHandler.h:30
tdme::tools::editor::misc::CameraInputHandler::resetRequested
bool resetRequested
Definition:
CameraInputHandler.h:58
tdme::tools::editor::misc::CameraInputHandler::mouseDownLastY
int mouseDownLastY
Definition:
CameraInputHandler.h:46
tdme::tools::editor::misc::CameraInputHandler::camLookRotationX
Rotation camLookRotationX
Definition:
CameraInputHandler.h:53
tdme::tools::editor::misc::CameraInputHandler::reset
void reset()
Reset.
Definition:
CameraInputHandler.cpp:42
tdme::tools::editor::misc::CameraInputHandler::mouseDownLastX
int mouseDownLastX
Definition:
CameraInputHandler.h:45
tdme::tools::editor::misc::CameraInputHandler::camLookRotationY
Rotation camLookRotationY
Definition:
CameraInputHandler.h:54
tdme::tools::editor::misc::CameraInputHandler::setSceneCenter
void setSceneCenter(const Vector3 &sceneCenter)
Set scene center.
Definition:
CameraInputHandler.h:87
tdme::tools::editor::misc::CameraInputHandler::keyA
bool keyA
Definition:
CameraInputHandler.h:31
tdme::tools::editor::misc::CameraInputHandler::keyR
bool keyR
Definition:
CameraInputHandler.h:37
tdme::tools::editor::misc::CameraInputHandler::keyLeft
bool keyLeft
Definition:
CameraInputHandler.h:27
tdme::tools::editor::misc::CameraInputHandler::~CameraInputHandler
~CameraInputHandler()
Destructor.
Definition:
CameraInputHandler.cpp:38
fwd-tdme.h
tdme::gui::events::GUIInputEventHandler
GUI input event handler interface.
Definition:
GUIInputEventHandler.h:11
tdme::tools::editor::misc::CameraInputHandlerEventHandler
Camera Input Handler Event Handler.
Definition:
CameraInputHandlerEventHandler.h:11
tdme.h
FORBID_CLASS_COPY
#define FORBID_CLASS_COPY(CLASS)
Definition:
tdme.h:6
fwd-tdme.h
Generated by
1.9.1