From 2ff9e6f98406aaabed97827215490cf8bebbe90b Mon Sep 17 00:00:00 2001 From: Mamadou Babaei Date: Tue, 25 Apr 2023 10:25:30 +0200 Subject: [PATCH] refactor the wrist tracker's debug gzmo settings into a ustruct in order to be re-used --- .../Components/SGWristTrackerComponent.cpp | 285 +++--------------- .../Components/SGWristTrackerComponent.h | 94 +----- .../SGWristTrackerComponentKismetLibrary.cpp | 104 +------ .../SGWristTrackerComponentKismetLibrary.h | 71 +---- .../SenseGloveKismet.Build.cs | 1 + .../SGSettings/SGDebugGizmoSettings.cpp | 51 ++++ .../Private/SGSettings/SGSettings.cpp | 153 +--------- .../Public/SGSettings/SGDebugGizmoSettings.h | 81 +++++ .../Public/SGSettings/SGSettings.h | 87 +----- .../SGSettingsKismetLibrary.cpp | 97 +----- .../SGSettingsKismetLibrary.h | 72 +---- 11 files changed, 243 insertions(+), 853 deletions(-) create mode 100644 Source/SenseGloveSettings/Private/SGSettings/SGDebugGizmoSettings.cpp create mode 100644 Source/SenseGloveSettings/Public/SGSettings/SGDebugGizmoSettings.h diff --git a/Source/SenseGlove/Private/SenseGlove/Components/SGWristTrackerComponent.cpp b/Source/SenseGlove/Private/SenseGlove/Components/SGWristTrackerComponent.cpp index 8844460c..76a851fe 100644 --- a/Source/SenseGlove/Private/SenseGlove/Components/SGWristTrackerComponent.cpp +++ b/Source/SenseGlove/Private/SenseGlove/Components/SGWristTrackerComponent.cpp @@ -109,21 +109,21 @@ USGWristTrackerComponent::USGWristTrackerComponent(const FObjectInitializer& Obj SetRight(true); bOverridePluginWristTrackingSettings = false; - bDrawDebugWristTrackerGizmo = false; + bDrawWristTrackerDebugGizmo = false; TrackingHardware = ESGPositionalTrackingHardware::None; TrackingHardwareLocationOffset = FVector::ZeroVector; TrackingHardwareLocationOffset = FVector::ZeroVector; bOverridePluginWristTrackingDebugSettings = false; - bDrawDebugWristTrackerGizmo = false; - DebugWristTrackerGizmoLength = 4.0f; - DebugWristTrackerGizmoXAxisColor = FColor(1.0f, 0.0f, 0.0f, 1.0f); - DebugWristTrackerGizmoYAxisColor = FColor(0.0f, 1.0f, 0.0f, 1.0f); - DebugWristTrackerGizmoZAxisColor = FColor(0.0f, 0.0f, 1.0f, 1.0f); - bDebugWristTrackerGizmoPersistentLines = false; - DebugWristTrackerGizmoLifeTimeModifier = 1.1f; - DebugWristTrackerGizmoDepthPriority = 0; - DebugWristTrackerGizmoThickness = 1.0f; + bDrawWristTrackerDebugGizmo = false; + WristTrackerDebugGizmoSettings = FSGDebugGizmoSettings( + 4.0f, 1.0f, + FColor(1.0f, 0.0f, 0.0f, 1.0f), + FColor(0.0f, 1.0f, 0.0f, 1.0f), + FColor(0.0f, 0.0f, 1.0f, 1.0f), + false, 1.1f, 0 + ); + bDrawWristTrackerDebugGizmo = false; bBackendInitialized = false; Glove = nullptr; @@ -218,265 +218,53 @@ void USGWristTrackerComponent::SetTrackingHardwareRotationOffset(const FRotator& TrackingHardwareRotationOffset = InTrackingHardwareRotationOffset; } -bool USGWristTrackerComponent::GetDrawDebugWristTrackerGizmo() const +bool USGWristTrackerComponent::GetDrawWristTrackerDebugGizmo() const { if (OverridesPluginWristTrackingDebugSettings()) { - return !!bDrawDebugWristTrackerGizmo; + return !!bDrawWristTrackerDebugGizmo; } - return USGSettings::GetInstance()->GetDrawDebugWristTrackerGizmo(); + return USGSettings::GetInstance()->GetDrawWristTrackerDebugGizmo(); } -void USGWristTrackerComponent::SetDrawDebugWristTrackerGizmo(const bool bInDrawDebugWristTrackerGizmo) +void USGWristTrackerComponent::SetDrawWristTrackerDebugGizmo(const bool bInDrawWristTrackerDebugGizmo) { ensureAlwaysMsgf( OverridesPluginWristTrackingDebugSettings(), - TEXT( "Setting bDrawDebugWristTrackerGizmo is only permitted when bOverridePluginWristTrackingDebugSettings is" + TEXT( "Setting bDrawWristTrackerDebugGizmo is only permitted when bOverridePluginWristTrackingDebugSettings is" " enabled!")); - bDrawDebugWristTrackerGizmo = bInDrawDebugWristTrackerGizmo; + bDrawWristTrackerDebugGizmo = bInDrawWristTrackerDebugGizmo; } -float USGWristTrackerComponent::GetDebugWristTrackerGizmoLength() const +const FSGDebugGizmoSettings& USGWristTrackerComponent::GetWristTrackerDebugGizmoSettings() const { ensureAlwaysMsgf( - GetDrawDebugWristTrackerGizmo(), - TEXT("Getting DebugWristTrackerGizmoLength is only permitted when bDrawDebugWristTrackerGizmo is enabled!")); + GetDrawWristTrackerDebugGizmo(), + TEXT("Getting WristTrackerDebugGizmoLength is only permitted when bDrawWristTrackerDebugGizmo is enabled!")); if (OverridesPluginWristTrackingDebugSettings()) { - return DebugWristTrackerGizmoLength; + return WristTrackerDebugGizmoSettings; } - return USGSettings::GetInstance()->GetDebugWristTrackerGizmoLength(); + return USGSettings::GetInstance()->GetWristTrackerDebugGizmoSettings(); } -void USGWristTrackerComponent::SetDebugWristTrackerGizmoLength(const float InDebugWristTrackerGizmoLength) +void USGWristTrackerComponent::SetWristTrackerDebugGizmoSettings( + const FSGDebugGizmoSettings& InWristTrackerDebugGizmoSettings) { ensureAlwaysMsgf( OverridesPluginWristTrackingDebugSettings(), - TEXT("Setting DebugWristTrackerGizmoLength is only permitted when bOverridePluginWristTrackingDebugSettings is" + TEXT("Setting WristTrackerDebugGizmoLength is only permitted when bOverridePluginWristTrackingDebugSettings is" " enabled!")); ensureAlwaysMsgf( - GetDrawDebugWristTrackerGizmo(), - TEXT("Setting DebugWristTrackerGizmoLength is only permitted when bDrawDebugWristTrackerGizmo is enabled!")); + GetDrawWristTrackerDebugGizmo(), + TEXT("Setting WristTrackerDebugGizmoLength is only permitted when bDrawWristTrackerDebugGizmo is enabled!")); - DebugWristTrackerGizmoLength = InDebugWristTrackerGizmoLength; -} - -const FColor& USGWristTrackerComponent::GetDebugWristTrackerGizmoXAxisColor() const -{ - ensureAlwaysMsgf( - GetDrawDebugWristTrackerGizmo(), - TEXT("Getting DebugWristTrackerGizmoXAxisColor is only permitted when bDrawDebugWristTrackerGizmo is" - " enabled!")); - - if (OverridesPluginWristTrackingDebugSettings()) - { - return DebugWristTrackerGizmoXAxisColor; - } - - return USGSettings::GetInstance()->GetDebugWristTrackerGizmoXAxisColor(); -} - -void USGWristTrackerComponent::SetDebugWristTrackerGizmoXAxisColor( - const FColor& InDebugWristTrackerGizmoXAxisColor) -{ - ensureAlwaysMsgf( - OverridesPluginWristTrackingDebugSettings(), - TEXT("Setting DebugWristTrackerGizmoXAxisColor is only permitted when bOverridePluginWristTrackingDebugSettings" - " is enabled!")); - - ensureAlwaysMsgf( - GetDrawDebugWristTrackerGizmo(), - TEXT("Setting DebugWristTrackerGizmoXAxisColor is only permitted when bDrawDebugWristTrackerGizmo is" - " enabled!")); - - DebugWristTrackerGizmoXAxisColor = InDebugWristTrackerGizmoXAxisColor; -} - -const FColor& USGWristTrackerComponent::GetDebugWristTrackerGizmoYAxisColor() const -{ - ensureAlwaysMsgf( - GetDrawDebugWristTrackerGizmo(), - TEXT("Getting DebugWristTrackerGizmoYAxisColor is only permitted when bDrawDebugWristTrackerGizmo is" - " enabled!")); - - if (OverridesPluginWristTrackingDebugSettings()) - { - return DebugWristTrackerGizmoYAxisColor; - } - - return USGSettings::GetInstance()->GetDebugWristTrackerGizmoYAxisColor(); -} - -void USGWristTrackerComponent::SetDebugWristTrackerGizmoYAxisColor( - const FColor& InDebugWristTrackerGizmoYAxisColor) -{ - ensureAlwaysMsgf( - OverridesPluginWristTrackingDebugSettings(), - TEXT("Setting DebugWristTrackerGizmoYAxisColor is only permitted when bOverridePluginWristTrackingDebugSettings" - " is enabled!")); - - ensureAlwaysMsgf( - GetDrawDebugWristTrackerGizmo(), - TEXT("Setting DebugWristTrackerGizmoYAxisColor is only permitted when bDrawDebugWristTrackerGizmo is" - " enabled!")); - - DebugWristTrackerGizmoYAxisColor = InDebugWristTrackerGizmoYAxisColor; -} - -const FColor& USGWristTrackerComponent::GetDebugWristTrackerGizmoZAxisColor() const -{ - ensureAlwaysMsgf( - GetDrawDebugWristTrackerGizmo(), - TEXT("Getting DebugWristTrackerGizmoZAxisColor is only permitted when bDrawDebugWristTrackerGizmo is" - " enabled!")); - - if (OverridesPluginWristTrackingDebugSettings()) - { - return DebugWristTrackerGizmoZAxisColor; - } - - return USGSettings::GetInstance()->GetDebugWristTrackerGizmoZAxisColor(); -} - -void USGWristTrackerComponent::SetDebugWristTrackerGizmoZAxisColor( - const FColor& InDebugWristTrackerGizmoZAxisColor) -{ - ensureAlwaysMsgf( - OverridesPluginWristTrackingDebugSettings(), - TEXT("Setting DebugWristTrackerGizmoZAxisColor is only permitted when bOverridePluginWristTrackingDebugSettings" - " is enabled!")); - - ensureAlwaysMsgf( - GetDrawDebugWristTrackerGizmo(), - TEXT("Setting DebugWristTrackerGizmoZAxisColor is only permitted when bDrawDebugWristTrackerGizmo is" - " enabled!")); - - DebugWristTrackerGizmoZAxisColor = InDebugWristTrackerGizmoZAxisColor; -} - -bool USGWristTrackerComponent::GetDebugWristTrackerGizmoPersistentLines() const -{ - ensureAlwaysMsgf( - GetDrawDebugWristTrackerGizmo(), - TEXT("Getting bDebugWristTrackerGizmoPersistentLines is only permitted when bDrawDebugWristTrackerGizmo is" - " enabled!")); - - if (OverridesPluginWristTrackingDebugSettings()) - { - return !!bDebugWristTrackerGizmoPersistentLines; - } - - return USGSettings::GetInstance()->GetDebugWristTrackerGizmoPersistentLines(); -} - -void USGWristTrackerComponent::SetDebugWristTrackerGizmoPersistentLines( - const bool bInDebugWristTrackerGizmoPersistentLines) -{ - ensureAlwaysMsgf( - OverridesPluginWristTrackingDebugSettings(), - TEXT("Setting DebugWristTrackerGizmoPersistentLines is only permitted when" - " bOverridePluginWristTrackingDebugSettings is enabled!")); - - ensureAlwaysMsgf( - GetDrawDebugWristTrackerGizmo(), - TEXT("Setting bDebugWristTrackerGizmoPersistentLines is only permitted when bDrawDebugWristTrackerGizmo is" - " enabled!")); - - bDebugWristTrackerGizmoPersistentLines = bInDebugWristTrackerGizmoPersistentLines; -} - -float USGWristTrackerComponent::GetDebugWristTrackerGizmoLifeTimeModifier() const -{ - ensureAlwaysMsgf( - GetDrawDebugWristTrackerGizmo(), - TEXT("Getting DebugWristTrackerGizmoLifeTimeModifier is only permitted when bDrawDebugWristTrackerGizmo is" - " enabled!")); - - if (OverridesPluginWristTrackingDebugSettings()) - { - return DebugWristTrackerGizmoLifeTimeModifier; - } - - return USGSettings::GetInstance()->GetDebugWristTrackerGizmoLifeTimeModifier(); -} - -void USGWristTrackerComponent::SetDebugWristTrackerGizmoLifeTimeModifier( - const float InDebugWristTrackerGizmoLifeTimeModifier) -{ - ensureAlwaysMsgf( - OverridesPluginWristTrackingDebugSettings(), - TEXT("Setting DebugWristTrackerGizmoLifetimeModifier is only permitted when" - " bOverridePluginWristTrackingDebugSettings is enabled!")); - - ensureAlwaysMsgf( - GetDrawDebugWristTrackerGizmo(), - TEXT("Setting DebugWristTrackerGizmoLifeTimeModifier is only permitted when bDrawDebugWristTrackerGizmo is" - " enabled!")); - - DebugWristTrackerGizmoLifeTimeModifier = InDebugWristTrackerGizmoLifeTimeModifier; -} - -uint8 USGWristTrackerComponent::GetDebugWristTrackerGizmoDepthPriority() const -{ - ensureAlwaysMsgf( - GetDrawDebugWristTrackerGizmo(), - TEXT("Getting DebugWristTrackerGizmoDepthPriority is only permitted when bDrawDebugWristTrackerGizmo is" - " enabled!")); - - if (OverridesPluginWristTrackingDebugSettings()) - { - return DebugWristTrackerGizmoDepthPriority; - } - - return USGSettings::GetInstance()->GetDebugWristTrackerGizmoDepthPriority(); -} - -void USGWristTrackerComponent::SetDebugWristTrackerGizmoDepthPriority(const uint8 InDebugWristTrackerGizmoDepthPriority) -{ - ensureAlwaysMsgf( - OverridesPluginWristTrackingDebugSettings(), - TEXT("Setting DebugWristTrackerGizmoDepthPriority is only permitted when" - " bOverridePluginWristTrackingDebugSettings is enabled!")); - - ensureAlwaysMsgf( - GetDrawDebugWristTrackerGizmo(), - TEXT("Setting DebugWristTrackerGizmoDepthPriority is only permitted when bDrawDebugWristTrackerGizmo is" - " enabled!")); - - DebugWristTrackerGizmoDepthPriority = InDebugWristTrackerGizmoDepthPriority; -} - -float USGWristTrackerComponent::GetDebugWristTrackerGizmoThickness() const -{ - ensureAlwaysMsgf( - GetDrawDebugWristTrackerGizmo(), - TEXT("Getting DebugWristTrackerGizmoThickness is only permitted when bDrawDebugWristTrackerGizmo is enabled!")); - - if (OverridesPluginWristTrackingDebugSettings()) - { - return DebugWristTrackerGizmoThickness; - } - - return USGSettings::GetInstance()->GetDebugWristTrackerGizmoThickness(); -} - -void USGWristTrackerComponent::SetDebugWristTrackerGizmoThickness(float InDebugWristTrackerGizmoThickness) -{ - ensureAlwaysMsgf( - OverridesPluginWristTrackingDebugSettings(), - TEXT("Setting DebugWristTrackerGizmoDepthThickness is only permitted when" - " bOverridePluginWristTrackingDebugSettings is enabled!")); - - ensureAlwaysMsgf( - GetDrawDebugWristTrackerGizmo(), - TEXT("Setting DebugWristTrackerGizmoThickness is only permitted when bDrawDebugWristTrackerGizmo is enabled!")); - - DebugWristTrackerGizmoThickness = InDebugWristTrackerGizmoThickness; + WristTrackerDebugGizmoSettings = InWristTrackerDebugGizmoSettings; } #if WITH_EDITOR @@ -541,7 +329,7 @@ void USGWristTrackerComponent::TickComponent( Super::TickComponent(DeltaTime, TickType, ThisTickFunction); - if (GetDrawDebugWristTrackerGizmo()) + if (GetDrawWristTrackerDebugGizmo()) { Pimpl->DrawDebugGizmo(); } @@ -749,18 +537,13 @@ void USGWristTrackerComponent::FImpl::DrawDebugGizmo() const UWorld* World{Owner->GetWorld()}; const FVector& Location{Owner->GetComponentLocation()}; const FRotator& Rotation{Owner->GetComponentRotation()}; - const float Length = Owner->GetDebugWristTrackerGizmoLength(); - const bool bPersistentLines = Owner->GetDebugWristTrackerGizmoPersistentLines(); - const float LifeTimeModifier = Owner->GetDebugWristTrackerGizmoLifeTimeModifier(); - const float DepthPriority = Owner->GetDebugWristTrackerGizmoDepthPriority(); - const float Thickness = Owner->GetDebugWristTrackerGizmoThickness(); - const FColor& XAxisColor{Owner->GetDebugWristTrackerGizmoXAxisColor()}; - const FColor& YAxisColor{Owner->GetDebugWristTrackerGizmoYAxisColor()}; - const FColor& ZAxisColor{Owner->GetDebugWristTrackerGizmoZAxisColor()}; + const FSGDebugGizmoSettings& DebugGizmoSettings{Owner->GetWristTrackerDebugGizmoSettings()}; - FSGDebugGizmo::Draw(World, Location, Rotation, Length, Thickness, - XAxisColor, YAxisColor, ZAxisColor, - bPersistentLines, LifeTimeModifier, DepthPriority); + FSGDebugGizmo::Draw( + World, Location, Rotation, + DebugGizmoSettings.Length, DebugGizmoSettings.Thickness, + DebugGizmoSettings.XAxisColor, DebugGizmoSettings.YAxisColor, DebugGizmoSettings.ZAxisColor, + DebugGizmoSettings.bPersistentLines, DebugGizmoSettings.LifeTimeModifier, DebugGizmoSettings.DepthPriority); } void USGWristTrackerComponent::FImplDeleter::operator()(const FImpl* P) const diff --git a/Source/SenseGlove/Public/SenseGlove/Components/SGWristTrackerComponent.h b/Source/SenseGlove/Public/SenseGlove/Components/SGWristTrackerComponent.h index 9db02878..51f96af9 100644 --- a/Source/SenseGlove/Public/SenseGlove/Components/SGWristTrackerComponent.h +++ b/Source/SenseGlove/Public/SenseGlove/Components/SGWristTrackerComponent.h @@ -41,6 +41,7 @@ #include "MotionControllerComponent.h" #include "Templates/UniquePtr.h" +#include "SGSettings/SGDebugGizmoSettings.h" #include "SGTypes/SGCoreTypes.h" #include "SGWristTrackerComponent.generated.h" @@ -129,71 +130,15 @@ private: */ UPROPERTY(Config, EditAnywhere, Category = "Override Plugin Settings", meta=(EditCondition="bOverridePluginWristTrackingDebugSettings", EditConditionHides)) - uint8 bDrawDebugWristTrackerGizmo : 1; + uint8 bDrawWristTrackerDebugGizmo : 1; /** - * Valid only if bDrawDebugWristTrackerGizmo is enabled. + * Valid only if bDrawWristTrackerDebugGizmo is enabled. */ UPROPERTY(Config, EditAnywhere, Category = "Override Plugin Settings", - meta=(EditCondition="bOverridePluginWristTrackingDebugSettings && bDrawDebugWristTrackerGizmo", + meta=(EditCondition="bOverridePluginWristTrackingDebugSettings && bDrawWristTrackerDebugGizmo", EditConditionHides)) - float DebugWristTrackerGizmoLength; - - /** - * Valid only if bDrawDebugWristTrackerGizmo is enabled. - */ - UPROPERTY(Config, EditAnywhere, Category = "Override Plugin Settings", - meta=(EditCondition="bOverridePluginWristTrackingDebugSettings && bDrawDebugWristTrackerGizmo", - EditConditionHides)) - FColor DebugWristTrackerGizmoXAxisColor; - - /** - * Valid only if bDrawDebugWristTrackerGizmo is enabled. - */ - UPROPERTY(Config, EditAnywhere, Category = "Override Plugin Settings", - meta=(EditCondition="bOverridePluginWristTrackingDebugSettings && bDrawDebugWristTrackerGizmo", - EditConditionHides)) - FColor DebugWristTrackerGizmoYAxisColor; - - /** - * Valid only if bDrawDebugWristTrackerGizmo is enabled. - */ - UPROPERTY(Config, EditAnywhere, Category = "Override Plugin Settings", - meta=(EditCondition="bOverridePluginWristTrackingDebugSettings && bDrawDebugWristTrackerGizmo", - EditConditionHides)) - FColor DebugWristTrackerGizmoZAxisColor; - - /** - * Valid only if bDrawDebugWristTrackerGizmo is enabled. - */ - UPROPERTY(Config, EditAnywhere, Category = "Override Plugin Settings", - meta=(EditCondition="bOverridePluginWristTrackingDebugSettings && bDrawDebugWristTrackerGizmo", - EditConditionHides)) - uint8 bDebugWristTrackerGizmoPersistentLines : 1; - - /** - * Valid only if bDrawDebugWristTrackerGizmo is enabled. - */ - UPROPERTY(Config, EditAnywhere, Category = "Override Plugin Settings", - meta=(EditCondition="bOverridePluginWristTrackingDebugSettings && bDrawDebugWristTrackerGizmo", - EditConditionHides)) - float DebugWristTrackerGizmoLifeTimeModifier; - - /** - * Valid only if bDrawDebugWristTrackerGizmo is enabled. - */ - UPROPERTY(Config, EditAnywhere, Category = "Override Plugin Settings", - meta=(EditCondition="bOverridePluginWristTrackingDebugSettings && bDrawDebugWristTrackerGizmo", - EditConditionHides)) - uint8 DebugWristTrackerGizmoDepthPriority; - - /** - * Valid only if bDrawDebugWristTrackerGizmo is enabled. - */ - UPROPERTY(Config, EditAnywhere, Category = "Override Plugin Settings", - meta=(EditCondition="bOverridePluginWristTrackingDebugSettings && bDrawDebugWristTrackerGizmo", - EditConditionHides)) - float DebugWristTrackerGizmoThickness; + FSGDebugGizmoSettings WristTrackerDebugGizmoSettings; private: UPROPERTY(Transient) @@ -238,32 +183,11 @@ public: bOverridePluginWristTrackingDebugSettings = bInOverridePluginWristTrackingDebugSettings; } - bool GetDrawDebugWristTrackerGizmo() const; - void SetDrawDebugWristTrackerGizmo(bool bInDrawDebugWristTrackerGizmo); + bool GetDrawWristTrackerDebugGizmo() const; + void SetDrawWristTrackerDebugGizmo(bool bInDrawWristTrackerDebugGizmo); - float GetDebugWristTrackerGizmoLength() const; - void SetDebugWristTrackerGizmoLength(float InDebugWristTrackerGizmoLength); - - const FColor& GetDebugWristTrackerGizmoXAxisColor() const; - void SetDebugWristTrackerGizmoXAxisColor(const FColor& InDebugWristTrackerGizmoXAxisColor); - - const FColor& GetDebugWristTrackerGizmoYAxisColor() const; - void SetDebugWristTrackerGizmoYAxisColor(const FColor& InDebugWristTrackerGizmoYAxisColor); - - const FColor& GetDebugWristTrackerGizmoZAxisColor() const; - void SetDebugWristTrackerGizmoZAxisColor(const FColor& InDebugWristTrackerGizmoZAxisColor); - - bool GetDebugWristTrackerGizmoPersistentLines() const; - void SetDebugWristTrackerGizmoPersistentLines(bool bInDebugWristTrackerGizmoPersistentLines); - - float GetDebugWristTrackerGizmoLifeTimeModifier() const; - void SetDebugWristTrackerGizmoLifeTimeModifier(float InDebugWristTrackerGizmoLifeTimeModifier); - - uint8 GetDebugWristTrackerGizmoDepthPriority() const; - void SetDebugWristTrackerGizmoDepthPriority(uint8 InDebugWristTrackerGizmoDepthPriority); - - float GetDebugWristTrackerGizmoThickness() const; - void SetDebugWristTrackerGizmoThickness(float InDebugWristTrackerGizmoThickness); + const FSGDebugGizmoSettings& GetWristTrackerDebugGizmoSettings() const; + void SetWristTrackerDebugGizmoSettings(const FSGDebugGizmoSettings& InWristTrackerDebugGizmoSettings); FORCEINLINE bool IsLeft() const { diff --git a/Source/SenseGloveKismet/Private/SGKismet/SGWristTrackerComponentKismetLibrary.cpp b/Source/SenseGloveKismet/Private/SGKismet/SGWristTrackerComponentKismetLibrary.cpp index 0ee249ab..b4e96922 100644 --- a/Source/SenseGloveKismet/Private/SGKismet/SGWristTrackerComponentKismetLibrary.cpp +++ b/Source/SenseGloveKismet/Private/SGKismet/SGWristTrackerComponentKismetLibrary.cpp @@ -99,112 +99,28 @@ void UWristTrackerComponentKismetLibrary::OverridePluginWristTrackingDebugSettin WristTrackerComponent->OverridePluginWristTrackingDebugSettings(bInOverridePluginWristTrackingDebugSettings); } -bool UWristTrackerComponentKismetLibrary::GetDrawDebugWristTrackerGizmo( +bool UWristTrackerComponentKismetLibrary::GetDrawWristTrackerDebugGizmo( const USGWristTrackerComponent* WristTrackerComponent) { - return WristTrackerComponent->GetDrawDebugWristTrackerGizmo(); + return WristTrackerComponent->GetDrawWristTrackerDebugGizmo(); } -void UWristTrackerComponentKismetLibrary::SetDrawDebugWristTrackerGizmo( - USGWristTrackerComponent* WristTrackerComponent, const bool bInDrawDebugWristTrackerGizmo) +void UWristTrackerComponentKismetLibrary::SetDrawWristTrackerDebugGizmo( + USGWristTrackerComponent* WristTrackerComponent, const bool bInDrawWristTrackerDebugGizmo) { - WristTrackerComponent->SetDrawDebugWristTrackerGizmo(bInDrawDebugWristTrackerGizmo); + WristTrackerComponent->SetDrawWristTrackerDebugGizmo(bInDrawWristTrackerDebugGizmo); } -float UWristTrackerComponentKismetLibrary::GetDebugWristTrackerGizmoLength( +const FSGDebugGizmoSettings& UWristTrackerComponentKismetLibrary::GetWristTrackerDebugGizmoSettings( const USGWristTrackerComponent* WristTrackerComponent) { - return WristTrackerComponent->GetDebugWristTrackerGizmoLength(); + return WristTrackerComponent->GetWristTrackerDebugGizmoSettings(); } -void UWristTrackerComponentKismetLibrary::SetDebugWristTrackerGizmoLength( - USGWristTrackerComponent* WristTrackerComponent, const float InDebugWristTrackerGizmoLength) +void UWristTrackerComponentKismetLibrary::SetWristTrackerDebugGizmoSettings( + USGWristTrackerComponent* WristTrackerComponent, const FSGDebugGizmoSettings& InWristTrackerDebugGizmoSettings) { - WristTrackerComponent->SetDebugWristTrackerGizmoLength(InDebugWristTrackerGizmoLength); -} - -const FColor& UWristTrackerComponentKismetLibrary::GetDebugWristTrackerGizmoXAxisColor( - const USGWristTrackerComponent* WristTrackerComponent) -{ - return WristTrackerComponent->GetDebugWristTrackerGizmoXAxisColor(); -} - -void UWristTrackerComponentKismetLibrary::SetDebugWristTrackerGizmoXAxisColor( - USGWristTrackerComponent* WristTrackerComponent, const FColor& InDebugWristTrackerGizmoXAxisColor) -{ - WristTrackerComponent->SetDebugWristTrackerGizmoXAxisColor(InDebugWristTrackerGizmoXAxisColor); -} - -const FColor& UWristTrackerComponentKismetLibrary::GetDebugWristTrackerGizmoYAxisColor( - const USGWristTrackerComponent* WristTrackerComponent) -{ - return WristTrackerComponent->GetDebugWristTrackerGizmoYAxisColor(); -} - -void UWristTrackerComponentKismetLibrary::SetDebugWristTrackerGizmoYAxisColor( - USGWristTrackerComponent* WristTrackerComponent, const FColor& InDebugWristTrackerGizmoYAxisColor) -{ - WristTrackerComponent->SetDebugWristTrackerGizmoYAxisColor(InDebugWristTrackerGizmoYAxisColor); -} - -const FColor& UWristTrackerComponentKismetLibrary::GetDebugWristTrackerGizmoZAxisColor( - const USGWristTrackerComponent* WristTrackerComponent) -{ - return WristTrackerComponent->GetDebugWristTrackerGizmoZAxisColor(); -} - -void UWristTrackerComponentKismetLibrary::SetDebugWristTrackerGizmoZAxisColor( - USGWristTrackerComponent* WristTrackerComponent, const FColor& InDebugWristTrackerGizmoZAxisColor) -{ - WristTrackerComponent->SetDebugWristTrackerGizmoZAxisColor(InDebugWristTrackerGizmoZAxisColor); -} - -bool UWristTrackerComponentKismetLibrary::GetDebugWristTrackerGizmoPersistentLines( - const USGWristTrackerComponent* WristTrackerComponent) -{ - return WristTrackerComponent->GetDebugWristTrackerGizmoPersistentLines(); -} - -void UWristTrackerComponentKismetLibrary::SetDebugWristTrackerGizmoPersistentLines( - USGWristTrackerComponent* WristTrackerComponent, const bool bInDebugWristTrackerGizmoPersistentLines) -{ - WristTrackerComponent->SetDebugWristTrackerGizmoPersistentLines(bInDebugWristTrackerGizmoPersistentLines); -} - -float UWristTrackerComponentKismetLibrary::GetDebugWristTrackerGizmoLifeTimeModifier( - const USGWristTrackerComponent* WristTrackerComponent) -{ - return WristTrackerComponent->GetDebugWristTrackerGizmoLifeTimeModifier(); -} - -void UWristTrackerComponentKismetLibrary::SetDebugWristTrackerGizmoLifeTimeModifier( - USGWristTrackerComponent* WristTrackerComponent, const float InDebugWristTrackerGizmoLifeTimeModifier) -{ - WristTrackerComponent->SetDebugWristTrackerGizmoLifeTimeModifier(InDebugWristTrackerGizmoLifeTimeModifier); -} - -uint8 UWristTrackerComponentKismetLibrary::GetDebugWristTrackerGizmoDepthPriority( - const USGWristTrackerComponent* WristTrackerComponent) -{ - return WristTrackerComponent->GetDebugWristTrackerGizmoDepthPriority(); -} - -void UWristTrackerComponentKismetLibrary::SetDebugWristTrackerGizmoDepthPriority( - USGWristTrackerComponent* WristTrackerComponent, const uint8 InDebugWristTrackerGizmoDepthPriority) -{ - WristTrackerComponent->SetDebugWristTrackerGizmoDepthPriority(InDebugWristTrackerGizmoDepthPriority); -} - -float UWristTrackerComponentKismetLibrary::GetDebugWristTrackerGizmoThickness( - const USGWristTrackerComponent* WristTrackerComponent) -{ - return WristTrackerComponent->GetDebugWristTrackerGizmoThickness(); -} - -void UWristTrackerComponentKismetLibrary::SetDebugWristTrackerGizmoThickness( - USGWristTrackerComponent* WristTrackerComponent, const float InDebugWristTrackerGizmoThickness) -{ - WristTrackerComponent->SetDebugWristTrackerGizmoThickness(InDebugWristTrackerGizmoThickness); + WristTrackerComponent->SetWristTrackerDebugGizmoSettings(InWristTrackerDebugGizmoSettings); } bool UWristTrackerComponentKismetLibrary::IsLeft(const USGWristTrackerComponent* WristTrackerComponent) diff --git a/Source/SenseGloveKismet/Public/SGKismet/SGWristTrackerComponentKismetLibrary.h b/Source/SenseGloveKismet/Public/SGKismet/SGWristTrackerComponentKismetLibrary.h index 38ce57c4..251c2145 100644 --- a/Source/SenseGloveKismet/Public/SGKismet/SGWristTrackerComponentKismetLibrary.h +++ b/Source/SenseGloveKismet/Public/SGKismet/SGWristTrackerComponentKismetLibrary.h @@ -40,6 +40,8 @@ #include "SGKismet/SGBlueprintFunctionLibrary.h" #include "SGTypes/SGCoreTypes.h" +#include "SGSettings/SGDebugGizmoSettings.h" + #include "SGWristTrackerComponentKismetLibrary.generated.h" class USkeletalMeshComponent; @@ -65,21 +67,21 @@ public: UFUNCTION(BlueprintCallable, Category="SenseGlove | Components | Wrist Tracker Component") static void SetTrackingHardware(UPARAM(ref) USGWristTrackerComponent* WristTrackerComponent, - ESGPositionalTrackingHardware InTrackingHardware); + ESGPositionalTrackingHardware InTrackingHardware); UFUNCTION(BlueprintPure, Category="SenseGlove | Components | Wrist Tracker Component") static const FVector& GetTrackingHardwareLocationOffset(const USGWristTrackerComponent* WristTrackerComponent); UFUNCTION(BlueprintCallable, Category="SenseGlove | Components | Wrist Tracker Component") static void SetTrackingHardwareLocationOffset(UPARAM(ref) USGWristTrackerComponent* WristTrackerComponent, - const FVector& InTrackingHardwareLocationOffset); + const FVector& InTrackingHardwareLocationOffset); UFUNCTION(BlueprintPure, Category="SenseGlove | Components | Wrist Tracker Component") static const FRotator& GetTrackingHardwareRotationOffset(const USGWristTrackerComponent* WristTrackerComponent); UFUNCTION(BlueprintCallable, Category="SenseGlove | Components | Wrist Tracker Component") static void SetTrackingHardwareRotationOffset(UPARAM(ref) USGWristTrackerComponent* WristTrackerComponent, - const FRotator& InTrackingHardwareRotationOffset); + const FRotator& InTrackingHardwareRotationOffset); UFUNCTION(BlueprintPure, Category="SenseGlove | Components | Wrist Tracker Component") static bool OverridesPluginWristTrackingDebugSettings(const USGWristTrackerComponent* WristTrackerComponent); @@ -89,70 +91,19 @@ public: bool bInOverridePluginWristTrackingDebugSettings); UFUNCTION(BlueprintPure, Category="SenseGlove | Components | Wrist Tracker Component") - static bool GetDrawDebugWristTrackerGizmo(const USGWristTrackerComponent* WristTrackerComponent); + static bool GetDrawWristTrackerDebugGizmo(const USGWristTrackerComponent* WristTrackerComponent); UFUNCTION(BlueprintCallable, Category="SenseGlove | Components | Wrist Tracker Component") - static void SetDrawDebugWristTrackerGizmo(UPARAM(ref) USGWristTrackerComponent* WristTrackerComponent, - bool bInDrawDebugWristTrackerGizmo); + static void SetDrawWristTrackerDebugGizmo(UPARAM(ref) USGWristTrackerComponent* WristTrackerComponent, + bool bInDrawWristTrackerDebugGizmo); UFUNCTION(BlueprintPure, Category="SenseGlove | Components | Wrist Tracker Component") - static float GetDebugWristTrackerGizmoLength(const USGWristTrackerComponent* WristTrackerComponent); - - UFUNCTION(BlueprintCallable, Category="SenseGlove | Components | Wrist Tracker Component") - static void SetDebugWristTrackerGizmoLength(UPARAM(ref) USGWristTrackerComponent* WristTrackerComponent, - float InDebugWristTrackerGizmoLength); - - UFUNCTION(BlueprintPure, Category="SenseGlove | Components | Wrist Tracker Component") - static const FColor& GetDebugWristTrackerGizmoXAxisColor( + static const FSGDebugGizmoSettings& GetWristTrackerDebugGizmoSettings( const USGWristTrackerComponent* WristTrackerComponent); UFUNCTION(BlueprintCallable, Category="SenseGlove | Components | Wrist Tracker Component") - static void SetDebugWristTrackerGizmoXAxisColor(UPARAM(ref) USGWristTrackerComponent* WristTrackerComponent, - const FColor& InDebugWristTrackerGizmoXAxisColor); - - UFUNCTION(BlueprintPure, Category="SenseGlove | Components | Wrist Tracker Component") - static const FColor& GetDebugWristTrackerGizmoYAxisColor( - const USGWristTrackerComponent* WristTrackerComponent); - - UFUNCTION(BlueprintCallable, Category="SenseGlove | Components | Wrist Tracker Component") - static void SetDebugWristTrackerGizmoYAxisColor(UPARAM(ref) USGWristTrackerComponent* WristTrackerComponent, - const FColor& InDebugWristTrackerGizmoYAxisColor); - - UFUNCTION(BlueprintPure, Category="SenseGlove | Components | Wrist Tracker Component") - static const FColor& GetDebugWristTrackerGizmoZAxisColor( - const USGWristTrackerComponent* WristTrackerComponent); - - UFUNCTION(BlueprintCallable, Category="SenseGlove | Components | Wrist Tracker Component") - static void SetDebugWristTrackerGizmoZAxisColor(UPARAM(ref) USGWristTrackerComponent* WristTrackerComponent, - const FColor& InDebugWristTrackerGizmoZAxisColor); - - UFUNCTION(BlueprintPure, Category="SenseGlove | Components | Wrist Tracker Component") - static bool GetDebugWristTrackerGizmoPersistentLines(const USGWristTrackerComponent* WristTrackerComponent); - - UFUNCTION(BlueprintCallable, Category="SenseGlove | Components | Wrist Tracker Component") - static void SetDebugWristTrackerGizmoPersistentLines(UPARAM(ref) USGWristTrackerComponent* WristTrackerComponent, - bool bInDebugWristTrackerGizmoPersistentLines); - - UFUNCTION(BlueprintPure, Category="SenseGlove | Components | Wrist Tracker Component") - static float GetDebugWristTrackerGizmoLifeTimeModifier(const USGWristTrackerComponent* WristTrackerComponent); - - UFUNCTION(BlueprintCallable, Category="SenseGlove | Components | Wrist Tracker Component") - static void SetDebugWristTrackerGizmoLifeTimeModifier(UPARAM(ref) USGWristTrackerComponent* WristTrackerComponent, - float InDebugWristTrackerGizmoLifeTimeModifier); - - UFUNCTION(BlueprintPure, Category="SenseGlove | Components | Wrist Tracker Component") - static uint8 GetDebugWristTrackerGizmoDepthPriority(const USGWristTrackerComponent* WristTrackerComponent); - - UFUNCTION(BlueprintCallable, Category="SenseGlove | Components | Wrist Tracker Component") - static void SetDebugWristTrackerGizmoDepthPriority(UPARAM(ref) USGWristTrackerComponent* WristTrackerComponent, - uint8 InDebugWristTrackerGizmoDepthPriority); - - UFUNCTION(BlueprintPure, Category="SenseGlove | Components | Wrist Tracker Component") - static float GetDebugWristTrackerGizmoThickness(const USGWristTrackerComponent* WristTrackerComponent); - - UFUNCTION(BlueprintCallable, Category="SenseGlove | Components | Wrist Tracker Component") - static void SetDebugWristTrackerGizmoThickness(UPARAM(ref) USGWristTrackerComponent* WristTrackerComponent, - float InDebugWristTrackerGizmoThickness); + static void SetWristTrackerDebugGizmoSettings(UPARAM(ref) USGWristTrackerComponent* WristTrackerComponent, + const FSGDebugGizmoSettings& InWristTrackerDebugGizmoSettings); UFUNCTION(BlueprintPure, Category="SenseGlove | Components | Wrist Tracker Component") static bool IsLeft(const USGWristTrackerComponent* WristTrackerComponent); diff --git a/Source/SenseGloveKismet/SenseGloveKismet.Build.cs b/Source/SenseGloveKismet/SenseGloveKismet.Build.cs index 3c9118b5..440cdee7 100644 --- a/Source/SenseGloveKismet/SenseGloveKismet.Build.cs +++ b/Source/SenseGloveKismet/SenseGloveKismet.Build.cs @@ -58,6 +58,7 @@ public class SenseGloveKismet : ModuleRules "SenseGlove", "SenseGloveCore", "SenseGloveLog", + "SenseGloveSettings", "SenseGloveTypes", "SenseGloveUtils", } diff --git a/Source/SenseGloveSettings/Private/SGSettings/SGDebugGizmoSettings.cpp b/Source/SenseGloveSettings/Private/SGSettings/SGDebugGizmoSettings.cpp new file mode 100644 index 00000000..bb175abe --- /dev/null +++ b/Source/SenseGloveSettings/Private/SGSettings/SGDebugGizmoSettings.cpp @@ -0,0 +1,51 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @section LICENSE + * + * (The MIT License) + * + * Copyright (c) 2020 - 2023 SenseGlove + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + * + * @section DESCRIPTION + * + * + */ + + +#include "SGSettings/SGDebugGizmoSettings.h" + +FSGDebugGizmoSettings::FSGDebugGizmoSettings( + const float InLength, const float InThickness, + const FColor& InXAxisColor, const FColor& InYAxisColor, const FColor& InZAxisColor, + const bool bInPersistentLines, const float InLifeTimeModifier, const uint8 InDepthPriority) + : Length(InLength), + Thickness(InThickness), + XAxisColor(InXAxisColor), + YAxisColor(InYAxisColor), + ZAxisColor(InZAxisColor), + bPersistentLines(bInPersistentLines), + LifeTimeModifier(InLifeTimeModifier), + DepthPriority(InDepthPriority) +{ +} \ No newline at end of file diff --git a/Source/SenseGloveSettings/Private/SGSettings/SGSettings.cpp b/Source/SenseGloveSettings/Private/SGSettings/SGSettings.cpp index 332973c4..87caccb1 100644 --- a/Source/SenseGloveSettings/Private/SGSettings/SGSettings.cpp +++ b/Source/SenseGloveSettings/Private/SGSettings/SGSettings.cpp @@ -86,22 +86,20 @@ USGSettings::USGSettings() Pimpl->ResetTrackingHardwareValuesToZero(); - bDrawDebugWristTrackerGizmo = false; TrackingHardware = ESGPositionalTrackingHardware::None; TrackingHardwareLocationOffsetLeftHand = FVector::ZeroVector; TrackingHardwareLocationOffsetRightHand = FVector::ZeroVector; TrackingHardwareRotationOffsetLeftHand = FRotator::ZeroRotator; TrackingHardwareRotationOffsetRightHand = FRotator::ZeroRotator; - bDrawDebugWristTrackerGizmo = false; - DebugWristTrackerGizmoLength = 4.0f; - DebugWristTrackerGizmoXAxisColor = FColor(1.0f, 0.0f, 0.0f, 1.0f); - DebugWristTrackerGizmoYAxisColor = FColor(0.0f, 1.0f, 0.0f, 1.0f); - DebugWristTrackerGizmoZAxisColor = FColor(0.0f, 0.0f, 1.0f, 1.0f); - bDebugWristTrackerGizmoPersistentLines = false; - DebugWristTrackerGizmoLifeTimeModifier = 1.1f; - DebugWristTrackerGizmoDepthPriority = 0; - DebugWristTrackerGizmoThickness = 1.0f; + bDrawWristTrackerDebugGizmo = false; + WristTrackerDebugGizmoSettings = FSGDebugGizmoSettings( + 4.0f, 1.0f, + FColor(1.0f, 0.0f, 0.0f, 1.0f), + FColor(0.0f, 1.0f, 0.0f, 1.0f), + FColor(0.0f, 0.0f, 1.0f, 1.0f), + false, 1.1f, 0 + ); } const FVector& USGSettings::GetTrackingHardwareLocationOffsetLeftHand() const @@ -178,145 +176,22 @@ void USGSettings::SetTrackingHardwareRotationOffsetRightHand( TrackingHardwareRotationOffsetRightHand = InTrackingHardwareRotationOffsetRightHand; } -float USGSettings::GetDebugWristTrackerGizmoLength() const +const FSGDebugGizmoSettings& USGSettings::GetWristTrackerDebugGizmoSettings() const { ensureAlwaysMsgf( - GetDrawDebugWristTrackerGizmo(), - TEXT("Getting DebugWristTrackerGizmoLength is only permitted when bDrawDebugWristTrackerGizmo is enabled!")); - return DebugWristTrackerGizmoLength; -} - -void USGSettings::SetDebugWristTrackerGizmoLength(const float InDebugWristTrackerGizmoLength) -{ - ensureAlwaysMsgf( - GetDrawDebugWristTrackerGizmo(), - TEXT("Setting DebugWristTrackerGizmoLength is only permitted when bDrawDebugWristTrackerGizmo is enabled!")); - DebugWristTrackerGizmoLength = InDebugWristTrackerGizmoLength; -} - -const FColor& USGSettings::GetDebugWristTrackerGizmoXAxisColor() const -{ - ensureAlwaysMsgf( - GetDrawDebugWristTrackerGizmo(), - TEXT("Getting DebugWristTrackerGizmoXAxisColor is only permitted when bDrawDebugWristTrackerGizmo is" - " enabled!")); - return DebugWristTrackerGizmoXAxisColor; -} - -void USGSettings::SetDebugWristTrackerGizmoXAxisColor(const FColor& InDebugWristTrackerGizmoXAxisColor) -{ - ensureAlwaysMsgf( - GetDrawDebugWristTrackerGizmo(), - TEXT("Setting DebugWristTrackerGizmoXAxisColor is only permitted when bDrawDebugWristTrackerGizmo is" - " enabled!")); - DebugWristTrackerGizmoXAxisColor = InDebugWristTrackerGizmoXAxisColor; -} - -const FColor& USGSettings::GetDebugWristTrackerGizmoYAxisColor() const -{ - ensureAlwaysMsgf( - GetDrawDebugWristTrackerGizmo(), - TEXT("Getting DebugWristTrackerGizmoYAxisColor is only permitted when bDrawDebugWristTrackerGizmo is" - " enabled!")); - return DebugWristTrackerGizmoXAxisColor; -} - -void USGSettings::SetDebugWristTrackerGizmoYAxisColor(const FColor& InDebugWristTrackerGizmoYAxisColor) -{ - ensureAlwaysMsgf( - GetDrawDebugWristTrackerGizmo(), - TEXT("Setting DebugWristTrackerGizmoYAxisColor is only permitted when bDrawDebugWristTrackerGizmo is" - " enabled!")); - DebugWristTrackerGizmoYAxisColor = InDebugWristTrackerGizmoYAxisColor; -} - -const FColor& USGSettings::GetDebugWristTrackerGizmoZAxisColor() const -{ - ensureAlwaysMsgf( - GetDrawDebugWristTrackerGizmo(), - TEXT("Getting DebugWristTrackerGizmoZAxisColor is only permitted when bDrawDebugWristTrackerGizmo is" - " enabled!")); - return DebugWristTrackerGizmoZAxisColor; -} - -void USGSettings::SetDebugWristTrackerGizmoZAxisColor(const FColor& InDebugWristTrackerGizmoZAxisColor) -{ - ensureAlwaysMsgf( - GetDrawDebugWristTrackerGizmo(), - TEXT("Setting DebugWristTrackerGizmoZAxisColor is only permitted when bDrawDebugWristTrackerGizmo is" - " enabled!")); - DebugWristTrackerGizmoZAxisColor = InDebugWristTrackerGizmoZAxisColor; -} - -bool USGSettings::GetDebugWristTrackerGizmoPersistentLines() const -{ - ensureAlwaysMsgf( - GetDrawDebugWristTrackerGizmo(), - TEXT("Getting bDebugWristTrackerGizmoPersistentLines is only permitted when bDrawDebugWristTrackerGizmo is" - " enabled!")); - return !!bDebugWristTrackerGizmoPersistentLines; -} - -void USGSettings::SetDebugWristTrackerGizmoPersistentLines(const bool bInDebugWristTrackerGizmoPersistentLines) -{ - ensureAlwaysMsgf( - GetDrawDebugWristTrackerGizmo(), - TEXT("Setting bDebugWristTrackerGizmoPersistentLines is only permitted when bDrawDebugWristTrackerGizmo is" - " enabled!")); - bDebugWristTrackerGizmoPersistentLines = bInDebugWristTrackerGizmoPersistentLines; -} - -float USGSettings::GetDebugWristTrackerGizmoLifeTimeModifier() const -{ - ensureAlwaysMsgf( - GetDrawDebugWristTrackerGizmo(), - TEXT("Getting DebugWristTrackerGizmoLifeTimeModifier is only permitted when bDrawDebugWristTrackerGizmo is" - " enabled!")); - return DebugWristTrackerGizmoLifeTimeModifier; -} - -void USGSettings::SetDebugWristTrackerGizmoLifeTimeModifier(const float InDebugWristTrackerGizmoLifeTimeModifier) -{ - ensureAlwaysMsgf( - GetDrawDebugWristTrackerGizmo(), - TEXT("Setting DebugWristTrackerGizmoLifeTimeModifier is only permitted when bDrawDebugWristTrackerGizmo is" - " enabled!")); - DebugWristTrackerGizmoLifeTimeModifier = InDebugWristTrackerGizmoLifeTimeModifier; -} - -uint8 USGSettings::GetDebugWristTrackerGizmoDepthPriority() const -{ - ensureAlwaysMsgf( - GetDrawDebugWristTrackerGizmo(), - TEXT("Getting DebugWristTrackerGizmoDepthPriority is only permitted when bDrawDebugWristTrackerGizmo is" - " enabled!")); - return DebugWristTrackerGizmoDepthPriority; -} - -void USGSettings::SetDebugWristTrackerGizmoDepthPriority(const uint8 InDebugWristTrackerGizmoDepthPriority) -{ - ensureAlwaysMsgf( - GetDrawDebugWristTrackerGizmo(), - TEXT("Setting is only permitted when bDrawDebugWristTrackerGizmo is enabled!")); - DebugWristTrackerGizmoDepthPriority = InDebugWristTrackerGizmoDepthPriority; -} - -float USGSettings::GetDebugWristTrackerGizmoThickness() const -{ - ensureAlwaysMsgf( - GetDrawDebugWristTrackerGizmo(), + GetDrawWristTrackerDebugGizmo(), TEXT("Getting DebugWristTrackerGizmoThickness is only permitted when bDrawDebugWristTrackerGizmo is" " enabled!")); - return DebugWristTrackerGizmoThickness; + return WristTrackerDebugGizmoSettings; } -void USGSettings::SetDebugWristTrackerGizmoThickness(const float InDebugWristTrackerGizmoThickness) +void USGSettings::SetWristTrackerDebugGizmoSettings(const FSGDebugGizmoSettings& InWristTrackerDebugGizmoSettings) { ensureAlwaysMsgf( - GetDrawDebugWristTrackerGizmo(), + GetDrawWristTrackerDebugGizmo(), TEXT("Setting DebugWristTrackerGizmoThickness is only permitted when bDrawDebugWristTrackerGizmo is" " enabled!")); - DebugWristTrackerGizmoThickness = InDebugWristTrackerGizmoThickness; + WristTrackerDebugGizmoSettings = InWristTrackerDebugGizmoSettings; } bool USGSettings::ShouldCreateSubsystem(UObject* Outer) const diff --git a/Source/SenseGloveSettings/Public/SGSettings/SGDebugGizmoSettings.h b/Source/SenseGloveSettings/Public/SGSettings/SGDebugGizmoSettings.h new file mode 100644 index 00000000..921364a6 --- /dev/null +++ b/Source/SenseGloveSettings/Public/SGSettings/SGDebugGizmoSettings.h @@ -0,0 +1,81 @@ +/** + * @file + * + * @author Mamadou Babaei + * + * @section LICENSE + * + * (The MIT License) + * + * Copyright (c) 2020 - 2023 SenseGlove + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + * + * @section DESCRIPTION + * + * + */ + + +#pragma once + +#include "UObject/ObjectMacros.h" + +#include "SGDebugGizmoSettings.generated.h" + +USTRUCT(BlueprintType) +struct SENSEGLOVESETTINGS_API FSGDebugGizmoSettings +{ + GENERATED_USTRUCT_BODY() + +public: + UPROPERTY(EditAnywhere, Category = "Debug Gizmo Settings") + float Length; + + UPROPERTY(EditAnywhere, Category = "Debug Gizmo Settings") + float Thickness; + + UPROPERTY(EditAnywhere, Category = "Debug Gizmo Settings") + FColor XAxisColor; + + UPROPERTY(EditAnywhere, Category = "Debug Gizmo Settings") + FColor YAxisColor; + + UPROPERTY(EditAnywhere, Category = "Debug Gizmo Settings") + FColor ZAxisColor; + + UPROPERTY(EditAnywhere, Category = "Debug Gizmo Settings") + uint8 bPersistentLines : 1; + + UPROPERTY(EditAnywhere, Category = "Debug Gizmo Settings") + float LifeTimeModifier; + + UPROPERTY(EditAnywhere, Category = "Debug Gizmo Settings") + uint8 DepthPriority; + +public: + explicit FSGDebugGizmoSettings(float InLength = 1.0f, + float InThickness = 1.0f, + const FColor& InXAxisColor = FColor(1.0f, 0.0f, 0.0f, 1.0f), + const FColor& InYAxisColor = FColor(0.0f, 1.0f, 0.0f, 1.0f), + const FColor& InZAxisColor = FColor(0.0f, 0.0f, 1.0f, 1.0f), + bool bInPersistentLines = false, + float InLifeTimeModifier = 1.1f, + uint8 InDepthPriority = 0); +}; \ No newline at end of file diff --git a/Source/SenseGloveSettings/Public/SGSettings/SGSettings.h b/Source/SenseGloveSettings/Public/SGSettings/SGSettings.h index 0580ac51..7e0e64ad 100644 --- a/Source/SenseGloveSettings/Public/SGSettings/SGSettings.h +++ b/Source/SenseGloveSettings/Public/SGSettings/SGSettings.h @@ -42,6 +42,7 @@ #include "Templates/UniquePtr.h" #include "UObject/ObjectMacros.h" +#include "SGSettings/SGDebugGizmoSettings.h" #include "SGTypes/SGCoreTypes.h" #include "SGSettings.generated.h" @@ -104,63 +105,14 @@ private: * If enabled, draws debug Wrist trackers where possible. */ UPROPERTY(Config, EditDefaultsOnly, Category = "Wrist Tracking Debug") - uint8 bDrawDebugWristTrackerGizmo : 1; + uint8 bDrawWristTrackerDebugGizmo : 1; /** * Valid only if bDrawDebugWristTrackerGizmo is enabled. */ UPROPERTY(Config, EditDefaultsOnly, Category = "Wrist Tracking Debug", meta=(EditCondition="bDrawDebugWristTrackerGizmo", EditConditionHides)) - float DebugWristTrackerGizmoLength; - - /** - * Valid only if bDrawDebugWristTrackerGizmo is enabled. - */ - UPROPERTY(Config, EditDefaultsOnly, Category = "Wrist Tracking Debug", - meta=(EditCondition="bDrawDebugWristTrackerGizmo", EditConditionHides)) - FColor DebugWristTrackerGizmoXAxisColor; - - /** - * Valid only if bDrawDebugWristTrackerGizmo is enabled. - */ - UPROPERTY(Config, EditDefaultsOnly, Category = "Wrist Tracking Debug", - meta=(EditCondition="bDrawDebugWristTrackerGizmo", EditConditionHides)) - FColor DebugWristTrackerGizmoYAxisColor; - - /** - * Valid only if bDrawDebugWristTrackerGizmo is enabled. - */ - UPROPERTY(Config, EditDefaultsOnly, Category = "Wrist Tracking Debug", - meta=(EditCondition="bDrawDebugWristTrackerGizmo", EditConditionHides)) - FColor DebugWristTrackerGizmoZAxisColor; - - /** - * Valid only if bDrawDebugWristTrackerGizmo is enabled. - */ - UPROPERTY(Config, EditDefaultsOnly, Category = "Wrist Tracking Debug", - meta=(EditCondition="bDrawDebugWristTrackerGizmo", EditConditionHides)) - uint8 bDebugWristTrackerGizmoPersistentLines : 1; - - /** - * Valid only if bDrawDebugWristTrackerGizmo is enabled. - */ - UPROPERTY(Config, EditDefaultsOnly, Category = "Wrist Tracking Debug", - meta=(EditCondition="bDrawDebugWristTrackerGizmo", EditConditionHides)) - float DebugWristTrackerGizmoLifeTimeModifier; - - /** - * Valid only if bDrawDebugWristTrackerGizmo is enabled. - */ - UPROPERTY(Config, EditDefaultsOnly, Category = "Wrist Tracking Debug", - meta=(EditCondition="bDrawDebugWristTrackerGizmo", EditConditionHides)) - uint8 DebugWristTrackerGizmoDepthPriority; - - /** - * Valid only if bDrawDebugWristTrackerGizmo is enabled. - */ - UPROPERTY(Config, EditDefaultsOnly, Category = "Wrist Tracking Debug", - meta=(EditCondition="bDrawDebugWristTrackerGizmo", EditConditionHides)) - float DebugWristTrackerGizmoThickness; + FSGDebugGizmoSettings WristTrackerDebugGizmoSettings; public: USGSettings(); @@ -188,39 +140,18 @@ public: const FRotator& GetTrackingHardwareRotationOffsetRightHand() const; void SetTrackingHardwareRotationOffsetRightHand(const FRotator& InTrackingHardwareRotationOffsetRightHand); - FORCEINLINE bool GetDrawDebugWristTrackerGizmo() const + FORCEINLINE bool GetDrawWristTrackerDebugGizmo() const { - return !!bDrawDebugWristTrackerGizmo; + return !!bDrawWristTrackerDebugGizmo; } - void SetDrawDebugWristTrackerGizmo(const bool bInDrawDebugWristTrackerGizmo) + void SetDrawWristTrackerDebugGizmo(const bool bInDrawWristTrackerDebugGizmo) { - bDrawDebugWristTrackerGizmo = bInDrawDebugWristTrackerGizmo; + bDrawWristTrackerDebugGizmo = bInDrawWristTrackerDebugGizmo; } - float GetDebugWristTrackerGizmoLength() const; - void SetDebugWristTrackerGizmoLength(float InDebugWristTrackerGizmoLength); - - const FColor& GetDebugWristTrackerGizmoXAxisColor() const; - void SetDebugWristTrackerGizmoXAxisColor(const FColor& InDebugWristTrackerGizmoXAxisColor); - - const FColor& GetDebugWristTrackerGizmoYAxisColor() const; - void SetDebugWristTrackerGizmoYAxisColor(const FColor& InDebugWristTrackerGizmoYAxisColor); - - const FColor& GetDebugWristTrackerGizmoZAxisColor() const; - void SetDebugWristTrackerGizmoZAxisColor(const FColor& InDebugWristTrackerGizmoZAxisColor); - - bool GetDebugWristTrackerGizmoPersistentLines() const; - void SetDebugWristTrackerGizmoPersistentLines(bool bInDebugWristTrackerGizmoPersistentLines); - - float GetDebugWristTrackerGizmoLifeTimeModifier() const; - void SetDebugWristTrackerGizmoLifeTimeModifier(float InDebugWristTrackerGizmoLifeTimeModifier); - - uint8 GetDebugWristTrackerGizmoDepthPriority() const; - void SetDebugWristTrackerGizmoDepthPriority(uint8 InDebugWristTrackerGizmoDepthPriority); - - float GetDebugWristTrackerGizmoThickness() const; - void SetDebugWristTrackerGizmoThickness(float InDebugWristTrackerGizmoThickness); + const FSGDebugGizmoSettings& GetWristTrackerDebugGizmoSettings() const; + void SetWristTrackerDebugGizmoSettings(const FSGDebugGizmoSettings& InWristTrackerDebugGizmoSettings); public: virtual bool ShouldCreateSubsystem(UObject* Outer) const override; diff --git a/Source/SenseGloveSettingsKismet/Private/SGSettingsKismet/SGSettingsKismetLibrary.cpp b/Source/SenseGloveSettingsKismet/Private/SGSettingsKismet/SGSettingsKismetLibrary.cpp index c93bef35..faaae6a2 100644 --- a/Source/SenseGloveSettingsKismet/Private/SGSettingsKismet/SGSettingsKismetLibrary.cpp +++ b/Source/SenseGloveSettingsKismet/Private/SGSettingsKismet/SGSettingsKismetLibrary.cpp @@ -97,101 +97,24 @@ void USGSettingsKismetLibrary::SetTrackingHardwareRotationOffsetRightHand( Settings->SetTrackingHardwareRotationOffsetRightHand(InTrackingHardwareRotationOffsetRightHand); } -bool USGSettingsKismetLibrary::GetDrawDebugWristTrackerGizmo(const USGSettings* Settings) +bool USGSettingsKismetLibrary::GetDrawWristTrackerDebugGizmo(const USGSettings* Settings) { - return Settings->GetDrawDebugWristTrackerGizmo(); + return Settings->GetDrawWristTrackerDebugGizmo(); } -void USGSettingsKismetLibrary::SetDrawDebugWristTrackerGizmo( - USGSettings* Settings, const bool bInDrawDebugWristTrackerGizmo) +void USGSettingsKismetLibrary::SetDrawWristTrackerDebugGizmo( + USGSettings* Settings, const bool bInDrawWristTrackerDebugGizmo) { - Settings->SetDrawDebugWristTrackerGizmo(bInDrawDebugWristTrackerGizmo); + Settings->SetDrawWristTrackerDebugGizmo(bInDrawWristTrackerDebugGizmo); } -float USGSettingsKismetLibrary::GetDebugWristTrackerGizmoLength(const USGSettings* Settings) +const FSGDebugGizmoSettings& USGSettingsKismetLibrary::GetWristTrackerDebugGizmoSettings(const USGSettings* Settings) { - return Settings->GetDebugWristTrackerGizmoLength(); + return Settings->GetWristTrackerDebugGizmoSettings(); } -void USGSettingsKismetLibrary::SetDebugWristTrackerGizmoLength( - USGSettings* Settings, const float InDebugWristTrackerGizmoLength) +void USGSettingsKismetLibrary::SetWristTrackerDebugGizmoSettings(USGSettings* Settings, + const FSGDebugGizmoSettings& InWristTrackerDebugGizmoSettings) { - Settings->SetDebugWristTrackerGizmoLength(InDebugWristTrackerGizmoLength); -} - -const FColor& USGSettingsKismetLibrary::GetDebugWristTrackerGizmoXAxisColor(const USGSettings* Settings) -{ - return Settings->GetDebugWristTrackerGizmoXAxisColor(); -} - -void USGSettingsKismetLibrary::SetDebugWristTrackerGizmoXAxisColor( - USGSettings* Settings, const FColor& InDebugWristTrackerGizmoXAxisColor) -{ - Settings->SetDebugWristTrackerGizmoXAxisColor(InDebugWristTrackerGizmoXAxisColor); -} - -const FColor& USGSettingsKismetLibrary::GetDebugWristTrackerGizmoYAxisColor(const USGSettings* Settings) -{ - return Settings->GetDebugWristTrackerGizmoYAxisColor(); -} - -void USGSettingsKismetLibrary::SetDebugWristTrackerGizmoYAxisColor( - USGSettings* Settings, const FColor& InDebugWristTrackerGizmoYAxisColor) -{ - Settings->SetDebugWristTrackerGizmoYAxisColor(InDebugWristTrackerGizmoYAxisColor); -} - -const FColor& USGSettingsKismetLibrary::GetDebugWristTrackerGizmoZAxisColor(const USGSettings* Settings) -{ - return Settings->GetDebugWristTrackerGizmoZAxisColor(); -} - -void USGSettingsKismetLibrary::SetDebugWristTrackerGizmoZAxisColor( - USGSettings* Settings, const FColor& InDebugWristTrackerGizmoZAxisColor) -{ - Settings->SetDebugWristTrackerGizmoZAxisColor(InDebugWristTrackerGizmoZAxisColor); -} - -bool USGSettingsKismetLibrary::GetDebugWristTrackerGizmoPersistentLines(const USGSettings* Settings) -{ - return Settings->GetDebugWristTrackerGizmoPersistentLines(); -} - -void USGSettingsKismetLibrary::SetDebugWristTrackerGizmoPersistentLines( - USGSettings* Settings, const bool bInDebugWristTrackerGizmoPersistentLines) -{ - Settings->SetDebugWristTrackerGizmoPersistentLines(bInDebugWristTrackerGizmoPersistentLines); -} - -float USGSettingsKismetLibrary::GetDebugWristTrackerGizmoLifeTimeModifier(const USGSettings* Settings) -{ - return Settings->GetDebugWristTrackerGizmoLifeTimeModifier(); -} - -void USGSettingsKismetLibrary::SetDebugWristTrackerGizmoLifeTimeModifier( - USGSettings* Settings, const float InDebugWristTrackerGizmoLifeTimeModifier) -{ - Settings->SetDebugWristTrackerGizmoLifeTimeModifier(InDebugWristTrackerGizmoLifeTimeModifier); -} - -uint8 USGSettingsKismetLibrary::GetDebugWristTrackerGizmoDepthPriority(const USGSettings* Settings) -{ - return Settings->GetDebugWristTrackerGizmoDepthPriority(); -} - -void USGSettingsKismetLibrary::SetDebugWristTrackerGizmoDepthPriority( - USGSettings* Settings, const uint8 InDebugWristTrackerGizmoDepthPriority) -{ - Settings->SetDebugWristTrackerGizmoDepthPriority(InDebugWristTrackerGizmoDepthPriority); -} - -float USGSettingsKismetLibrary::GetDebugWristTrackerGizmoThickness(const USGSettings* Settings) -{ - return Settings->GetDebugWristTrackerGizmoThickness(); -} - -void USGSettingsKismetLibrary::SetDebugWristTrackerGizmoThickness( - USGSettings* Settings, const float InDebugWristTrackerGizmoThickness) -{ - Settings->SetDebugWristTrackerGizmoThickness(InDebugWristTrackerGizmoThickness); + Settings->SetWristTrackerDebugGizmoSettings(InWristTrackerDebugGizmoSettings); } \ No newline at end of file diff --git a/Source/SenseGloveSettingsKismet/Public/SGSettingsKismet/SGSettingsKismetLibrary.h b/Source/SenseGloveSettingsKismet/Public/SGSettingsKismet/SGSettingsKismetLibrary.h index f70c8d75..89304e08 100644 --- a/Source/SenseGloveSettingsKismet/Public/SGSettingsKismet/SGSettingsKismetLibrary.h +++ b/Source/SenseGloveSettingsKismet/Public/SGSettingsKismet/SGSettingsKismetLibrary.h @@ -38,6 +38,8 @@ #include "SGKismet/SGBlueprintFunctionLibrary.h" #include "SGTypes/SGCoreTypes.h" +#include "SGSettings/SGDebugGizmoSettings.h" + #include "SGSettingsKismetLibrary.generated.h" class USGSettings; @@ -55,95 +57,47 @@ public: static ESGPositionalTrackingHardware GetTrackingHardware(const USGSettings* Settings); UFUNCTION(BlueprintCallable, Category="SenseGlove | Settings") - static void SetTrackingHardware(UPARAM(ref) USGSettings* Settings, ESGPositionalTrackingHardware InTrackingHardware); + static void SetTrackingHardware(UPARAM(ref) USGSettings* Settings, + ESGPositionalTrackingHardware InTrackingHardware); UFUNCTION(BlueprintPure, Category="SenseGlove | Settings") static const FVector& GetTrackingHardwareLocationOffsetLeftHand(const USGSettings* Settings); UFUNCTION(BlueprintCallable, Category="SenseGlove | Settings") static void SetTrackingHardwareLocationOffsetLeftHand(UPARAM(ref) USGSettings* Settings, - const FVector& InTrackingHardwareLocationOffsetLeftHand); + const FVector& InTrackingHardwareLocationOffsetLeftHand); UFUNCTION(BlueprintPure, Category="SenseGlove | Settings") static const FVector& GetTrackingHardwareLocationOffsetRightHand(const USGSettings* Settings); UFUNCTION(BlueprintCallable, Category="SenseGlove | Settings") static void SetTrackingHardwareLocationOffsetRightHand(UPARAM(ref) USGSettings* Settings, - const FVector& InTrackingHardwareLocationOffsetRightHand); + const FVector& InTrackingHardwareLocationOffsetRightHand); UFUNCTION(BlueprintPure, Category="SenseGlove | Settings") static const FRotator& GetTrackingHardwareRotationOffsetLeftHand(const USGSettings* Settings); UFUNCTION(BlueprintCallable, Category="SenseGlove | Settings") static void SetTrackingHardwareRotationOffsetLeftHand(UPARAM(ref) USGSettings* Settings, - const FRotator& InTrackingHardwareRotationOffsetLeftHand); + const FRotator& InTrackingHardwareRotationOffsetLeftHand); UFUNCTION(BlueprintPure, Category="SenseGlove | Settings") static const FRotator& GetTrackingHardwareRotationOffsetRightHand(const USGSettings* Settings); UFUNCTION(BlueprintCallable, Category="SenseGlove | Settings") static void SetTrackingHardwareRotationOffsetRightHand(UPARAM(ref) USGSettings* Settings, - const FRotator& InTrackingHardwareRotationOffsetRightHand); + const FRotator& InTrackingHardwareRotationOffsetRightHand); UFUNCTION(BlueprintPure, Category="SenseGlove | Settings") - static bool GetDrawDebugWristTrackerGizmo(const USGSettings* Settings); + static bool GetDrawWristTrackerDebugGizmo(const USGSettings* Settings); UFUNCTION(BlueprintCallable, Category="SenseGlove | Settings") - static void SetDrawDebugWristTrackerGizmo(UPARAM(ref) USGSettings* Settings, bool bInDrawDebugWristTrackerGizmo); + static void SetDrawWristTrackerDebugGizmo(UPARAM(ref) USGSettings* Settings, bool bInDrawWristTrackerDebugGizmo); UFUNCTION(BlueprintPure, Category="SenseGlove | Settings") - static float GetDebugWristTrackerGizmoLength(const USGSettings* Settings); + static const FSGDebugGizmoSettings& GetWristTrackerDebugGizmoSettings(const USGSettings* Settings); UFUNCTION(BlueprintCallable, Category="SenseGlove | Settings") - static void SetDebugWristTrackerGizmoLength(UPARAM(ref) USGSettings* Settings, - float InDebugWristTrackerGizmoLength); - - UFUNCTION(BlueprintPure, Category="SenseGlove | Settings") - static const FColor& GetDebugWristTrackerGizmoXAxisColor(const USGSettings* Settings); - - UFUNCTION(BlueprintCallable, Category="SenseGlove | Settings") - static void SetDebugWristTrackerGizmoXAxisColor(UPARAM(ref) USGSettings* Settings, - const FColor& InDebugWristTrackerGizmoXAxisColor); - - UFUNCTION(BlueprintPure, Category="SenseGlove | Settings") - static const FColor& GetDebugWristTrackerGizmoYAxisColor(const USGSettings* Settings); - - UFUNCTION(BlueprintCallable, Category="SenseGlove | Settings") - static void SetDebugWristTrackerGizmoYAxisColor(UPARAM(ref) USGSettings* Settings, - const FColor& InDebugWristTrackerGizmoYAxisColor); - - UFUNCTION(BlueprintPure, Category="SenseGlove | Settings") - static const FColor& GetDebugWristTrackerGizmoZAxisColor(const USGSettings* Settings); - - UFUNCTION(BlueprintCallable, Category="SenseGlove | Settings") - static void SetDebugWristTrackerGizmoZAxisColor(UPARAM(ref) USGSettings* Settings, - const FColor& InDebugWristTrackerGizmoZAxisColor); - - UFUNCTION(BlueprintPure, Category="SenseGlove | Settings") - static bool GetDebugWristTrackerGizmoPersistentLines(const USGSettings* Settings); - - UFUNCTION(BlueprintCallable, Category="SenseGlove | Settings") - static void SetDebugWristTrackerGizmoPersistentLines(UPARAM(ref) USGSettings* Settings, - bool bInDebugWristTrackerGizmoPersistentLines); - - UFUNCTION(BlueprintPure, Category="SenseGlove | Settings") - static float GetDebugWristTrackerGizmoLifeTimeModifier(const USGSettings* Settings); - - UFUNCTION(BlueprintCallable, Category="SenseGlove | Settings") - static void SetDebugWristTrackerGizmoLifeTimeModifier(UPARAM(ref) USGSettings* Settings, - float InDebugWristTrackerGizmoLifeTimeModifier); - - UFUNCTION(BlueprintPure, Category="SenseGlove | Settings") - static uint8 GetDebugWristTrackerGizmoDepthPriority(const USGSettings* Settings); - - UFUNCTION(BlueprintCallable, Category="SenseGlove | Settings") - static void SetDebugWristTrackerGizmoDepthPriority(UPARAM(ref) USGSettings* Settings, - uint8 InDebugWristTrackerGizmoDepthPriority); - - UFUNCTION(BlueprintPure, Category="SenseGlove | Settings") - static float GetDebugWristTrackerGizmoThickness(const USGSettings* Settings); - - UFUNCTION(BlueprintCallable, Category="SenseGlove | Settings") - static void SetDebugWristTrackerGizmoThickness(UPARAM(ref) USGSettings* Settings, - float InDebugWristTrackerGizmoThickness); + static void SetWristTrackerDebugGizmoSettings(UPARAM(ref) USGSettings* Settings, + const FSGDebugGizmoSettings& InWristTrackerDebugGizmoSettings); }; \ No newline at end of file