Solar System OpenGL v1.0.0
Loading...
Searching...
No Matches
keyboard_handler.cpp
Go to the documentation of this file.
1
10#include "keyboard_handler.h"
11
19bool showOrbits = false;
20
28float cameraDistance = 50.0;
29
39
47bool paused = false;
48
56void zoom(bool out)
57{
58 if (!out)
59 {
60 cameraDistance -= 1.0;
61 if (cameraDistance < 5.0)
62 cameraDistance = 5.0;
63 }
64 else
65 {
66 cameraDistance += 1.0;
67 if (cameraDistance > 100.0)
68 cameraDistance = 100.0;
69 }
70 glutPostRedisplay();
71};
72
83void keyPressed(unsigned char key, int x, int y)
84{
85 switch (key)
86 {
87 case 27: // ESC key
88 exit(0);
89 break;
90 case 'W':
91 case 'w':
92 zoom(false);
93 break;
94 case 'S':
95 case 's':
96 zoom(true);
97 break;
98 case 'O':
99 case 'o':
101 break;
102 case '0':
103 cameraDistance = 10;
104 selectedElement = 0;
105 break;
106 case '1':
107 cameraDistance = 10;
108 selectedElement = 1;
109 break;
110 case '2':
111 cameraDistance = 10;
112 selectedElement = 2;
113 break;
114 case '3':
115 cameraDistance = 10;
116 selectedElement = 3;
117 break;
118 case '4':
119 cameraDistance = 10;
120 selectedElement = 4;
121 break;
122 case '5':
123 cameraDistance = 10;
124 selectedElement = 5;
125 break;
126 case '6':
127 cameraDistance = 10;
128 selectedElement = 6;
129 break;
130 case '7':
131 cameraDistance = 10;
132 selectedElement = 7;
133 break;
134 case '8':
135 cameraDistance = 10;
136 selectedElement = 8;
137 break;
138 case 'a':
139 case 'A':
140 selectedElement = -1;
141 break;
142 case 'p':
143 case 'P':
144 paused = !paused;
145 break;
146 default:
147 break;
148 }
149};
float cameraDistance
Distance of the camera from the target.
Definition keyboard_handler.cpp:28
bool paused
Flag to toggle simulation pause state.
Definition keyboard_handler.cpp:47
bool showOrbits
Flag to toggle orbital visibility.
Definition keyboard_handler.cpp:19
void zoom(bool out)
Adjusts the camera zoom level.
Definition keyboard_handler.cpp:56
int selectedElement
Index of the currently selected celestial body.
Definition keyboard_handler.cpp:38
void keyPressed(unsigned char key, int x, int y)
Handles keyboard input to control application features.
Definition keyboard_handler.cpp:83
Handles keyboard input for controlling the application.