-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathCameraTP.cpp
More file actions
66 lines (62 loc) · 1.06 KB
/
Copy pathCameraTP.cpp
File metadata and controls
66 lines (62 loc) · 1.06 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
#include "CameraTP.h"
CameraTP::CameraTP() : CameraMan()
{
}
CameraTP::CameraTP(glm::vec3 pos, glm::vec3 rot) :CameraMan(pos, rot)
{
}
CameraTP::~CameraTP()
{
}
void CameraTP::updateCamera(glm::vec3 pos, glm::vec3 rot)
{
position.x += pos.x;
position.y += pos.y;
position.z += pos.z;
rotation.x += rot.x;
rotation.y += rot.y;
rotation.z += rot.z;
check_rot();
}
void CameraTP::updateCamera_pos(glm::vec3 pos)
{
position.x += pos.x;
position.y += pos.y;
position.z += pos.z;
}
void CameraTP::updateCamera_rot(glm::vec3 rot)
{
rotation.x += rot.x;
rotation.y += rot.y;
rotation.z += rot.z;
check_rot();
}
void CameraTP::setCamera(glm::vec3 pos, glm::vec3 rot)
{
position.x = pos.x;
position.y = pos.y;
position.z = pos.z;
rotation.x = rot.x;
rotation.y = rot.y;
rotation.z = rot.z;
check_rot();
}
void CameraTP::check_rot()
{
if (rotation.x > 81.0f)
{
rotation.x = 80.0f;
}
else if (rotation.x < -81.0f)
{
rotation.x = -80.0f;
}
if (rotation.y > 183.0f)
{
rotation.y -= 360.0f;
}
else if (rotation.y < -183.0f)
{
rotation.y += 360.0f;
}
}