diff --git a/Source/SenseGloveSettings/Private/SGSettings/SGGloveTrackingSettings.cpp b/Source/SenseGloveSettings/Private/SGSettings/SGGloveTrackingSettings.cpp index 9a90247f..2a42db3c 100644 --- a/Source/SenseGloveSettings/Private/SGSettings/SGGloveTrackingSettings.cpp +++ b/Source/SenseGloveSettings/Private/SGSettings/SGGloveTrackingSettings.cpp @@ -37,13 +37,16 @@ FSGGloveTrackingSettings::FSGGloveTrackingSettings() : FSGGloveTrackingSettings{ - 1000.0f / 60.0f + 1000.0f / 60.0f, + false } { } FSGGloveTrackingSettings::FSGGloveTrackingSettings( - const float InGloveConnectivityCheckInterval) - : GloveConnectivityCheckInterval(InGloveConnectivityCheckInterval) + const float InGloveConnectivityCheckInterval, + const bool bInFallbackToHandTrackingIfNoGloveDetected) + : GloveConnectivityCheckInterval(InGloveConnectivityCheckInterval), + bFallbackToHandTrackingIfNoGloveDetected(bInFallbackToHandTrackingIfNoGloveDetected) { } \ No newline at end of file diff --git a/Source/SenseGloveSettings/Private/SGSettings/SGTrackingSettings.cpp b/Source/SenseGloveSettings/Private/SGSettings/SGTrackingSettings.cpp index 2a14945b..8dcc8391 100644 --- a/Source/SenseGloveSettings/Private/SGSettings/SGTrackingSettings.cpp +++ b/Source/SenseGloveSettings/Private/SGSettings/SGTrackingSettings.cpp @@ -37,7 +37,6 @@ FSGTrackingSettings::FSGTrackingSettings() : FSGTrackingSettings{ - false, FSGGloveTrackingSettings{}, FSGHandTrackingSettings{}, FSGHMDTrackingSettings{}, @@ -47,13 +46,11 @@ FSGTrackingSettings::FSGTrackingSettings() } FSGTrackingSettings::FSGTrackingSettings( - const bool bInFallbackToHandTrackingIfNoGloveDetected, const FSGGloveTrackingSettings& InGloveTrackingSettings, const FSGHandTrackingSettings& InHandTrackingSettings, const FSGHMDTrackingSettings& InHmdTrackingSettings, const FSGWristTrackingSettings& InWristTrackingSettings) - : bFallbackToHandTrackingIfNoGloveDetected(bInFallbackToHandTrackingIfNoGloveDetected), - GloveTrackingSettings(InGloveTrackingSettings), + : GloveTrackingSettings(InGloveTrackingSettings), HandTrackingSettings(InHandTrackingSettings), HMDTrackingSettings(InHmdTrackingSettings), WristTrackingSettings(InWristTrackingSettings) diff --git a/Source/SenseGloveSettings/Public/SGSettings/SGGloveTrackingSettings.h b/Source/SenseGloveSettings/Public/SGSettings/SGGloveTrackingSettings.h index f3adb818..b04d6455 100644 --- a/Source/SenseGloveSettings/Public/SGSettings/SGGloveTrackingSettings.h +++ b/Source/SenseGloveSettings/Public/SGSettings/SGGloveTrackingSettings.h @@ -54,9 +54,17 @@ public: UPROPERTY(Config, EditDefaultsOnly, Category="Glove Tracking") float GloveConnectivityCheckInterval; + /** + * If false, only a real glove will be tracked, otherwise will fall back to hand tracking if available and + * supported by the HMD device. + */ + UPROPERTY(Config, EditDefaultsOnly, Category="Tracking") + bool bFallbackToHandTrackingIfNoGloveDetected; + public: FSGGloveTrackingSettings(); explicit FSGGloveTrackingSettings( - float InGloveConnectivityCheckInterval); + float InGloveConnectivityCheckInterval, + bool bInFallbackToHandTrackingIfNoGloveDetected); }; \ No newline at end of file diff --git a/Source/SenseGloveSettings/Public/SGSettings/SGTrackingSettings.h b/Source/SenseGloveSettings/Public/SGSettings/SGTrackingSettings.h index 7446f2f0..fca54219 100644 --- a/Source/SenseGloveSettings/Public/SGSettings/SGTrackingSettings.h +++ b/Source/SenseGloveSettings/Public/SGSettings/SGTrackingSettings.h @@ -54,13 +54,6 @@ struct SENSEGLOVESETTINGS_API FSGTrackingSettings GENERATED_USTRUCT_BODY() public: - /** - * If false, only a real glove will be tracked, otherwise will fall back to hand tracking if available and - * supported by the HMD device. - */ - UPROPERTY(Config, EditDefaultsOnly, Category="Tracking") - bool bFallbackToHandTrackingIfNoGloveDetected; - UPROPERTY(Config, EditDefaultsOnly, Category="Tracking") FSGGloveTrackingSettings GloveTrackingSettings; @@ -78,7 +71,6 @@ public: FSGTrackingSettings(); FSGTrackingSettings( - bool bInFallbackToHandTrackingIfNoGloveDetected, const FSGGloveTrackingSettings& InGloveTrackingSettings, const FSGHandTrackingSettings& InHandTrackingSettings, const FSGHMDTrackingSettings& InHmdTrackingSettings, diff --git a/Source/SenseGloveTracking/Private/SGTracking/SGXRTracker.cpp b/Source/SenseGloveTracking/Private/SGTracking/SGXRTracker.cpp index 8a12407a..1ed1a138 100644 --- a/Source/SenseGloveTracking/Private/SGTracking/SGXRTracker.cpp +++ b/Source/SenseGloveTracking/Private/SGTracking/SGXRTracker.cpp @@ -106,7 +106,7 @@ struct FSGXRTracker::FImpl const USGSettings* Settings{USGSettings::GetInstance()}; ensureAlwaysMsgf(Settings, TEXT("The settings subsystem has not been initialized!")); const bool bFallbackToHandTrackingIfNoGloveDetected = - Settings->GetTrackingSettings().bFallbackToHandTrackingIfNoGloveDetected; + Settings->GetTrackingSettings().GloveTrackingSettings.bFallbackToHandTrackingIfNoGloveDetected; return bFallbackToHandTrackingIfNoGloveDetected; }