From 2882b577e27ae5763924aa5f406c0f7e76c50f51 Mon Sep 17 00:00:00 2001 From: Mamadou Babaei Date: Tue, 21 Mar 2023 17:28:45 +0100 Subject: [PATCH] add wrist tracking debug settings --- .../Private/SGSettings/SGSettings.cpp | 10 ++++ .../Public/SGSettings/SGSettings.h | 56 ++++++++++++++++++- 2 files changed, 65 insertions(+), 1 deletion(-) diff --git a/Source/SenseGloveSettings/Private/SGSettings/SGSettings.cpp b/Source/SenseGloveSettings/Private/SGSettings/SGSettings.cpp index 024069b3..772844b0 100644 --- a/Source/SenseGloveSettings/Private/SGSettings/SGSettings.cpp +++ b/Source/SenseGloveSettings/Private/SGSettings/SGSettings.cpp @@ -85,6 +85,16 @@ USGSettings::USGSettings() HardwareOffset = ESGPositionalTrackingHardware::None; Pimpl->ResetHardwareOffsetValuesToZero(); + + bDrawDebugWristTrackerGizmo = false; + DebugWristTrackerGizmoLength = 1.0f; + DebugWristTrackerGizmoXAxisColor = FColor::Red; + DebugWristTrackerGizmoYAxisColor = FColor::Green; + DebugWristTrackerGizmoZAxisColor = FColor::Blue; + bDebugWristTrackerGizmoPersistentLines = false; + DebugWristTrackerGizmoLifeTimeModifier = 1.1f; + DebugWristTrackerGizmoDepthPriority = 0; + DebugWristTrackerGizmoThickness = 1.0f; } bool USGSettings::ShouldCreateSubsystem(UObject* Outer) const diff --git a/Source/SenseGloveSettings/Public/SGSettings/SGSettings.h b/Source/SenseGloveSettings/Public/SGSettings/SGSettings.h index 25e07f53..6f242b81 100644 --- a/Source/SenseGloveSettings/Public/SGSettings/SGSettings.h +++ b/Source/SenseGloveSettings/Public/SGSettings/SGSettings.h @@ -35,6 +35,7 @@ #pragma once +#include "Math/Color.h" #include "Math/Rotator.h" #include "Math/Vector.h" #include "Subsystems/EngineSubsystem.h" @@ -65,25 +66,78 @@ private: FImplDeleter PimplDeleter; private: + /** + * If set to Custom, any desired location and rotation can be specified. + */ UPROPERTY(Config, EditDefaultsOnly, Category = "Wrist Tracking") ESGPositionalTrackingHardware HardwareOffset; + /** + * Valid only if HardwareOffset is set to Custom. + */ UPROPERTY(Config, EditDefaultsOnly, Category = "Wrist Tracking", meta=(EditCondition="HardwareOffset == ESGPositionalTrackingHardware::Custom", EditConditionHides)) FVector HardwareLocationOffsetLeftHand; + /** + * Valid only if HardwareOffset is set to Custom. + */ UPROPERTY(Config, EditDefaultsOnly, Category = "Wrist Tracking", meta=(EditCondition="HardwareOffset == ESGPositionalTrackingHardware::Custom", EditConditionHides)) FVector HardwareLocationOffsetRightHand; + /** + * Valid only if HardwareOffset is set to Custom. + */ UPROPERTY(Config, EditDefaultsOnly, Category = "Wrist Tracking", meta=(EditCondition="HardwareOffset == ESGPositionalTrackingHardware::Custom", EditConditionHides)) FRotator HardwareRotationOffsetLeftHand; + /** + * Valid only if HardwareOffset is set to Custom. + */ UPROPERTY(Config, EditDefaultsOnly, Category = "Wrist Tracking", - meta=(EditCondition="HardwareOffset == ESGPositionalTrackingHardware::Custom", EditConditionHides)) + meta=(editcondition="hardwareoffset == esgpositionaltrackinghardware::custom", editconditionhides)) FRotator HardwareRotationOffsetRightHand; + /** + * If enabled, draws debug Wrist trackers where possible. + */ + UPROPERTY(Config, EditDefaultsOnly, Category = "Wrist Tracking Debug") + uint8 bDrawDebugWristTrackerGizmo : 1; + + UPROPERTY(Config, EditDefaultsOnly, Category = "Wrist Tracking Debug", + meta=(editcondition="bDrawDebugWristTrackerGizmo", editconditionhides)) + float DebugWristTrackerGizmoLength; + + UPROPERTY(Config, EditDefaultsOnly, Category = "Wrist Tracking Debug", + meta=(editcondition="bDrawDebugWristTrackerGizmo", editconditionhides)) + FLinearColor DebugWristTrackerGizmoXAxisColor; + + UPROPERTY(Config, EditDefaultsOnly, Category = "Wrist Tracking Debug", + meta=(editcondition="bDrawDebugWristTrackerGizmo", editconditionhides)) + FLinearColor DebugWristTrackerGizmoYAxisColor; + + UPROPERTY(Config, EditDefaultsOnly, Category = "Wrist Tracking Debug", + meta=(editcondition="bDrawDebugWristTrackerGizmo", editconditionhides)) + FLinearColor DebugWristTrackerGizmoZAxisColor; + + UPROPERTY(Config, EditDefaultsOnly, Category = "Wrist Tracking Debug", + meta=(editcondition="bDrawDebugWristTrackerGizmo", editconditionhides)) + uint8 bDebugWristTrackerGizmoPersistentLines : 1; + + UPROPERTY(Config, EditDefaultsOnly, Category = "Wrist Tracking Debug", + meta=(editcondition="bDrawDebugWristTrackerGizmo", editconditionhides)) + float DebugWristTrackerGizmoLifeTimeModifier; + + UPROPERTY(Config, EditDefaultsOnly, Category = "Wrist Tracking Debug", + meta=(editcondition="bDrawDebugWristTrackerGizmo", editconditionhides)) + uint8 DebugWristTrackerGizmoDepthPriority; + + UPROPERTY(Config, EditDefaultsOnly, Category = "Wrist Tracking Debug", + meta=(editcondition="bDrawDebugWristTrackerGizmo", editconditionhides)) + float DebugWristTrackerGizmoThickness; + public: USGSettings();