Skip to content

Commit 3629a2d

Browse files
committed
GPU Display: Order key bindings for better grouping in the help text
1 parent 6b46c77 commit 3629a2d

1 file changed

Lines changed: 158 additions & 160 deletions

File tree

‎GPU/GPUTracking/display/frontend/GPUDisplayFrontendConfigKeys.inc‎

Lines changed: 158 additions & 160 deletions
Original file line numberDiff line numberDiff line change
@@ -20,18 +20,22 @@
2020

2121
void GPUDisplay::buildConfigKeys()
2222
{
23+
mFrontend->mConfigRTTI->helpTextEntries.emplace_back("[MOUSE 1] / [MOUSE 2] / [MOUSE 1+2]", "Look around / Strafe camera / Zoom / Rotate");
24+
mFrontend->mConfigRTTI->helpTextEntries.emplace_back("[SHIFT]", "Slow Zoom / Move / Rotate");
25+
2326
mFrontend->add_key_binding(
24-
KEY_LAMBDA('1', mCfgL, drawClusters, val ^= 1;),
25-
KEY_LAMBDA('2', mCfgL, drawInitLinks, val ^= 1;),
26-
KEY_LAMBDA('3', mCfgL, drawLinks, val ^= 1;),
27-
KEY_LAMBDA('4', mCfgL, drawSeeds, val ^= 1;),
28-
KEY_LAMBDA('5', mCfgL, drawTracklets, val ^= 1;),
29-
KEY_LAMBDA('6', mCfgL, drawTracks, val ^= 1;),
30-
KEY_LAMBDA('7', mCfgL, drawExtrapolatedTracks, val ^= 1;),
31-
KEY_LAMBDA('8', mCfgL, drawFinal, val ^= 1;),
32-
KEY_LAMBDA('N', mCfgL, colorClusters, val ^= 1;), //
33-
"Enable display of clusters, preseeds, seeds, starthits, tracklets, tracks, extrapolated tracks, merged tracks / Show assigned clusters in colors",
34-
"[1] ... [8] / [N]");
27+
KEY_DOWN_MAP('w', FORWARD),
28+
KEY_DOWN_MAP('s', BACKWARD),
29+
KEY_DOWN_MAP('a', STRAFE_LEFT),
30+
KEY_DOWN_MAP('d', STRAFE_RIGHT), //
31+
"Zoom / Strafe Left and Right");
32+
33+
mFrontend->add_key_binding(
34+
KEY_DOWN_MAP(mFrontend->KEY_PAGEUP, STRAFE_UP),
35+
KEY_DOWN_MAP(mFrontend->KEY_PAGEDOWN, STRAFE_DOWN),
36+
KEY_DOWN_MAP('e', ROTATE_LEFT),
37+
KEY_DOWN_MAP('f', ROTATE_RIGHT), //
38+
"Strafe up / down / Rotate left / right");
3539

3640
mFrontend->add_key_binding(
3741
KEY_LAMBDA(mFrontend->KEY_ESCAPE, mCfgC, mDisplayControl, val.store(2); SetInfo("Exiting", 1);),
@@ -48,6 +52,99 @@ void GPUDisplay::buildConfigKeys()
4852
}), //
4953
"Quit / Next event / Reset Display Settings / Start / Stop Qt GUI");
5054

55+
mFrontend->add_key_binding(
56+
KEY_DOWN_MAP(mFrontend->KEY_LEFT, ROTATE_YAW_LEFT),
57+
KEY_DOWN_MAP(mFrontend->KEY_RIGHT, ROTATE_YAW_RIGHT),
58+
KEY_DOWN_MAP(mFrontend->KEY_UP, ROTATE_PITCH_UP),
59+
KEY_DOWN_MAP(mFrontend->KEY_DOWN, ROTATE_PITCH_DOWN), //
60+
"Turn camera left / right / up / down");
61+
62+
mFrontend->add_key_binding(
63+
KEY_DOWN_MAP(mFrontend->KEY_ALT, FOCUS_ORIGIN),
64+
KEY_DOWN_MAP(mFrontend->KEY_CTRL, FOCUS_ORIENT_UP), //
65+
KEY_LAMBDA(mFrontend->KEY_ALT + mFrontend->SPECIAL_KEYS_SHIFTED, mCfgR, camLookOrigin, {
66+
val ^= 1;
67+
mCfgR.cameraMode = val + 2 * mCfgR.camYUp;
68+
}),
69+
KEY_LAMBDA(mFrontend->KEY_CTRL + mFrontend->SPECIAL_KEYS_SHIFTED, mCfgR, camYUp, {
70+
val ^= 1;
71+
mCfgR.cameraMode = mCfgR.camLookOrigin + 2 * val;
72+
}),
73+
KEY_LAMBDA(mFrontend->KEY_ENTER, mCfgR, cameraMode, {
74+
val++;
75+
if (val == 4) {
76+
val = 0;
77+
}
78+
mCfgR.camLookOrigin = val & 1;
79+
mCfgR.camYUp = val & 2;
80+
}),
81+
"Focus camera on origin / orient y-axis upwards (combine with [SHIFT] to lock) / Cycle through modes", //
82+
"[ALT] / [CTRL] / [ENTER]");
83+
84+
mFrontend->add_key_binding(
85+
KEY_DOWN_MAP(mFrontend->KEY_RCTRL, ROTATE_MODEL),
86+
KEY_DOWN_MAP(mFrontend->KEY_RALT, ROTATE_AROUND_Z), //
87+
"Rotate model instead of camera / rotate TPC around beamline");
88+
89+
mFrontend->add_key_binding(
90+
KEY_LAMBDA('F', mCfgR, fullScreen, val ^= 1;), //
91+
KEY_LAMBDA('_', mCfgR, maximized, val ^= 1;), //
92+
KEY_LAMBDA('b', mCfgR, fov, {
93+
if ((val += 5) > 175) {
94+
val = 5;
95+
}
96+
}),
97+
KEY_LAMBDA('m', mCfgR, rendererCompatSmoothing, {
98+
if (!displayOpenGLCore || backend()->backendType() != GPUDisplayBackend::TYPE_OPENGL) {
99+
val ^= 1;
100+
}
101+
}),
102+
KEY_LAMBDA('I', mCfgR, useGLIndirectDraw, val ^= true;), //
103+
"Switch mFullScreen / Maximized window / Change FOV (field of view) / Switch between core / compat renderer path (OpenGL profile, Vulkan smooth lines) / Enable / disable GL indirect draw");
104+
105+
mFrontend->add_key_binding(
106+
KEY_LAMBDA('S', mCfgL, smoothPoints, val ^= true;), //
107+
KEY_LAMBDA('A', mCfgL, smoothLines, val ^= true;), //
108+
KEY_LAMBDA('D', mCfgL, depthBuffer, {
109+
val ^= true;
110+
mBackend->setDepthBuffer();
111+
}), //
112+
"Enable or disable smoothing of points / smoothing of lines / depth buffer");
113+
114+
mFrontend->add_key_binding(
115+
KEY_LAMBDA('W', mCfgR, drawQualityMSAA, {
116+
val *= 2;
117+
if (val < 2) {
118+
val = 2;
119+
}
120+
if (val > 16 || val > mBackend->getMaxMSAA()) {
121+
val = 0;
122+
}
123+
}),
124+
KEY_LAMBDA('U', mCfgR, drawQualityDownsampleFSAA, {
125+
val++;
126+
if (val == 1) {
127+
val = 2;
128+
}
129+
if (val == 5) {
130+
val = 0;
131+
}
132+
}),
133+
KEY_LAMBDA('V', mCfgR, drawQualityVSync, val ^= true;), //
134+
KEY_LAMBDA('R', mCfgR, fpsLimit, val = (val + 1) % 3;), //
135+
"Toggle anti-aliasing (MSAA at raster level / change downsampling FSAA factor) / toggle VSync / FPS limit (none, refresh rate, fpsRate)");
136+
137+
mFrontend->add_key_binding(
138+
KEY_LAMBDA('#', mCfgL, invertColors, val ^= 1;),
139+
KEY_LAMBDA('g', mCfgL, drawGrid, val ^= 1;),
140+
KEY_LAMBDA('i', mCfgH, projectXY, val ^= 1;), //
141+
"Invert colors / Draw Grid / Project onto XY-plane");
142+
143+
mFrontend->add_key_binding(
144+
KEY_DOWN_MAP('+', INCREASE_WIDTH),
145+
KEY_DOWN_MAP('-', DECREASE_WIDTH), //
146+
"Increase / decrease point size (Hold SHIFT for lines)");
147+
51148
mFrontend->add_key_binding(
52149
KEY_LAMBDA('l', mCfgL, drawSector, {
53150
if (val >= (mCfgL.drawRelatedSectors ? (NSECTORS / 4 - 1) : (NSECTORS - 1))) {
@@ -77,35 +174,6 @@ void GPUDisplay::buildConfigKeys()
77174
}), //
78175
"Draw single sector (next / previous sector), draw related sectors (same plane in phi) / Show splitting of TPC in sectors by extruding volume, [:] resets");
79176

80-
mFrontend->add_key_binding(
81-
KEY_LAMBDA('y', mCfgC, dummy, {
82-
if (mAnimateVectors[0].size() > 1) {
83-
if (mCfgC.mAnimateScreenshot) {
84-
mAnimationExport++;
85-
}
86-
startAnimation();
87-
SetInfo("Starting Animation", 1);
88-
} else {
89-
SetInfo("Insufficient Animation points to start Animation", 1);
90-
}
91-
}),
92-
KEY_LAMBDA('Y', mCfgC, dummy, setAnimationPoint(); SetInfo("Added Animation point (%d points, %6.2f seconds)", (int32_t)mAnimateVectors[0].size(), mAnimateVectors[0].back());), //
93-
KEY_LAMBDA('\'', mCfgC, dummy, removeAnimationPoint(); SetInfo("Removed Animation point", 1);), //
94-
KEY_LAMBDA('X', mCfgC, dummy, resetAnimation(); SetInfo("Reset Animation points", 1);), //
95-
KEY_LAMBDA('M', mCfgL, animationMode, {
96-
val++;
97-
if (val == 7) {
98-
val = 0;
99-
}
100-
}), //
101-
"Start Animation, Add / remove Animation point, Reset Points, Cycle animation camera mode (resets)");
102-
103-
mFrontend->add_key_binding(
104-
KEY_LAMBDA('#', mCfgL, invertColors, val ^= 1;),
105-
KEY_LAMBDA('g', mCfgL, drawGrid, val ^= 1;),
106-
KEY_LAMBDA('i', mCfgH, projectXY, val ^= 1;), //
107-
"Invert colors / Draw Grid / Project onto XY-plane");
108-
109177
mFrontend->add_key_binding(
110178
KEY_LAMBDA('x', mCfgL, excludeClusters, val = (val + 1) % 3;),
111179
KEY_LAMBDA('.', mCfgH, hideRejectedTracks, val ^= 1;), //
@@ -139,24 +207,6 @@ void GPUDisplay::buildConfigKeys()
139207
}), //
140208
"Mark flagged clusters (splitPad = 0x1, splitTime = 0x2, edge = 0x4, singlePad = 0x8, rejectDistance = 0x10, rejectErr = 0x20 / Mark fake attached clusters / Mark clusters attached as adjacent");
141209

142-
mFrontend->add_key_binding(
143-
KEY_LAMBDA('L', mCfgL, showCollision, {
144-
if (val >= mNCollissions - 1) {
145-
val = -1;
146-
} else {
147-
val++;
148-
}
149-
}),
150-
KEY_LAMBDA('K', mCfgL, showCollision, {
151-
if (val <= -1) {
152-
val = mNCollissions - 1;
153-
} else {
154-
val--;
155-
}
156-
}),
157-
KEY_LAMBDA('C', mCfgL, colorCollisions, val ^= 1;), //
158-
"Draw single collisions (next / previous) / Colorcode clusters of different collisions");
159-
160210
mFrontend->add_key_binding(
161211
KEY_LAMBDA('v', mCfgH, hideRejectedClusters, val ^= 1;), //
162212
KEY_LAMBDA('j', mCfgH, separateExtrapolatedTracks, {
@@ -178,6 +228,24 @@ void GPUDisplay::buildConfigKeys()
178228
KEY_LAMBDA('G', mCfgH, propagateLoopers, val ^= 1;), //
179229
"Extrapolate tracks / loopers");
180230

231+
mFrontend->add_key_binding(
232+
KEY_LAMBDA('L', mCfgL, showCollision, {
233+
if (val >= mNCollissions - 1) {
234+
val = -1;
235+
} else {
236+
val++;
237+
}
238+
}),
239+
KEY_LAMBDA('K', mCfgL, showCollision, {
240+
if (val <= -1) {
241+
val = mNCollissions - 1;
242+
} else {
243+
val--;
244+
}
245+
}),
246+
KEY_LAMBDA('C', mCfgL, colorCollisions, val ^= 1;), //
247+
"Draw single collisions (next / previous) / Colorcode clusters of different collisions");
248+
181249
mFrontend->add_key_binding(
182250
KEY_LAMBDA('t', mCfgC, mRequestScreenshot, {
183251
static int32_t nScreenshot = 1;
@@ -197,52 +265,32 @@ void GPUDisplay::buildConfigKeys()
197265
"Take Screenshot / Record Animation to pictures / Change screenshot resolution (scaling factor)");
198266

199267
mFrontend->add_key_binding(
200-
KEY_LAMBDA('S', mCfgL, smoothPoints, val ^= true;), //
201-
KEY_LAMBDA('A', mCfgL, smoothLines, val ^= true;), //
202-
KEY_LAMBDA('D', mCfgL, depthBuffer, {
203-
val ^= true;
204-
mBackend->setDepthBuffer();
205-
}), //
206-
"Enable or disable smoothing of points / smoothing of lines / depth buffer");
207-
208-
mFrontend->add_key_binding(
209-
KEY_LAMBDA('W', mCfgR, drawQualityMSAA, {
210-
val *= 2;
211-
if (val < 2) {
212-
val = 2;
213-
}
214-
if (val > 16 || val > mBackend->getMaxMSAA()) {
215-
val = 0;
268+
KEY_LAMBDA('y', mCfgC, dummy, {
269+
if (mAnimateVectors[0].size() > 1) {
270+
if (mCfgC.mAnimateScreenshot) {
271+
mAnimationExport++;
272+
}
273+
startAnimation();
274+
SetInfo("Starting Animation", 1);
275+
} else {
276+
SetInfo("Insufficient Animation points to start Animation", 1);
216277
}
217278
}),
218-
KEY_LAMBDA('U', mCfgR, drawQualityDownsampleFSAA, {
279+
KEY_LAMBDA('Y', mCfgC, dummy, setAnimationPoint(); SetInfo("Added Animation point (%d points, %6.2f seconds)", (int32_t)mAnimateVectors[0].size(), mAnimateVectors[0].back());), //
280+
KEY_LAMBDA('\'', mCfgC, dummy, removeAnimationPoint(); SetInfo("Removed Animation point", 1);), //
281+
KEY_LAMBDA('X', mCfgC, dummy, resetAnimation(); SetInfo("Reset Animation points", 1);), //
282+
KEY_LAMBDA('M', mCfgL, animationMode, {
219283
val++;
220-
if (val == 1) {
221-
val = 2;
222-
}
223-
if (val == 5) {
284+
if (val == 7) {
224285
val = 0;
225286
}
226-
}),
227-
KEY_LAMBDA('V', mCfgR, drawQualityVSync, val ^= true;), //
228-
KEY_LAMBDA('R', mCfgR, fpsLimit, val = (val + 1) % 3;), //
229-
"Toggle anti-aliasing (MSAA at raster level / change downsampling FSAA factor) / toggle VSync / FPS limit (none, refresh rate, fpsRate)");
287+
}), //
288+
"Start Animation, Add / remove Animation point, Reset Points, Cycle animation camera mode (resets)");
230289

231290
mFrontend->add_key_binding(
232-
KEY_LAMBDA('F', mCfgR, fullScreen, val ^= 1;), //
233-
KEY_LAMBDA('_', mCfgR, maximized, val ^= 1;), //
234-
KEY_LAMBDA('b', mCfgR, fov, {
235-
if ((val += 5) > 175) {
236-
val = 5;
237-
}
238-
}),
239-
KEY_LAMBDA('m', mCfgR, rendererCompatSmoothing, {
240-
if (!displayOpenGLCore || backend()->backendType() != GPUDisplayBackend::TYPE_OPENGL) {
241-
val ^= 1;
242-
}
243-
}),
244-
KEY_LAMBDA('I', mCfgR, useGLIndirectDraw, val ^= true;), //
245-
"Switch mFullScreen / Maximized window / Change FOV (field of view) / Switch between core / compat renderer path (OpenGL profile, Vulkan smooth lines) / Enable / disable GL indirect draw");
291+
KEY_LAMBDA('>', mCfgC, mAnimationChangeConfig, val ^= 1; SetInfo("Interpolating visualization settings during Animation %s", mCfgC.mAnimationChangeConfig ? "enabled" : "disabled");),
292+
KEY_DOWN_MAP('<', CHANGE_ANIMATION_INTERVAL), //
293+
"Toggle config interpolation during Animation / change Animation interval (via movement)");
246294

247295
mFrontend->add_key_binding(
248296
KEY_LAMBDA('o', mCfgC, dummy, {
@@ -313,6 +361,19 @@ void GPUDisplay::buildConfigKeys()
313361
}), //
314362
"Save / restore current camera position / Animation path");
315363

364+
mFrontend->add_key_binding(
365+
KEY_LAMBDA('1', mCfgL, drawClusters, val ^= 1;),
366+
KEY_LAMBDA('2', mCfgL, drawInitLinks, val ^= 1;),
367+
KEY_LAMBDA('3', mCfgL, drawLinks, val ^= 1;),
368+
KEY_LAMBDA('4', mCfgL, drawSeeds, val ^= 1;),
369+
KEY_LAMBDA('5', mCfgL, drawTracklets, val ^= 1;),
370+
KEY_LAMBDA('6', mCfgL, drawTracks, val ^= 1;),
371+
KEY_LAMBDA('7', mCfgL, drawExtrapolatedTracks, val ^= 1;),
372+
KEY_LAMBDA('8', mCfgL, drawFinal, val ^= 1;),
373+
KEY_LAMBDA('N', mCfgL, colorClusters, val ^= 1;), //
374+
"Enable display of clusters, preseeds, seeds, starthits, tracklets, tracks, extrapolated tracks, merged tracks / Show assigned clusters in colors",
375+
"[1] ... [8] / [N]");
376+
316377
mFrontend->add_key_binding(
317378
KEY_LAMBDA(mFrontend->KEY_F1, mCfgL, drawTPC, val ^= 1;),
318379
KEY_LAMBDA(mFrontend->KEY_F2, mCfgL, drawTRD, val ^= 1;),
@@ -349,69 +410,6 @@ void GPUDisplay::buildConfigKeys()
349410
SetInfo("Info text display - console: %s, onscreen %s", (val & 2) ? "enabled" : "disabled", (val & 1) ? "enabled" : "disabled");
350411
}), //
351412
"Print Help / Show info texts");
352-
353-
mFrontend->add_key_binding(
354-
KEY_DOWN_MAP('w', FORWARD),
355-
KEY_DOWN_MAP('s', BACKWARD),
356-
KEY_DOWN_MAP('a', STRAFE_LEFT),
357-
KEY_DOWN_MAP('d', STRAFE_RIGHT), //
358-
"Zoom / Strafe Left and Right");
359-
360-
mFrontend->add_key_binding(
361-
KEY_DOWN_MAP(mFrontend->KEY_PAGEUP, STRAFE_UP),
362-
KEY_DOWN_MAP(mFrontend->KEY_PAGEDOWN, STRAFE_DOWN), //
363-
"Strafe up / down");
364-
365-
mFrontend->add_key_binding(
366-
KEY_DOWN_MAP('e', ROTATE_LEFT),
367-
KEY_DOWN_MAP('f', ROTATE_RIGHT), //
368-
"Rotate left / right");
369-
370-
mFrontend->add_key_binding(
371-
KEY_DOWN_MAP(mFrontend->KEY_LEFT, ROTATE_YAW_LEFT),
372-
KEY_DOWN_MAP(mFrontend->KEY_RIGHT, ROTATE_YAW_RIGHT),
373-
KEY_DOWN_MAP(mFrontend->KEY_UP, ROTATE_PITCH_UP),
374-
KEY_DOWN_MAP(mFrontend->KEY_DOWN, ROTATE_PITCH_DOWN), //
375-
"Turn camera left / right / up / down");
376-
377-
mFrontend->add_key_binding(
378-
KEY_DOWN_MAP('+', INCREASE_WIDTH),
379-
KEY_DOWN_MAP('-', DECREASE_WIDTH), //
380-
"Increase / decrease point size (Hold SHIFT for lines)");
381-
382-
mFrontend->add_key_binding(
383-
KEY_DOWN_MAP(mFrontend->KEY_ALT, FOCUS_ORIGIN),
384-
KEY_DOWN_MAP(mFrontend->KEY_CTRL, FOCUS_ORIENT_UP), //
385-
KEY_LAMBDA(mFrontend->KEY_ALT + mFrontend->SPECIAL_KEYS_SHIFTED, mCfgR, camLookOrigin, {
386-
val ^= 1;
387-
mCfgR.cameraMode = val + 2 * mCfgR.camYUp;
388-
}),
389-
KEY_LAMBDA(mFrontend->KEY_CTRL + mFrontend->SPECIAL_KEYS_SHIFTED, mCfgR, camYUp, {
390-
val ^= 1;
391-
mCfgR.cameraMode = mCfgR.camLookOrigin + 2 * val;
392-
}),
393-
KEY_LAMBDA(mFrontend->KEY_ENTER, mCfgR, cameraMode, {
394-
val++;
395-
if (val == 4) {
396-
val = 0;
397-
}
398-
mCfgR.camLookOrigin = val & 1;
399-
mCfgR.camYUp = val & 2;
400-
}),
401-
"Focus camera on origin / orient y-axis upwards (combine with [SHIFT] to lock) / Cycle through modes", //
402-
"[ALT] / [CTRL] / [ENTER]");
403-
404-
mFrontend->add_key_binding(
405-
KEY_DOWN_MAP(mFrontend->KEY_RCTRL, ROTATE_MODEL),
406-
KEY_DOWN_MAP(mFrontend->KEY_RALT, ROTATE_AROUND_Z), //
407-
"Rotate model instead of camera / rotate TPC around beamline");
408-
409-
mFrontend->add_key_binding(
410-
KEY_LAMBDA('>', mCfgC, mAnimationChangeConfig, val ^= 1; SetInfo("Interpolating visualization settings during Animation %s", mCfgC.mAnimationChangeConfig ? "enabled" : "disabled");),
411-
KEY_DOWN_MAP('<', CHANGE_ANIMATION_INTERVAL), //
412-
"Toggle config interpolation during Animation / change Animation interval (via movement)");
413-
414-
mFrontend->mConfigRTTI->helpTextEntries.emplace_back("[MOUSE 1] / [MOUSE 2] / [MOUSE 1+2] / [SHIFT]", "Look around / Strafe camera / Zoom / Rotate / Slow Zoom / Move / Rotate");
415413
}
416414

417415
#endif // GPUDISPLAYFRONTENDCONFIGKEYS_INC

0 commit comments

Comments
 (0)