LeviLamina
Loading...
Searching...
No Matches
HolographicPlatform.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/client/input/UIRenderMode.h"
7#include "mc/client/input/VROutputMode.h"
8#include "mc/client/options/VRHUDPosition.h"
9#include "mc/deps/core/threading/IAsyncResult.h"
10#include "mc/deps/core/utility/NonOwnerPointer.h"
11#include "mc/deps/input/InputMode.h"
12
13// auto generated forward declare list
14// clang-format off
17class IClientInstance;
18class Matrix;
19class Options;
20class RectangleArea;
21class ScreenContext;
22class Vec3;
23struct SoundSystemGUID;
24namespace MFC { struct VrConfiguration; }
25namespace mce { class RenderGraph; }
26namespace mce::framebuilder { struct LivingRoomDescription; }
27// clang-format on
28
30public:
31 // HolographicPlatform inner types declare
32 // clang-format off
35 struct LUID;
36 // clang-format on
37
38 // HolographicPlatform inner types define
39 enum class MCLocation : int {
40 Pose = 0,
41 FocusScreen = 1,
42 Holoviewer = 2,
43 Reality = 3,
44 Logo = 4,
45 EnvironmentScan = 5,
46 };
47
48 enum class GestureMode : int {
49 Disabled = 0,
50 Pan = 1,
51 Rotate = 2,
52 Tilt = 3,
53 Pivot = 4,
54 Zoom = 5,
55 GazeOffset = 6,
56 Joystick = 7,
57 Abstract = 8,
58 };
59
60 enum class HolographicFeatures : int {
61 // bitfield representation
62 LivingRoomFeature = 1 << 0,
63 HoloViewerFeature = 1 << 1,
64 HoloScreenFeature = 1 << 2,
65 VirtualRealityFeature = 1 << 3,
66 RealityModeFeature = 1 << 4,
67 TransitionInsideBlocksEnabled = 1 << 5,
68 HeadInsideBlocksEnabled = 1 << 6,
69 GazeOverridesMouse = 1 << 7,
70 MouseEnabled = 1 << 8,
71 PauseMenuOnFocusLostDisabled = 1 << 9,
72 FilePickingSupported = 1 << 10,
73 ImagePickingSupported = 1 << 11,
74 RollTurningSupported = 1 << 12,
75 IsRecenterable = 1 << 13,
76 HandControllersEnabled = 1 << 14,
77 };
78
79 enum class AimFromSpace : int {
80 Gaze = 0,
81 LeftHand = 1,
82 RightHand = 2,
83 };
84
86 public:
87 // member variables
88 // NOLINTBEGIN
111 // NOLINTEND
112
113 public:
114 // prevent constructor by default
118 };
119
121 public:
122 // member variables
123 // NOLINTBEGIN
135 // NOLINTEND
136
137 public:
138 // prevent constructor by default
142 };
143
144 struct LUID {
145 public:
146 // member variables
147 // NOLINTBEGIN
150 // NOLINTEND
151
152 public:
153 // prevent constructor by default
154 LUID& operator=(LUID const&);
155 LUID(LUID const&);
156 LUID();
157 };
158
159public:
160 // member variables
161 // NOLINTBEGIN
195 // NOLINTEND
196
197public:
198 // prevent constructor by default
199 HolographicPlatform& operator=(HolographicPlatform const&);
202
203public:
204 // virtual functions
205 // NOLINTBEGIN
206 // vIndex: 0
207 virtual ~HolographicPlatform() = default;
208
209 // vIndex: 1
210 virtual void init(::std::shared_ptr<::Options>);
211
212 // vIndex: 2
213 virtual void preInitUpdate();
214
215 // vIndex: 3
216 virtual void update(::Bedrock::NotNullNonOwnerPtr<::IClientInstance> const&);
217
218 // vIndex: 4
219 virtual void postRenderUpdate(::Bedrock::NotNullNonOwnerPtr<::IClientInstance> const&);
220
221 // vIndex: 5
222 virtual void getSoundSystemOutputDevice(::SoundSystemGUID&);
223
224 // vIndex: 6
225 virtual void onAppFocusLost();
226
227 // vIndex: 7
228 virtual void onAppFocusGained();
229
230 // vIndex: 8
231 virtual void onAppSuspended();
232
233 // vIndex: 9
234 virtual void onAppResumed();
235
236 // vIndex: 10
237 virtual void onHMDFocusGained();
238
239 // vIndex: 11
240 virtual void onHMDFocusLost();
241
242 // vIndex: 12
243 virtual void onInitialResourcesLoaded();
244
245 // vIndex: 13
246 virtual ::std::shared_ptr<::Bedrock::Threading::IAsyncResult<void>> waitForOutputMode(::VROutputMode);
247
248 // vIndex: 14
249 virtual bool useVRInputMode() const;
250
251 // vIndex: 15
252 virtual int getWorkerFramerate();
253
254 // vIndex: 16
255 virtual bool allowVRFrameExperience();
256
257 // vIndex: 17
258 virtual bool allowSplitScreen();
259
260 // vIndex: 18
261 virtual bool supportsLoadingScreen();
262
263 // vIndex: 19
264 virtual bool pauseIsDesired();
265
266 // vIndex: 20
267 virtual bool allowThirdPersonView();
268
269 // vIndex: 21
270 virtual bool useSinglePassStereo();
271
272 // vIndex: 22
273 virtual bool drawCubemapInMono();
274
275 // vIndex: 23
276 virtual bool isVRMode() const;
277
278 // vIndex: 24
279 virtual bool isARMode() const;
280
281 // vIndex: 25
282 virtual bool isRenderingIn2D() const;
283
284 // vIndex: 26
285 virtual bool isSessionVisible() const;
286
287 // vIndex: 27
288 virtual bool needsPostRenderUpdate() const;
289
290 // vIndex: 28
291 virtual bool deviceHasPositionalTracking();
292
293 // vIndex: 29
294 virtual bool deviceNeedsToBeRemovedForXblSignin();
295
296 // vIndex: 30
297 virtual bool deviceNeedsToBeRemovedForSkinPicker();
298
299 // vIndex: 31
300 virtual bool deviceNeedsToBeRemovedForFilePicker();
301
302 // vIndex: 32
303 virtual ::VRHUDPosition getDefaultVRHUDPosition() const;
304
305 // vIndex: 33
306 virtual void setUndockHandler(::std::function<void()>);
307
308 // vIndex: 34
309 virtual int numRequiredControllers();
310
311 // vIndex: 35
312 virtual ::std::string getPlatformRecalibrationMessage() const;
313
314 // vIndex: 36
315 virtual ::std::string getPlatformRecalibrationMessageTTS(::GamePadRemappingLayout const&) const;
316
317 // vIndex: 37
318 virtual ::std::string getPlatformAlignmentPrompt(::InputMode) const;
319
320 // vIndex: 38
321 virtual ::std::string getPlatformAlignmentPromptTTS(::GamePadRemappingLayout const&, ::InputMode) const;
322
323 // vIndex: 39
324 virtual bool forceControllerUsage() const;
325
326 // vIndex: 40
327 virtual bool separateEyePasses() const;
328
329 // vIndex: 41
330 virtual void createRenderGraph(::mce::RenderGraph&, ::IClientInstance&);
331
332 // vIndex: 42
333 virtual bool isGazeDevicePresent();
334
335 // vIndex: 43
336 virtual bool isGestureDevicePresent();
337
338 // vIndex: 44
339 virtual bool useAlternateTouchInput();
340
341 // vIndex: 45
342 virtual void resetBaseFrameOfReference(float, bool);
343
344 // vIndex: 46
345 virtual ::HolographicPlatform::LUID getHoloDeviceAdapterLUID();
346
347 // vIndex: 47
348 virtual void captureRenderDevice();
349
350 // vIndex: 48
351 virtual bool isLocated();
352
353 // vIndex: 49
354 virtual bool isPrimaryHandHeld();
355
356 // vIndex: 50
357 virtual bool isSecondaryHandHeld();
358
359 // vIndex: 52
360 virtual void setScreenLocation(::Vec3 const&, ::Vec3 const*, float);
361
362 // vIndex: 51
363 virtual void setScreenLocation(::Matrix const&);
364
365 // vIndex: 53
366 virtual void setHeadlockedUITransform(::Matrix const&, float const);
367
368 // vIndex: 54
369 virtual void setScreenLocationOffset(::Vec3 const&);
370
371 // vIndex: 55
372 virtual void resetScreenLocationOffset();
373
374 // vIndex: 57
375 virtual void setHoloviewerLocation(::Vec3 const&, ::Vec3 const*, float, bool);
376
377 // vIndex: 56
378 virtual void setHoloviewerLocation(::Matrix const&);
379
380 // vIndex: 58
381 virtual void setRealityAnchorLocation(::Matrix const&);
382
383 // vIndex: 59
384 virtual float getViewableScreenSize(float);
385
386 // vIndex: 60
387 virtual void defaultLSRPlane(::HolographicPlatform::MCLocation);
388
389 // vIndex: 61
390 virtual void updateLSRPlane(::HolographicPlatform::MCLocation, ::Vec3 const&);
391
392 // vIndex: 62
393 virtual void getLastLSRPlanePosAndNormPS(::Vec3&, ::Vec3&);
394
395 // vIndex: 63
396 virtual float getSRCastDistance();
397
398 // vIndex: 64
399 virtual bool startEnvironmentScanning();
400
401 // vIndex: 65
402 virtual void stopEnvironmentScanning();
403
404 // vIndex: 66
405 virtual void resetEnvironmentScan();
406
407 // vIndex: 67
408 virtual void renderSRData(float, float);
409
410 // vIndex: 68
411 virtual bool hideCursorOnFocusLost(::IClientInstance&) const;
412
413 // vIndex: 69
414 virtual bool getGazeCastResultPS(::Vec3&, ::Vec3&, ::Vec3&);
415
416 // vIndex: 70
417 virtual bool getStereoEnabled();
418
419 // vIndex: 71
420 virtual void setStereoEnabled(bool);
421
422 // vIndex: 72
423 virtual void delayForNextFingerPress(int);
424
425 // vIndex: 73
426 virtual float getPreferredUIAspectRatio();
427
428 // vIndex: 74
429 virtual float getPreferredLivingRoomLevelAspectRation();
430
431 // vIndex: 75
432 virtual float getVRFOV() const;
433
434 // vIndex: 76
435 virtual float getDefaultIngameUIDistance();
436
437 // vIndex: 77
438 virtual bool shouldCompressHUDWidth() const;
439
440 // vIndex: 78
441 virtual void getUIScreenWidthHeightScale(uint&, uint&, float&);
442
443 // vIndex: 79
444 virtual void getLivingRoomLevelTextureWidthHeight(uint&, uint&, float&);
445
446 // vIndex: 80
447 virtual void getItemInHandOffset(::Vec3&);
448
449 // vIndex: 81
450 virtual ::std::string const getLivingRoomHintText(::std::string const&) const;
451
452 // vIndex: 82
453 virtual ::UIRenderMode getUIRenderMode();
454
455 // vIndex: 83
456 virtual ::UIRenderMode getVRHUDRenderMode();
457
458 // vIndex: 84
459 virtual float getHudAlphaBlendFactor() const;
460
461 // vIndex: 85
462 virtual bool getVRLowFrequencyHUD();
463
464 // vIndex: 86
465 virtual char const* getHandMaterial() const;
466
467 // vIndex: 87
468 virtual bool wantsToStealMouse();
469
470 // vIndex: 88
471 virtual bool drawHolographicBordersForUI();
472
473 // vIndex: 89
474 virtual float getDefaultHalfHoloScreenWidth();
475
476 // vIndex: 90
477 virtual float getDefaultHalfHoloHUDWidth();
478
479 // vIndex: 91
480 virtual float getAmbientBoost(float);
481
482 // vIndex: 92
483 virtual bool clampToMinimumLight();
484
485 // vIndex: 93
486 virtual void setUIClipRect(::RectangleArea const&);
487
488 // vIndex: 94
489 virtual float getUIClipGrowPixels();
490
491 // vIndex: 95
492 virtual bool isFeatureEnabled(uint);
493
494 // vIndex: 96
495 virtual ::std::optional<::MFC::VrConfiguration> getVrConfiguration();
496
497 // vIndex: 97
498 virtual void frameUpdate(::FrameUpdateContext&);
499
500 // vIndex: 98
501 virtual ushort getLivingRoomViewSetId() const;
502
503 // vIndex: 99
504 virtual ::mce::framebuilder::LivingRoomDescription const* getLivingRoomDescription() const;
505
506 // vIndex: 100
507 virtual float getMinimumLivingRoomFrameDistance();
508
509 // vIndex: 101
510 virtual bool neverStealMouse();
511
512 // vIndex: 102
513 virtual bool present(::ScreenContext&);
514
515 // vIndex: 103
516 virtual bool isWaitingForPresent() const;
517
518 // vIndex: 104
519 virtual bool getAllowMirrorPresent();
520
521 // vIndex: 105
522 virtual bool permitRendering();
523
524 // vIndex: 106
525 virtual bool permitAudio();
526
527 // vIndex: 107
528 virtual void _prepPlatformSpecificTransforms();
529
530 // vIndex: 108
531 virtual bool _shouldRenderIn2D() const;
532 // NOLINTEND
533
534public:
535 // destructor thunk
536 // NOLINTBEGIN
537
538 // NOLINTEND
539
540public:
541 // virtual function thunks
542 // NOLINTBEGIN
543
544 // NOLINTEND
545};
Definition FrameUpdateContext.h:5
Definition GamePadRemappingLayout.h:15
Definition HolographicPlatform.h:29
Definition IClientInstance.h:179
Definition Matrix.h:5
Definition Options.h:32
Definition RectangleArea.h:5
Definition ScreenContext.h:5
Definition Vec3.h:10
Definition RenderGraph.h:7
Definition HolographicPlatform.h:120
Definition HolographicPlatform.h:85
Definition HolographicPlatform.h:144
Definition SoundSystemGUID.h:5
Definition Alias.h:14