functional wrist tracker component

This commit is contained in:
Mamadou Babaei
2023-03-28 10:34:52 +02:00
parent 407d4ea14c
commit 12bfcfe80d
10 changed files with 415 additions and 267 deletions
@@ -38,6 +38,7 @@
#include "Animation/Skeleton.h"
#include "Components/SkeletalMeshComponent.h"
#include "Engine/SkeletalMesh.h"
#include "Kismet/GameplayStatics.h"
#include "UObject/ConstructorHelpers.h"
#include "SGConnect/SGConnect.h"
@@ -82,6 +83,9 @@ struct USGWristTrackerComponent::FImpl
bool InitializeBackend() const;
bool UninitializeBackend() const;
bool CheckGlove() const;
void UpdateWristTrackingData() const;
void DrawDebugGizmo();
};
USGWristTrackerComponent::USGWristTrackerComponent(const FObjectInitializer& ObjectInitializer)
@@ -106,16 +110,16 @@ USGWristTrackerComponent::USGWristTrackerComponent(const FObjectInitializer& Obj
bOverridePluginWristTrackingSettings = false;
bDrawDebugWristTrackerGizmo = false;
HardwareOffset = ESGPositionalTrackingHardware::None;
HardwareLocationOffset = FVector::ZeroVector;
HardwareLocationOffset = FVector::ZeroVector;
TrackingHardware = ESGPositionalTrackingHardware::None;
TrackingHardwareLocationOffset = FVector::ZeroVector;
TrackingHardwareLocationOffset = FVector::ZeroVector;
bOverridePluginWristTrackingDebugSettings = false;
bDrawDebugWristTrackerGizmo = false;
DebugWristTrackerGizmoLength = 1.0f;
DebugWristTrackerGizmoXAxisColor = FColor::Red;
DebugWristTrackerGizmoYAxisColor = FColor::Green;
DebugWristTrackerGizmoZAxisColor = FColor::Blue;
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;
@@ -132,83 +136,86 @@ void USGWristTrackerComponent::SetRight(const bool bRight)
SetTrackingSource(bRight ? EControllerHand::Right : EControllerHand::Left);
}
ESGPositionalTrackingHardware USGWristTrackerComponent::GetHardwareOffset() const
ESGPositionalTrackingHardware USGWristTrackerComponent::GetTrackingHardware() const
{
if (OverridesPluginWristTrackingSettings())
{
return HardwareOffset;
return TrackingHardware;
}
return USGSettings::GetInstance()->GetHardwareOffset();
return USGSettings::GetInstance()->GetTrackingHardware();
}
void USGWristTrackerComponent::SetHardwareOffset(const ESGPositionalTrackingHardware InHardwareOffset)
void USGWristTrackerComponent::SetTrackingHardware(const ESGPositionalTrackingHardware InTrackingHardware)
{
ensureAlwaysMsgf(
OverridesPluginWristTrackingSettings(),
TEXT( "Setting HardwareOffset is only permitted when bOverridePluginWristTrackingSettings is enabled!"));
TEXT( "Setting TrackingHardware is only permitted when bOverridePluginWristTrackingSettings is enabled!"));
HardwareOffset = InHardwareOffset;
TrackingHardware = InTrackingHardware;
}
const FVector& USGWristTrackerComponent::GetHardwareLocationOffset() const
const FVector& USGWristTrackerComponent::GetTrackingHardwareLocationOffset() const
{
ensureAlwaysMsgf(
GetHardwareOffset() == ESGPositionalTrackingHardware::Custom,
TEXT( "Getting HardwareLocationOffset is only permitted when HardwareOffset is set to Custom!"));
GetTrackingHardware() == ESGPositionalTrackingHardware::Custom,
TEXT( "Getting TrackingHardwareLocationOffset is only permitted when TrackingHardware is set to Custom!"));
if (OverridesPluginWristTrackingSettings())
{
return HardwareLocationOffset;
return TrackingHardwareLocationOffset;
}
return IsRight()
? USGSettings::GetInstance()->GetHardwareLocationOffsetRightHand()
: USGSettings::GetInstance()->GetHardwareLocationOffsetLeftHand();
? USGSettings::GetInstance()->GetTrackingHardwareLocationOffsetRightHand()
: USGSettings::GetInstance()->GetTrackingHardwareLocationOffsetLeftHand();
}
void USGWristTrackerComponent::SetHardwareLocationOffset(const FVector& InHardwareLocationOffset)
void USGWristTrackerComponent::SetTrackingHardwareLocationOffset(const FVector& InTrackingHardwareLocationOffset)
{
ensureAlwaysMsgf(
OverridesPluginWristTrackingSettings(),
TEXT( "Setting HardwareLocationOffset is only permitted when bOverridePluginWristTrackingSettings is enabled!"
TEXT(
"Setting TrackingHardwareLocationOffset is only permitted when bOverridePluginWristTrackingSettings is enabled!"
));
ensureAlwaysMsgf(
GetHardwareOffset() == ESGPositionalTrackingHardware::Custom,
TEXT( "Setting HardwareLocationOffset is only permitted when HardwareOffset is set to Custom!"));
GetTrackingHardware() == ESGPositionalTrackingHardware::Custom,
TEXT( "Setting TrackingHardwareLocationOffset is only permitted when TrackingHardware is set to Custom!"));
HardwareLocationOffset = InHardwareLocationOffset;
TrackingHardwareLocationOffset = InTrackingHardwareLocationOffset;
}
const FRotator& USGWristTrackerComponent::GetHardwareRotationOffset() const
const FRotator& USGWristTrackerComponent::GetTrackingHardwareRotationOffset() const
{
ensureAlwaysMsgf(
GetHardwareOffset() == ESGPositionalTrackingHardware::Custom,
TEXT( "Getting HardwareRotationOffset is only permitted when HardwareOffset is set to Custom!"));
GetTrackingHardware() == ESGPositionalTrackingHardware::Custom,
TEXT( "Getting TrackingHardwareRotationOffset is only permitted when TrackingHardware is set to Custom!"));
if (OverridesPluginWristTrackingSettings())
{
return HardwareRotationOffset;
return TrackingHardwareRotationOffset;
}
return IsRight()
? USGSettings::GetInstance()->GetHardwareRotationOffsetRightHand()
: USGSettings::GetInstance()->GetHardwareRotationOffsetLeftHand();
? USGSettings::GetInstance()->GetTrackingHardwareRotationOffsetRightHand()
: USGSettings::GetInstance()->GetTrackingHardwareRotationOffsetLeftHand();
}
void USGWristTrackerComponent::SetHardwareRotationOffset(const FRotator& InHardwareRotationOffset)
void USGWristTrackerComponent::SetTrackingHardwareRotationOffset(const FRotator& InTrackingHardwareRotationOffset)
{
ensureAlwaysMsgf(
OverridesPluginWristTrackingSettings(),
TEXT( "Setting HardwareRotationOffset is only permitted when bOverridePluginWristTrackingSettings is enabled!"
TEXT(
"Setting TrackingHardwareRotationOffset is only permitted when bOverridePluginWristTrackingSettings is enabled!"
));
ensureAlwaysMsgf(
GetHardwareOffset() == ESGPositionalTrackingHardware::Custom,
TEXT("Setting HardwareRotationOffsetRightHand is only permitted when HardwareOffset is set to Custom!"));
GetTrackingHardware() == ESGPositionalTrackingHardware::Custom,
TEXT("Setting TrackingHardwareRotationOffsetRightHand is only permitted when TrackingHardware is set to Custom!"
));
HardwareRotationOffset = InHardwareRotationOffset;
TrackingHardwareRotationOffset = InTrackingHardwareRotationOffset;
}
bool USGWristTrackerComponent::GetDrawDebugWristTrackerGizmo() const
@@ -259,7 +266,7 @@ void USGWristTrackerComponent::SetDebugWristTrackerGizmoLength(const float InDeb
DebugWristTrackerGizmoLength = InDebugWristTrackerGizmoLength;
}
const FLinearColor& USGWristTrackerComponent::GetDebugWristTrackerGizmoXAxisColor() const
const FColor& USGWristTrackerComponent::GetDebugWristTrackerGizmoXAxisColor() const
{
ensureAlwaysMsgf(
GetDrawDebugWristTrackerGizmo(),
@@ -275,7 +282,7 @@ const FLinearColor& USGWristTrackerComponent::GetDebugWristTrackerGizmoXAxisColo
}
void USGWristTrackerComponent::SetDebugWristTrackerGizmoXAxisColor(
const FLinearColor& InDebugWristTrackerGizmoXAxisColor)
const FColor& InDebugWristTrackerGizmoXAxisColor)
{
ensureAlwaysMsgf(
OverridesPluginWristTrackingDebugSettings(),
@@ -290,7 +297,7 @@ void USGWristTrackerComponent::SetDebugWristTrackerGizmoXAxisColor(
DebugWristTrackerGizmoXAxisColor = InDebugWristTrackerGizmoXAxisColor;
}
const FLinearColor& USGWristTrackerComponent::GetDebugWristTrackerGizmoYAxisColor() const
const FColor& USGWristTrackerComponent::GetDebugWristTrackerGizmoYAxisColor() const
{
ensureAlwaysMsgf(
GetDrawDebugWristTrackerGizmo(),
@@ -306,7 +313,7 @@ const FLinearColor& USGWristTrackerComponent::GetDebugWristTrackerGizmoYAxisColo
}
void USGWristTrackerComponent::SetDebugWristTrackerGizmoYAxisColor(
const FLinearColor& InDebugWristTrackerGizmoYAxisColor)
const FColor& InDebugWristTrackerGizmoYAxisColor)
{
ensureAlwaysMsgf(
OverridesPluginWristTrackingDebugSettings(),
@@ -321,7 +328,7 @@ void USGWristTrackerComponent::SetDebugWristTrackerGizmoYAxisColor(
DebugWristTrackerGizmoYAxisColor = InDebugWristTrackerGizmoYAxisColor;
}
const FLinearColor& USGWristTrackerComponent::GetDebugWristTrackerGizmoZAxisColor() const
const FColor& USGWristTrackerComponent::GetDebugWristTrackerGizmoZAxisColor() const
{
ensureAlwaysMsgf(
GetDrawDebugWristTrackerGizmo(),
@@ -337,7 +344,7 @@ const FLinearColor& USGWristTrackerComponent::GetDebugWristTrackerGizmoZAxisColo
}
void USGWristTrackerComponent::SetDebugWristTrackerGizmoZAxisColor(
const FLinearColor& InDebugWristTrackerGizmoZAxisColor)
const FColor& InDebugWristTrackerGizmoZAxisColor)
{
ensureAlwaysMsgf(
OverridesPluginWristTrackingDebugSettings(),
@@ -439,7 +446,7 @@ void USGWristTrackerComponent::SetDebugWristTrackerGizmoDepthPriority(const uint
ensureAlwaysMsgf(
GetDrawDebugWristTrackerGizmo(),
TEXT("Setting DebugWristTrackerGizmoDepthPriority is only permitted when bDrawDebugWristTrackerGizmo is"
" enabled!"));
" enabled!"));
DebugWristTrackerGizmoDepthPriority = InDebugWristTrackerGizmoDepthPriority;
}
@@ -534,6 +541,11 @@ void USGWristTrackerComponent::TickComponent(
Super::TickComponent(DeltaTime, TickType, ThisTickFunction);
if (GetDrawDebugWristTrackerGizmo())
{
Pimpl->DrawDebugGizmo();
}
(void) Pimpl->CheckGlove();
}
@@ -674,23 +686,89 @@ bool USGWristTrackerComponent::FImpl::CheckGlove() const
if (bFoundGlove)
{
if (Owner->WristLocationChangedEvent.IsBound())
{
Owner->WristLocationChangedEvent.Broadcast(Owner->WristLocation);
}
if (Owner->WristRotationChangedEvent.IsBound())
{
Owner->WristRotationChangedEvent.Broadcast(Owner->WristRotation);
}
if (Owner->WristLocationAndRotationChangedEvent.IsBound())
{
Owner->WristLocationAndRotationChangedEvent.Broadcast(Owner->WristLocation, Owner->WristRotation);
}
UpdateWristTrackingData();
}
return bFoundGlove;
}
void USGWristTrackerComponent::FImpl::UpdateWristTrackingData() const
{
ensureAlwaysMsgf(Owner->Glove, TEXT("Invalid Glove!"));
FVector TrackerLocation{Owner->GetRelativeLocation()};
FRotator TrackerRotation{Owner->GetRelativeRotation()};
ESGPositionalTrackingHardware TrackerHardware = Owner->GetTrackingHardware();
if (TrackerHardware == ESGPositionalTrackingHardware::None)
{
TrackerHardware = ESGPositionalTrackingHardware::Custom;
}
else if (TrackerHardware == ESGPositionalTrackingHardware::Custom)
{
TrackerLocation += Owner->GetTrackingHardwareLocationOffset();
TrackerRotation += Owner->GetTrackingHardwareRotationOffset();
}
FVector NewWristLocation;
FRotator NewWristRotation;
Owner->Glove->GetWristLocation(TrackerLocation, TrackerRotation, TrackerHardware,
NewWristLocation, NewWristRotation);
const bool bLocationUpdated = !Owner->WristLocation.Equals(NewWristLocation, SMALL_NUMBER);
const bool bRotationUpdated = !Owner->WristRotation.Equals(NewWristRotation, SMALL_NUMBER);
if (bLocationUpdated)
{
Owner->WristLocation = MoveTemp(NewWristLocation);
}
if (bRotationUpdated)
{
Owner->WristRotation = MoveTemp(NewWristRotation);
}
if (bLocationUpdated && Owner->WristLocationChangedEvent.IsBound())
{
Owner->WristLocationChangedEvent.Broadcast(Owner->WristLocation);
}
if (bRotationUpdated && Owner->WristRotationChangedEvent.IsBound())
{
Owner->WristRotationChangedEvent.Broadcast(Owner->WristRotation);
}
if ((bLocationUpdated && bRotationUpdated) && Owner->WristLocationAndRotationChangedEvent.IsBound())
{
Owner->WristLocationAndRotationChangedEvent.Broadcast(Owner->WristLocation, Owner->WristRotation);
}
}
void USGWristTrackerComponent::FImpl::DrawDebugGizmo()
{
const UWorld* World{Owner->GetWorld()};
const FVector& Location{Owner->GetRelativeLocation()};
const FRotator& Rotation{Owner->GetRelativeRotation()};
const float Length = Owner->GetDebugWristTrackerGizmoLength();
const bool bPersistentLines = Owner->GetDebugWristTrackerGizmoPersistentLines();
const float LifeTime = UGameplayStatics::GetWorldDeltaSeconds(World)
* 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 FVector XAxisLineEnd(Location + Rotation.RotateVector(FVector(Length, 0.0f, 0.0f)));
DrawDebugLine(World, Location, XAxisLineEnd, XAxisColor, bPersistentLines, LifeTime, DepthPriority, Thickness);
const FVector YAxisLineEnd(Location + Rotation.RotateVector(FVector{0.0f, Length, 0.0f}));
DrawDebugLine(World, Location, YAxisLineEnd, YAxisColor, bPersistentLines, LifeTime, DepthPriority, Thickness);
const FVector ZAxisLineEnd{Location + Rotation.RotateVector(FVector{0.0f, 0.0f, Length})};
DrawDebugLine(World, Location, ZAxisLineEnd, ZAxisColor, bPersistentLines, LifeTime, DepthPriority, Thickness);
}
void USGWristTrackerComponent::FImplDeleter::operator()(const FImpl* P) const
{
delete P;
@@ -119,6 +119,26 @@ void ASGPawn::BeginPlay()
ensureAlwaysMsgf(
WristTrackerRight->IsRight() && HandRight->IsRight(),
TEXT("The right hand and the right wrist do not track the right hand!"));
WristTrackerLeft->OnWristLocationChanged().AddWeakLambda(this, [&](const FVector& Location)-> void
{
HandLeft->SetRelativeLocation(Location);
});
WristTrackerLeft->OnWristRotationChanged().AddWeakLambda(this, [&](const FRotator& Rotation)-> void
{
HandLeft->SetRelativeRotation(Rotation);
});
WristTrackerRight->OnWristLocationChanged().AddWeakLambda(this, [&](const FVector& Location)-> void
{
HandRight->SetRelativeLocation(Location);
});
WristTrackerRight->OnWristRotationChanged().AddWeakLambda(this, [&](const FRotator& Rotation)-> void
{
HandRight->SetRelativeRotation(Rotation);
});
}
ASGPawn::FImpl::FImpl(ASGPawn* InOwner)
@@ -97,6 +97,16 @@ void ASGVirtualHandActor::BeginPlay()
(WristTracker->IsLeft() && VirtualHand->IsLeft())
|| (WristTracker->IsRight() && VirtualHand->IsRight()),
TEXT("The virtual hand component and the wrist tracker component do not track the same hand!"));
WristTracker->OnWristLocationChanged().AddWeakLambda(this, [&](const FVector& Location)-> void
{
VirtualHand->SetRelativeLocation(Location);
});
WristTracker->OnWristRotationChanged().AddWeakLambda(this, [&](const FRotator& Rotation)-> void
{
VirtualHand->SetRelativeRotation(Rotation);
});
}
void ASGVirtualHandActor::Tick(const float DeltaSeconds)
@@ -101,25 +101,25 @@ private:
*/
UPROPERTY(Config, EditAnywhere, Category = "Override Plugin Settings",
meta=(EditCondition="bOverridePluginWristTrackingSettings", EditConditionHides))
ESGPositionalTrackingHardware HardwareOffset;
ESGPositionalTrackingHardware TrackingHardware;
/**
* Valid only if HardwareOffset is set to Custom.
* Valid only if TrackingHardware is set to Custom.
*/
UPROPERTY(Config, EditAnywhere, Category = "Override Plugin Settings",
meta=(EditCondition=
"bOverridePluginWristTrackingSettings && HardwareOffset == ESGPositionalTrackingHardware::Custom",
"bOverridePluginWristTrackingSettings && TrackingHardware == ESGPositionalTrackingHardware::Custom",
EditConditionHides))
FVector HardwareLocationOffset;
FVector TrackingHardwareLocationOffset;
/**
* Valid only if HardwareOffset is set to Custom.
* Valid only if TrackingHardware is set to Custom.
*/
UPROPERTY(Config, EditAnywhere, Category = "Override Plugin Settings",
meta=(EditCondition=
"bOverridePluginWristTrackingSettings && HardwareOffset == ESGPositionalTrackingHardware::Custom",
"bOverridePluginWristTrackingSettings && TrackingHardware == ESGPositionalTrackingHardware::Custom",
EditConditionHides))
FRotator HardwareRotationOffset;
FRotator TrackingHardwareRotationOffset;
UPROPERTY(Config, EditAnywhere, Category = "Override Plugin Settings")
uint8 bOverridePluginWristTrackingDebugSettings : 1;
@@ -145,7 +145,7 @@ private:
UPROPERTY(Config, EditAnywhere, Category = "Override Plugin Settings",
meta=(EditCondition="bOverridePluginWristTrackingDebugSettings && bDrawDebugWristTrackerGizmo",
EditConditionHides))
FLinearColor DebugWristTrackerGizmoXAxisColor;
FColor DebugWristTrackerGizmoXAxisColor;
/**
* Valid only if bDrawDebugWristTrackerGizmo is enabled.
@@ -153,7 +153,7 @@ private:
UPROPERTY(Config, EditAnywhere, Category = "Override Plugin Settings",
meta=(EditCondition="bOverridePluginWristTrackingDebugSettings && bDrawDebugWristTrackerGizmo",
EditConditionHides))
FLinearColor DebugWristTrackerGizmoYAxisColor;
FColor DebugWristTrackerGizmoYAxisColor;
/**
* Valid only if bDrawDebugWristTrackerGizmo is enabled.
@@ -161,7 +161,7 @@ private:
UPROPERTY(Config, EditAnywhere, Category = "Override Plugin Settings",
meta=(EditCondition="bOverridePluginWristTrackingDebugSettings && bDrawDebugWristTrackerGizmo",
EditConditionHides))
FLinearColor DebugWristTrackerGizmoZAxisColor;
FColor DebugWristTrackerGizmoZAxisColor;
/**
* Valid only if bDrawDebugWristTrackerGizmo is enabled.
@@ -219,14 +219,14 @@ public:
bOverridePluginWristTrackingSettings = bInOverridePluginWristTrackingSettings;
}
ESGPositionalTrackingHardware GetHardwareOffset() const;
void SetHardwareOffset(ESGPositionalTrackingHardware InHardwareOffset);
ESGPositionalTrackingHardware GetTrackingHardware() const;
void SetTrackingHardware(ESGPositionalTrackingHardware InTrackingHardware);
const FVector& GetHardwareLocationOffset() const;
void SetHardwareLocationOffset(const FVector& InHardwareLocationOffset);
const FVector& GetTrackingHardwareLocationOffset() const;
void SetTrackingHardwareLocationOffset(const FVector& InTrackingHardwareLocationOffset);
const FRotator& GetHardwareRotationOffset() const;
void SetHardwareRotationOffset(const FRotator& InHardwareRotationOffset);
const FRotator& GetTrackingHardwareRotationOffset() const;
void SetTrackingHardwareRotationOffset(const FRotator& InTrackingHardwareRotationOffset);
FORCEINLINE bool OverridesPluginWristTrackingDebugSettings() const
{
@@ -244,14 +244,14 @@ public:
float GetDebugWristTrackerGizmoLength() const;
void SetDebugWristTrackerGizmoLength(float InDebugWristTrackerGizmoLength);
const FLinearColor& GetDebugWristTrackerGizmoXAxisColor() const;
void SetDebugWristTrackerGizmoXAxisColor(const FLinearColor& InDebugWristTrackerGizmoXAxisColor);
const FColor& GetDebugWristTrackerGizmoXAxisColor() const;
void SetDebugWristTrackerGizmoXAxisColor(const FColor& InDebugWristTrackerGizmoXAxisColor);
const FLinearColor& GetDebugWristTrackerGizmoYAxisColor() const;
void SetDebugWristTrackerGizmoYAxisColor(const FLinearColor& InDebugWristTrackerGizmoYAxisColor);
const FColor& GetDebugWristTrackerGizmoYAxisColor() const;
void SetDebugWristTrackerGizmoYAxisColor(const FColor& InDebugWristTrackerGizmoYAxisColor);
const FLinearColor& GetDebugWristTrackerGizmoZAxisColor() const;
void SetDebugWristTrackerGizmoZAxisColor(const FLinearColor& InDebugWristTrackerGizmoZAxisColor);
const FColor& GetDebugWristTrackerGizmoZAxisColor() const;
void SetDebugWristTrackerGizmoZAxisColor(const FColor& InDebugWristTrackerGizmoZAxisColor);
bool GetDebugWristTrackerGizmoPersistentLines() const;
void SetDebugWristTrackerGizmoPersistentLines(bool bInDebugWristTrackerGizmoPersistentLines);
@@ -277,6 +277,16 @@ public:
void SetRight(const bool bRight);
FORCEINLINE const FVector& GetWristLocation() const
{
return WristLocation;
}
FORCEINLINE const FRotator& GetWristRotation() const
{
return WristRotation;
}
public:
#if WITH_EDITOR
virtual void PostEditChangeProperty(FPropertyChangedEvent& PropertyChangedEvent) override;
@@ -49,40 +49,42 @@ void UWristTrackerComponentKismetLibrary::OverridePluginWristTrackingSettings(
WristTrackerComponent->OverridePluginWristTrackingSettings(bInOverridePluginWristTrackingSettings);
}
ESGPositionalTrackingHardware UWristTrackerComponentKismetLibrary::GetHardwareOffset(
ESGPositionalTrackingHardware UWristTrackerComponentKismetLibrary::GetTrackingHardware(
const USGWristTrackerComponent* WristTrackerComponent)
{
return WristTrackerComponent->GetHardwareOffset();
return WristTrackerComponent->GetTrackingHardware();
}
void UWristTrackerComponentKismetLibrary::SetHardwareOffset(USGWristTrackerComponent* WristTrackerComponent,
ESGPositionalTrackingHardware InHardwareOffset)
void UWristTrackerComponentKismetLibrary::SetTrackingHardware(
USGWristTrackerComponent* WristTrackerComponent, ESGPositionalTrackingHardware InTrackingHardware)
{
WristTrackerComponent->SetHardwareOffset(InHardwareOffset);
WristTrackerComponent->SetTrackingHardware(InTrackingHardware);
}
const FVector& UWristTrackerComponentKismetLibrary::GetHardwareLocationOffset(
const FVector& UWristTrackerComponentKismetLibrary::GetTrackingHardwareLocationOffset(
const USGWristTrackerComponent* WristTrackerComponent)
{
return WristTrackerComponent->GetHardwareLocationOffset();
return WristTrackerComponent->GetTrackingHardwareLocationOffset();
}
void UWristTrackerComponentKismetLibrary::SetHardwareLocationOffset(USGWristTrackerComponent* WristTrackerComponent,
const FVector& InHardwareLocationOffset)
void UWristTrackerComponentKismetLibrary::SetTrackingHardwareLocationOffset(
USGWristTrackerComponent* WristTrackerComponent,
const FVector& InTrackingHardwareLocationOffset)
{
WristTrackerComponent->SetHardwareLocationOffset(InHardwareLocationOffset);
WristTrackerComponent->SetTrackingHardwareLocationOffset(InTrackingHardwareLocationOffset);
}
const FRotator& UWristTrackerComponentKismetLibrary::GetHardwareRotationOffset(
const FRotator& UWristTrackerComponentKismetLibrary::GetTrackingHardwareRotationOffset(
const USGWristTrackerComponent* WristTrackerComponent)
{
return WristTrackerComponent->GetHardwareRotationOffset();
return WristTrackerComponent->GetTrackingHardwareRotationOffset();
}
void UWristTrackerComponentKismetLibrary::SetHardwareRotationOffset(USGWristTrackerComponent* WristTrackerComponent,
const FRotator& InHardwareRotationOffset)
void UWristTrackerComponentKismetLibrary::SetTrackingHardwareRotationOffset(
USGWristTrackerComponent* WristTrackerComponent,
const FRotator& InTrackingHardwareRotationOffset)
{
WristTrackerComponent->SetHardwareRotationOffset(InHardwareRotationOffset);
WristTrackerComponent->SetTrackingHardwareRotationOffset(InTrackingHardwareRotationOffset);
}
bool UWristTrackerComponentKismetLibrary::OverridesPluginWristTrackingDebugSettings(
@@ -103,8 +105,8 @@ bool UWristTrackerComponentKismetLibrary::GetDrawDebugWristTrackerGizmo(
return WristTrackerComponent->GetDrawDebugWristTrackerGizmo();
}
void UWristTrackerComponentKismetLibrary::SetDrawDebugWristTrackerGizmo(USGWristTrackerComponent* WristTrackerComponent,
const bool bInDrawDebugWristTrackerGizmo)
void UWristTrackerComponentKismetLibrary::SetDrawDebugWristTrackerGizmo(
USGWristTrackerComponent* WristTrackerComponent, const bool bInDrawDebugWristTrackerGizmo)
{
WristTrackerComponent->SetDrawDebugWristTrackerGizmo(bInDrawDebugWristTrackerGizmo);
}
@@ -121,38 +123,38 @@ void UWristTrackerComponentKismetLibrary::SetDebugWristTrackerGizmoLength(
WristTrackerComponent->SetDebugWristTrackerGizmoLength(InDebugWristTrackerGizmoLength);
}
const FLinearColor& UWristTrackerComponentKismetLibrary::GetDebugWristTrackerGizmoXAxisColor(
const FColor& UWristTrackerComponentKismetLibrary::GetDebugWristTrackerGizmoXAxisColor(
const USGWristTrackerComponent* WristTrackerComponent)
{
return WristTrackerComponent->GetDebugWristTrackerGizmoXAxisColor();
}
void UWristTrackerComponentKismetLibrary::SetDebugWristTrackerGizmoXAxisColor(
USGWristTrackerComponent* WristTrackerComponent, const FLinearColor& InDebugWristTrackerGizmoXAxisColor)
USGWristTrackerComponent* WristTrackerComponent, const FColor& InDebugWristTrackerGizmoXAxisColor)
{
WristTrackerComponent->SetDebugWristTrackerGizmoXAxisColor(InDebugWristTrackerGizmoXAxisColor);
}
const FLinearColor& UWristTrackerComponentKismetLibrary::GetDebugWristTrackerGizmoYAxisColor(
const FColor& UWristTrackerComponentKismetLibrary::GetDebugWristTrackerGizmoYAxisColor(
const USGWristTrackerComponent* WristTrackerComponent)
{
return WristTrackerComponent->GetDebugWristTrackerGizmoYAxisColor();
}
void UWristTrackerComponentKismetLibrary::SetDebugWristTrackerGizmoYAxisColor(
USGWristTrackerComponent* WristTrackerComponent, const FLinearColor& InDebugWristTrackerGizmoYAxisColor)
USGWristTrackerComponent* WristTrackerComponent, const FColor& InDebugWristTrackerGizmoYAxisColor)
{
WristTrackerComponent->SetDebugWristTrackerGizmoYAxisColor(InDebugWristTrackerGizmoYAxisColor);
}
const FLinearColor& UWristTrackerComponentKismetLibrary::GetDebugWristTrackerGizmoZAxisColor(
const FColor& UWristTrackerComponentKismetLibrary::GetDebugWristTrackerGizmoZAxisColor(
const USGWristTrackerComponent* WristTrackerComponent)
{
return WristTrackerComponent->GetDebugWristTrackerGizmoZAxisColor();
}
void UWristTrackerComponentKismetLibrary::SetDebugWristTrackerGizmoZAxisColor(
USGWristTrackerComponent* WristTrackerComponent, const FLinearColor& InDebugWristTrackerGizmoZAxisColor)
USGWristTrackerComponent* WristTrackerComponent, const FColor& InDebugWristTrackerGizmoZAxisColor)
{
WristTrackerComponent->SetDebugWristTrackerGizmoZAxisColor(InDebugWristTrackerGizmoZAxisColor);
}
@@ -200,7 +202,7 @@ float UWristTrackerComponentKismetLibrary::GetDebugWristTrackerGizmoThickness(
}
void UWristTrackerComponentKismetLibrary::SetDebugWristTrackerGizmoThickness(
USGWristTrackerComponent* WristTrackerComponent, float InDebugWristTrackerGizmoThickness)
USGWristTrackerComponent* WristTrackerComponent, const float InDebugWristTrackerGizmoThickness)
{
WristTrackerComponent->SetDebugWristTrackerGizmoThickness(InDebugWristTrackerGizmoThickness);
}
@@ -215,8 +217,20 @@ bool UWristTrackerComponentKismetLibrary::IsRight(const USGWristTrackerComponent
return WristTrackerComponent->IsRight();
}
void UWristTrackerComponentKismetLibrary::SetRight(USGWristTrackerComponent* WristTrackerComponent,
const bool bInRight)
void UWristTrackerComponentKismetLibrary::SetRight(
USGWristTrackerComponent* WristTrackerComponent, const bool bInRight)
{
WristTrackerComponent->SetRight(bInRight);
}
const FVector& UWristTrackerComponentKismetLibrary::GetWristLocation(
const USGWristTrackerComponent* WristTrackerComponent)
{
return WristTrackerComponent->GetWristLocation();
}
const FRotator& UWristTrackerComponentKismetLibrary::GetWristRotation(
const USGWristTrackerComponent* WristTrackerComponent)
{
return WristTrackerComponent->GetWristRotation();
}
@@ -61,25 +61,25 @@ public:
bool bInOverridePluginWristTrackingSettings);
UFUNCTION(BlueprintPure, Category="SenseGlove | Components | Wrist Tracker Component")
static ESGPositionalTrackingHardware GetHardwareOffset(const USGWristTrackerComponent* WristTrackerComponent);
static ESGPositionalTrackingHardware GetTrackingHardware(const USGWristTrackerComponent* WristTrackerComponent);
UFUNCTION(BlueprintCallable, Category="SenseGlove | Components | Wrist Tracker Component")
static void SetHardwareOffset(UPARAM(ref) USGWristTrackerComponent* WristTrackerComponent,
ESGPositionalTrackingHardware InHardwareOffset);
static void SetTrackingHardware(UPARAM(ref) USGWristTrackerComponent* WristTrackerComponent,
ESGPositionalTrackingHardware InTrackingHardware);
UFUNCTION(BlueprintPure, Category="SenseGlove | Components | Wrist Tracker Component")
static const FVector& GetHardwareLocationOffset(const USGWristTrackerComponent* WristTrackerComponent);
static const FVector& GetTrackingHardwareLocationOffset(const USGWristTrackerComponent* WristTrackerComponent);
UFUNCTION(BlueprintCallable, Category="SenseGlove | Components | Wrist Tracker Component")
static void SetHardwareLocationOffset(UPARAM(ref) USGWristTrackerComponent* WristTrackerComponent,
const FVector& InHardwareLocationOffset);
static void SetTrackingHardwareLocationOffset(UPARAM(ref) USGWristTrackerComponent* WristTrackerComponent,
const FVector& InTrackingHardwareLocationOffset);
UFUNCTION(BlueprintPure, Category="SenseGlove | Components | Wrist Tracker Component")
static const FRotator& GetHardwareRotationOffset(const USGWristTrackerComponent* WristTrackerComponent);
static const FRotator& GetTrackingHardwareRotationOffset(const USGWristTrackerComponent* WristTrackerComponent);
UFUNCTION(BlueprintCallable, Category="SenseGlove | Components | Wrist Tracker Component")
static void SetHardwareRotationOffset(UPARAM(ref) USGWristTrackerComponent* WristTrackerComponent,
const FRotator& InHardwareRotationOffset);
static void SetTrackingHardwareRotationOffset(UPARAM(ref) USGWristTrackerComponent* WristTrackerComponent,
const FRotator& InTrackingHardwareRotationOffset);
UFUNCTION(BlueprintPure, Category="SenseGlove | Components | Wrist Tracker Component")
static bool OverridesPluginWristTrackingDebugSettings(const USGWristTrackerComponent* WristTrackerComponent);
@@ -103,28 +103,28 @@ public:
float InDebugWristTrackerGizmoLength);
UFUNCTION(BlueprintPure, Category="SenseGlove | Components | Wrist Tracker Component")
static const FLinearColor& GetDebugWristTrackerGizmoXAxisColor(
static const FColor& GetDebugWristTrackerGizmoXAxisColor(
const USGWristTrackerComponent* WristTrackerComponent);
UFUNCTION(BlueprintCallable, Category="SenseGlove | Components | Wrist Tracker Component")
static void SetDebugWristTrackerGizmoXAxisColor(UPARAM(ref) USGWristTrackerComponent* WristTrackerComponent,
const FLinearColor& InDebugWristTrackerGizmoXAxisColor);
const FColor& InDebugWristTrackerGizmoXAxisColor);
UFUNCTION(BlueprintPure, Category="SenseGlove | Components | Wrist Tracker Component")
static const FLinearColor& GetDebugWristTrackerGizmoYAxisColor(
static const FColor& GetDebugWristTrackerGizmoYAxisColor(
const USGWristTrackerComponent* WristTrackerComponent);
UFUNCTION(BlueprintCallable, Category="SenseGlove | Components | Wrist Tracker Component")
static void SetDebugWristTrackerGizmoYAxisColor(UPARAM(ref) USGWristTrackerComponent* WristTrackerComponent,
const FLinearColor& InDebugWristTrackerGizmoYAxisColor);
const FColor& InDebugWristTrackerGizmoYAxisColor);
UFUNCTION(BlueprintPure, Category="SenseGlove | Components | Wrist Tracker Component")
static const FLinearColor& GetDebugWristTrackerGizmoZAxisColor(
static const FColor& GetDebugWristTrackerGizmoZAxisColor(
const USGWristTrackerComponent* WristTrackerComponent);
UFUNCTION(BlueprintCallable, Category="SenseGlove | Components | Wrist Tracker Component")
static void SetDebugWristTrackerGizmoZAxisColor(UPARAM(ref) USGWristTrackerComponent* WristTrackerComponent,
const FLinearColor& InDebugWristTrackerGizmoZAxisColor);
const FColor& InDebugWristTrackerGizmoZAxisColor);
UFUNCTION(BlueprintPure, Category="SenseGlove | Components | Wrist Tracker Component")
static bool GetDebugWristTrackerGizmoPersistentLines(const USGWristTrackerComponent* WristTrackerComponent);
@@ -162,4 +162,10 @@ public:
UFUNCTION(BlueprintCallable, Category="SenseGlove | Components | Wrist Tracker Component")
static void SetRight(UPARAM(ref) USGWristTrackerComponent* WristTrackerComponent, bool bInRight);
UFUNCTION(BlueprintCallable, Category="SenseGlove | Components | Wrist Tracker Component")
static const FVector& GetWristLocation(const USGWristTrackerComponent* WristTrackerComponent);
UFUNCTION(BlueprintCallable, Category="SenseGlove | Components | Wrist Tracker Component")
static const FRotator& GetWristRotation(const USGWristTrackerComponent* WristTrackerComponent);
};
@@ -70,7 +70,7 @@ struct USGSettings::FImpl
* Methods
************************/
void ResetHardwareOffsetValuesToZero();
void ResetTrackingHardwareValuesToZero();
};
USGSettings* USGSettings::GetInstance()
@@ -82,90 +82,100 @@ USGSettings* USGSettings::GetInstance()
USGSettings::USGSettings()
: Pimpl(TUniquePtr<FImpl, FImplDeleter>(new FImpl{this}, PimplDeleter))
{
HardwareOffset = ESGPositionalTrackingHardware::None;
TrackingHardware = ESGPositionalTrackingHardware::None;
Pimpl->ResetHardwareOffsetValuesToZero();
Pimpl->ResetTrackingHardwareValuesToZero();
bDrawDebugWristTrackerGizmo = false;
HardwareOffset = ESGPositionalTrackingHardware::None;
HardwareLocationOffsetLeftHand = FVector::ZeroVector;
HardwareLocationOffsetRightHand = FVector::ZeroVector;
HardwareRotationOffsetLeftHand = FRotator::ZeroRotator;
HardwareRotationOffsetRightHand = FRotator::ZeroRotator;
TrackingHardware = ESGPositionalTrackingHardware::None;
TrackingHardwareLocationOffsetLeftHand = FVector::ZeroVector;
TrackingHardwareLocationOffsetRightHand = FVector::ZeroVector;
TrackingHardwareRotationOffsetLeftHand = FRotator::ZeroRotator;
TrackingHardwareRotationOffsetRightHand = FRotator::ZeroRotator;
bDrawDebugWristTrackerGizmo = false;
DebugWristTrackerGizmoLength = 1.0f;
DebugWristTrackerGizmoXAxisColor = FColor::Red;
DebugWristTrackerGizmoYAxisColor = FColor::Green;
DebugWristTrackerGizmoZAxisColor = FColor::Blue;
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;
}
const FVector& USGSettings::GetHardwareLocationOffsetLeftHand() const
const FVector& USGSettings::GetTrackingHardwareLocationOffsetLeftHand() const
{
ensureAlwaysMsgf(
HardwareOffset == ESGPositionalTrackingHardware::Custom,
TEXT( "Getting HardwareLocationOffsetLeftHand is only permitted when HardwareOffset is set to Custom!"));
return HardwareLocationOffsetLeftHand;
TrackingHardware == ESGPositionalTrackingHardware::Custom,
TEXT( "Getting TrackingHardwareLocationOffsetLeftHand is only permitted when TrackingHardware is set to"
" Custom!"));
return TrackingHardwareLocationOffsetLeftHand;
}
void USGSettings::SetHardwareLocationOffsetLeftHand(const FVector& InHardwareLocationOffsetLeftHand)
void USGSettings::SetTrackingHardwareLocationOffsetLeftHand(const FVector& InTrackingHardwareLocationOffsetLeftHand)
{
ensureAlwaysMsgf(
HardwareOffset == ESGPositionalTrackingHardware::Custom,
TEXT( "Setting HardwareLocationOffsetLeftHand is only permitted when HardwareOffset is set to Custom!"));
HardwareLocationOffsetLeftHand = InHardwareLocationOffsetLeftHand;
TrackingHardware == ESGPositionalTrackingHardware::Custom,
TEXT( "Setting TrackingHardwareLocationOffsetLeftHand is only permitted when TrackingHardware is set to"
" Custom!"));
TrackingHardwareLocationOffsetLeftHand = InTrackingHardwareLocationOffsetLeftHand;
}
const FVector& USGSettings::GetHardwareLocationOffsetRightHand() const
const FVector& USGSettings::GetTrackingHardwareLocationOffsetRightHand() const
{
ensureAlwaysMsgf(
HardwareOffset == ESGPositionalTrackingHardware::Custom,
TEXT( "Getting HardwareLocationOffsetRightHand is only permitted when HardwareOffset is set to Custom!"));
return HardwareLocationOffsetRightHand;
TrackingHardware == ESGPositionalTrackingHardware::Custom,
TEXT( "Getting TrackingHardwareLocationOffsetRightHand is only permitted when TrackingHardware is set to"
" Custom!"));
return TrackingHardwareLocationOffsetRightHand;
}
void USGSettings::SetHardwareLocationOffsetRightHand(const FVector& InHardwareLocationOffsetRightHand)
void USGSettings::SetTrackingHardwareLocationOffsetRightHand(const FVector& InTrackingHardwareLocationOffsetRightHand)
{
ensureAlwaysMsgf(
HardwareOffset == ESGPositionalTrackingHardware::Custom,
TEXT( "Setting HardwareLocationOffsetRightHand is only permitted when HardwareOffset is set to Custom!"));
HardwareLocationOffsetRightHand = InHardwareLocationOffsetRightHand;
TrackingHardware == ESGPositionalTrackingHardware::Custom,
TEXT( "Setting TrackingHardwareLocationOffsetRightHand is only permitted when TrackingHardware is set to"
" Custom!"));
TrackingHardwareLocationOffsetRightHand = InTrackingHardwareLocationOffsetRightHand;
}
const FRotator& USGSettings::GetHardwareRotationOffsetLeftHand() const
const FRotator& USGSettings::GetTrackingHardwareRotationOffsetLeftHand() const
{
ensureAlwaysMsgf(
HardwareOffset == ESGPositionalTrackingHardware::Custom,
TEXT( "Getting HardwareRotationOffsetLeftHand is only permitted when HardwareOffset is set to Custom!"));
return HardwareRotationOffsetLeftHand;
TrackingHardware == ESGPositionalTrackingHardware::Custom,
TEXT( "Getting TrackingHardwareRotationOffsetLeftHand is only permitted when TrackingHardware is set to"
" Custom!"));
return TrackingHardwareRotationOffsetLeftHand;
}
void USGSettings::SetHardwareRotationOffsetLeftHand(const FRotator& InHardwareRotationOffsetLeftHand)
void USGSettings::SetTrackingHardwareRotationOffsetLeftHand(
const FRotator& InTrackingHardwareRotationOffsetLeftHand)
{
ensureAlwaysMsgf(
HardwareOffset == ESGPositionalTrackingHardware::Custom,
TEXT("Setting HardwareRotationOffsetRightHand is only permitted when HardwareOffset is set to Custom!"));
HardwareRotationOffsetLeftHand = InHardwareRotationOffsetLeftHand;
TrackingHardware == ESGPositionalTrackingHardware::Custom,
TEXT("Setting TrackingHardwareRotationOffsetRightHand is only permitted when TrackingHardware is set to"
" Custom!"));
TrackingHardwareRotationOffsetLeftHand = InTrackingHardwareRotationOffsetLeftHand;
}
const FRotator& USGSettings::GetHardwareRotationOffsetRightHand() const
const FRotator& USGSettings::GetTrackingHardwareRotationOffsetRightHand() const
{
ensureAlwaysMsgf(
HardwareOffset == ESGPositionalTrackingHardware::Custom,
TEXT("Getting HardwareRotationOffsetRightHand is only permitted when HardwareOffset is set to Custom!"));
return HardwareRotationOffsetRightHand;
TrackingHardware == ESGPositionalTrackingHardware::Custom,
TEXT("Getting TrackingHardwareRotationOffsetRightHand is only permitted when TrackingHardware is set to"
" Custom!"));
return TrackingHardwareRotationOffsetRightHand;
}
void USGSettings::SetHardwareRotationOffsetRightHand(const FRotator& InHardwareRotationOffsetRightHand)
void USGSettings::SetTrackingHardwareRotationOffsetRightHand(
const FRotator& InTrackingHardwareRotationOffsetRightHand)
{
ensureAlwaysMsgf(
HardwareOffset == ESGPositionalTrackingHardware::Custom,
TEXT("Setting HardwareRotationOffsetRightHand is only permitted when HardwareOffset is set to Custom!"));
HardwareRotationOffsetRightHand = InHardwareRotationOffsetRightHand;
TrackingHardware == ESGPositionalTrackingHardware::Custom,
TEXT("Setting TrackingHardwareRotationOffsetRightHand is only permitted when TrackingHardware is set to"
" Custom!"));
TrackingHardwareRotationOffsetRightHand = InTrackingHardwareRotationOffsetRightHand;
}
float USGSettings::GetDebugWristTrackerGizmoLength() const
@@ -184,7 +194,7 @@ void USGSettings::SetDebugWristTrackerGizmoLength(const float InDebugWristTracke
DebugWristTrackerGizmoLength = InDebugWristTrackerGizmoLength;
}
const FLinearColor& USGSettings::GetDebugWristTrackerGizmoXAxisColor() const
const FColor& USGSettings::GetDebugWristTrackerGizmoXAxisColor() const
{
ensureAlwaysMsgf(
GetDrawDebugWristTrackerGizmo(),
@@ -193,7 +203,7 @@ const FLinearColor& USGSettings::GetDebugWristTrackerGizmoXAxisColor() const
return DebugWristTrackerGizmoXAxisColor;
}
void USGSettings::SetDebugWristTrackerGizmoXAxisColor(const FLinearColor& InDebugWristTrackerGizmoXAxisColor)
void USGSettings::SetDebugWristTrackerGizmoXAxisColor(const FColor& InDebugWristTrackerGizmoXAxisColor)
{
ensureAlwaysMsgf(
GetDrawDebugWristTrackerGizmo(),
@@ -202,7 +212,7 @@ void USGSettings::SetDebugWristTrackerGizmoXAxisColor(const FLinearColor& InDebu
DebugWristTrackerGizmoXAxisColor = InDebugWristTrackerGizmoXAxisColor;
}
const FLinearColor& USGSettings::GetDebugWristTrackerGizmoYAxisColor() const
const FColor& USGSettings::GetDebugWristTrackerGizmoYAxisColor() const
{
ensureAlwaysMsgf(
GetDrawDebugWristTrackerGizmo(),
@@ -211,7 +221,7 @@ const FLinearColor& USGSettings::GetDebugWristTrackerGizmoYAxisColor() const
return DebugWristTrackerGizmoXAxisColor;
}
void USGSettings::SetDebugWristTrackerGizmoYAxisColor(const FLinearColor& InDebugWristTrackerGizmoYAxisColor)
void USGSettings::SetDebugWristTrackerGizmoYAxisColor(const FColor& InDebugWristTrackerGizmoYAxisColor)
{
ensureAlwaysMsgf(
GetDrawDebugWristTrackerGizmo(),
@@ -220,7 +230,7 @@ void USGSettings::SetDebugWristTrackerGizmoYAxisColor(const FLinearColor& InDebu
DebugWristTrackerGizmoYAxisColor = InDebugWristTrackerGizmoYAxisColor;
}
const FLinearColor& USGSettings::GetDebugWristTrackerGizmoZAxisColor() const
const FColor& USGSettings::GetDebugWristTrackerGizmoZAxisColor() const
{
ensureAlwaysMsgf(
GetDrawDebugWristTrackerGizmo(),
@@ -229,7 +239,7 @@ const FLinearColor& USGSettings::GetDebugWristTrackerGizmoZAxisColor() const
return DebugWristTrackerGizmoZAxisColor;
}
void USGSettings::SetDebugWristTrackerGizmoZAxisColor(const FLinearColor& InDebugWristTrackerGizmoZAxisColor)
void USGSettings::SetDebugWristTrackerGizmoZAxisColor(const FColor& InDebugWristTrackerGizmoZAxisColor)
{
ensureAlwaysMsgf(
GetDrawDebugWristTrackerGizmo(),
@@ -343,9 +353,9 @@ bool USGSettings::CanEditChange(const FProperty* InProperty) const
/*const FName PropertyName{InProperty ? InProperty->GetFName() : NAME_None};
if (PropertyName == GET_MEMBER_NAME_CHECKED(USGSettings, HardwareOffset))
if (PropertyName == GET_MEMBER_NAME_CHECKED(USGSettings, TrackingHardware))
{
return HardwareOffset == ESGPositionalTrackingHardware::Custom;
return TrackingHardware == ESGPositionalTrackingHardware::Custom;
}*/
return bCanEditChange;
@@ -363,9 +373,9 @@ void USGSettings::PostEditChangeProperty(FPropertyChangedEvent& PropertyChangedE
: NAME_None
};
if (PropertyName == GET_MEMBER_NAME_CHECKED(USGSettings, HardwareOffset))
if (PropertyName == GET_MEMBER_NAME_CHECKED(USGSettings, TrackingHardware))
{
Pimpl->ResetHardwareOffsetValuesToZero();
Pimpl->ResetTrackingHardwareValuesToZero();
return;
}
}
@@ -378,12 +388,12 @@ USGSettings::FImpl::FImpl(USGSettings* InOwner)
USGSettings::FImpl::~FImpl() = default;
void USGSettings::FImpl::ResetHardwareOffsetValuesToZero()
void USGSettings::FImpl::ResetTrackingHardwareValuesToZero()
{
Owner->HardwareLocationOffsetLeftHand = FVector::ZeroVector;
Owner->HardwareLocationOffsetRightHand = FVector::ZeroVector;
Owner->HardwareRotationOffsetLeftHand = FRotator::ZeroRotator;
Owner->HardwareRotationOffsetRightHand = FRotator::ZeroRotator;
Owner->TrackingHardwareLocationOffsetLeftHand = FVector::ZeroVector;
Owner->TrackingHardwareLocationOffsetRightHand = FVector::ZeroVector;
Owner->TrackingHardwareRotationOffsetLeftHand = FRotator::ZeroRotator;
Owner->TrackingHardwareRotationOffsetRightHand = FRotator::ZeroRotator;
}
void USGSettings::FImplDeleter::operator()(const FImpl* P) const
@@ -70,35 +70,35 @@ private:
* If set to Custom, any desired location and rotation can be specified.
*/
UPROPERTY(Config, EditDefaultsOnly, Category = "Wrist Tracking")
ESGPositionalTrackingHardware HardwareOffset;
ESGPositionalTrackingHardware TrackingHardware;
/**
* Valid only if HardwareOffset is set to Custom.
* Valid only if TrackingHardware is set to Custom.
*/
UPROPERTY(Config, EditDefaultsOnly, Category = "Wrist Tracking",
meta=(EditCondition="HardwareOffset == ESGPositionalTrackingHardware::Custom", EditConditionHides))
FVector HardwareLocationOffsetLeftHand;
meta=(EditCondition="TrackingHardware == ESGPositionalTrackingHardware::Custom", EditConditionHides))
FVector TrackingHardwareLocationOffsetLeftHand;
/**
* Valid only if HardwareOffset is set to Custom.
* Valid only if TrackingHardware is set to Custom.
*/
UPROPERTY(Config, EditDefaultsOnly, Category = "Wrist Tracking",
meta=(EditCondition="HardwareOffset == ESGPositionalTrackingHardware::Custom", EditConditionHides))
FVector HardwareLocationOffsetRightHand;
meta=(EditCondition="TrackingHardware == ESGPositionalTrackingHardware::Custom", EditConditionHides))
FVector TrackingHardwareLocationOffsetRightHand;
/**
* Valid only if HardwareOffset is set to Custom.
* Valid only if TrackingHardware is set to Custom.
*/
UPROPERTY(Config, EditDefaultsOnly, Category = "Wrist Tracking",
meta=(EditCondition="HardwareOffset == ESGPositionalTrackingHardware::Custom", EditConditionHides))
FRotator HardwareRotationOffsetLeftHand;
meta=(EditCondition="TrackingHardware == ESGPositionalTrackingHardware::Custom", EditConditionHides))
FRotator TrackingHardwareRotationOffsetLeftHand;
/**
* Valid only if HardwareOffset is set to Custom.
* Valid only if TrackingHardware is set to Custom.
*/
UPROPERTY(Config, EditDefaultsOnly, Category = "Wrist Tracking",
meta=(EditCondition="hardwareoffset == esgpositionaltrackinghardware::custom", EditConditionHides))
FRotator HardwareRotationOffsetRightHand;
meta=(EditCondition="TrackingHardware == ESGPositionalTrackingHardware::Custom", EditConditionHides))
FRotator TrackingHardwareRotationOffsetRightHand;
/**
* If enabled, draws debug Wrist trackers where possible.
@@ -118,21 +118,21 @@ private:
*/
UPROPERTY(Config, EditDefaultsOnly, Category = "Wrist Tracking Debug",
meta=(EditCondition="bDrawDebugWristTrackerGizmo", EditConditionHides))
FLinearColor DebugWristTrackerGizmoXAxisColor;
FColor DebugWristTrackerGizmoXAxisColor;
/**
* Valid only if bDrawDebugWristTrackerGizmo is enabled.
*/
UPROPERTY(Config, EditDefaultsOnly, Category = "Wrist Tracking Debug",
meta=(EditCondition="bDrawDebugWristTrackerGizmo", EditConditionHides))
FLinearColor DebugWristTrackerGizmoYAxisColor;
FColor DebugWristTrackerGizmoYAxisColor;
/**
* Valid only if bDrawDebugWristTrackerGizmo is enabled.
*/
UPROPERTY(Config, EditDefaultsOnly, Category = "Wrist Tracking Debug",
meta=(EditCondition="bDrawDebugWristTrackerGizmo", EditConditionHides))
FLinearColor DebugWristTrackerGizmoZAxisColor;
FColor DebugWristTrackerGizmoZAxisColor;
/**
* Valid only if bDrawDebugWristTrackerGizmo is enabled.
@@ -166,27 +166,27 @@ public:
USGSettings();
public:
FORCEINLINE ESGPositionalTrackingHardware GetHardwareOffset() const
FORCEINLINE ESGPositionalTrackingHardware GetTrackingHardware() const
{
return HardwareOffset;
return TrackingHardware;
}
FORCEINLINE void SetHardwareOffset(const ESGPositionalTrackingHardware InHardwareOffset)
FORCEINLINE void SetTrackingHardware(const ESGPositionalTrackingHardware InTrackingHardware)
{
HardwareOffset = InHardwareOffset;
TrackingHardware = InTrackingHardware;
}
const FVector& GetHardwareLocationOffsetLeftHand() const;
void SetHardwareLocationOffsetLeftHand(const FVector& InHardwareLocationOffsetLeftHand);
const FVector& GetTrackingHardwareLocationOffsetLeftHand() const;
void SetTrackingHardwareLocationOffsetLeftHand(const FVector& InTrackingHardwareLocationOffsetLeftHand);
const FVector& GetHardwareLocationOffsetRightHand() const;
void SetHardwareLocationOffsetRightHand(const FVector& InHardwareLocationOffsetRightHand);
const FVector& GetTrackingHardwareLocationOffsetRightHand() const;
void SetTrackingHardwareLocationOffsetRightHand(const FVector& InTrackingHardwareLocationOffsetRightHand);
const FRotator& GetHardwareRotationOffsetLeftHand() const;
void SetHardwareRotationOffsetLeftHand(const FRotator& InHardwareRotationOffsetLeftHand);
const FRotator& GetTrackingHardwareRotationOffsetLeftHand() const;
void SetTrackingHardwareRotationOffsetLeftHand(const FRotator& InTrackingHardwareRotationOffsetLeftHand);
const FRotator& GetHardwareRotationOffsetRightHand() const;
void SetHardwareRotationOffsetRightHand(const FRotator& InHardwareRotationOffsetRightHand);
const FRotator& GetTrackingHardwareRotationOffsetRightHand() const;
void SetTrackingHardwareRotationOffsetRightHand(const FRotator& InTrackingHardwareRotationOffsetRightHand);
FORCEINLINE bool GetDrawDebugWristTrackerGizmo() const
{
@@ -201,14 +201,14 @@ public:
float GetDebugWristTrackerGizmoLength() const;
void SetDebugWristTrackerGizmoLength(float InDebugWristTrackerGizmoLength);
const FLinearColor& GetDebugWristTrackerGizmoXAxisColor() const;
void SetDebugWristTrackerGizmoXAxisColor(const FLinearColor& InDebugWristTrackerGizmoXAxisColor);
const FColor& GetDebugWristTrackerGizmoXAxisColor() const;
void SetDebugWristTrackerGizmoXAxisColor(const FColor& InDebugWristTrackerGizmoXAxisColor);
const FLinearColor& GetDebugWristTrackerGizmoYAxisColor() const;
void SetDebugWristTrackerGizmoYAxisColor(const FLinearColor& InDebugWristTrackerGizmoYAxisColor);
const FColor& GetDebugWristTrackerGizmoYAxisColor() const;
void SetDebugWristTrackerGizmoYAxisColor(const FColor& InDebugWristTrackerGizmoYAxisColor);
const FLinearColor& GetDebugWristTrackerGizmoZAxisColor() const;
void SetDebugWristTrackerGizmoZAxisColor(const FLinearColor& InDebugWristTrackerGizmoZAxisColor);
const FColor& GetDebugWristTrackerGizmoZAxisColor() const;
void SetDebugWristTrackerGizmoZAxisColor(const FColor& InDebugWristTrackerGizmoZAxisColor);
bool GetDebugWristTrackerGizmoPersistentLines() const;
void SetDebugWristTrackerGizmoPersistentLines(bool bInDebugWristTrackerGizmoPersistentLines);
@@ -42,59 +42,59 @@ USGSettings* USGSettingsKismetLibrary::GetInstance()
return USGSettings::GetInstance();
}
ESGPositionalTrackingHardware USGSettingsKismetLibrary::GetHardwareOffset(const USGSettings* Settings)
ESGPositionalTrackingHardware USGSettingsKismetLibrary::GetTrackingHardware(const USGSettings* Settings)
{
return Settings->GetHardwareOffset();
return Settings->GetTrackingHardware();
}
void USGSettingsKismetLibrary::SetHardwareOffset(
USGSettings* Settings, const ESGPositionalTrackingHardware InHardwareOffset)
void USGSettingsKismetLibrary::SetTrackingHardware(
USGSettings* Settings, const ESGPositionalTrackingHardware InTrackingHardware)
{
Settings->SetHardwareOffset(InHardwareOffset);
Settings->SetTrackingHardware(InTrackingHardware);
}
const FVector& USGSettingsKismetLibrary::GetHardwareLocationOffsetLeftHand(const USGSettings* Settings)
const FVector& USGSettingsKismetLibrary::GetTrackingHardwareLocationOffsetLeftHand(const USGSettings* Settings)
{
return Settings->GetHardwareLocationOffsetLeftHand();
return Settings->GetTrackingHardwareLocationOffsetLeftHand();
}
void USGSettingsKismetLibrary::SetHardwareLocationOffsetLeftHand(
USGSettings* Settings, const FVector& InHardwareLocationOffsetLeftHand)
void USGSettingsKismetLibrary::SetTrackingHardwareLocationOffsetLeftHand(
USGSettings* Settings, const FVector& InTrackingHardwareLocationOffsetLeftHand)
{
Settings->SetHardwareLocationOffsetLeftHand(InHardwareLocationOffsetLeftHand);
Settings->SetTrackingHardwareLocationOffsetLeftHand(InTrackingHardwareLocationOffsetLeftHand);
}
const FVector& USGSettingsKismetLibrary::GetHardwareLocationOffsetRightHand(const USGSettings* Settings)
const FVector& USGSettingsKismetLibrary::GetTrackingHardwareLocationOffsetRightHand(const USGSettings* Settings)
{
return Settings->GetHardwareLocationOffsetRightHand();
return Settings->GetTrackingHardwareLocationOffsetRightHand();
}
void USGSettingsKismetLibrary::SetHardwareLocationOffsetRightHand(
USGSettings* Settings, const FVector& InHardwareLocationOffsetRightHand)
void USGSettingsKismetLibrary::SetTrackingHardwareLocationOffsetRightHand(
USGSettings* Settings, const FVector& InTrackingHardwareLocationOffsetRightHand)
{
Settings->SetHardwareLocationOffsetRightHand(InHardwareLocationOffsetRightHand);
Settings->SetTrackingHardwareLocationOffsetRightHand(InTrackingHardwareLocationOffsetRightHand);
}
const FRotator& USGSettingsKismetLibrary::GetHardwareRotationOffsetLeftHand(const USGSettings* Settings)
const FRotator& USGSettingsKismetLibrary::GetTrackingHardwareRotationOffsetLeftHand(const USGSettings* Settings)
{
return Settings->GetHardwareRotationOffsetLeftHand();
return Settings->GetTrackingHardwareRotationOffsetLeftHand();
}
void USGSettingsKismetLibrary::SetHardwareRotationOffsetLeftHand(
USGSettings* Settings, const FRotator& InHardwareRotationOffsetLeftHand)
void USGSettingsKismetLibrary::SetTrackingHardwareRotationOffsetLeftHand(
USGSettings* Settings, const FRotator& InTrackingHardwareRotationOffsetLeftHand)
{
Settings->SetHardwareRotationOffsetLeftHand(InHardwareRotationOffsetLeftHand);
Settings->SetTrackingHardwareRotationOffsetLeftHand(InTrackingHardwareRotationOffsetLeftHand);
}
const FRotator& USGSettingsKismetLibrary::GetHardwareRotationOffsetRightHand(const USGSettings* Settings)
const FRotator& USGSettingsKismetLibrary::GetTrackingHardwareRotationOffsetRightHand(const USGSettings* Settings)
{
return Settings->GetHardwareRotationOffsetRightHand();
return Settings->GetTrackingHardwareRotationOffsetRightHand();
}
void USGSettingsKismetLibrary::SetHardwareRotationOffsetRightHand(
USGSettings* Settings, const FRotator& InHardwareRotationOffsetRightHand)
void USGSettingsKismetLibrary::SetTrackingHardwareRotationOffsetRightHand(
USGSettings* Settings, const FRotator& InTrackingHardwareRotationOffsetRightHand)
{
Settings->SetHardwareRotationOffsetRightHand(InHardwareRotationOffsetRightHand);
Settings->SetTrackingHardwareRotationOffsetRightHand(InTrackingHardwareRotationOffsetRightHand);
}
bool USGSettingsKismetLibrary::GetDrawDebugWristTrackerGizmo(const USGSettings* Settings)
@@ -102,8 +102,8 @@ bool USGSettingsKismetLibrary::GetDrawDebugWristTrackerGizmo(const USGSettings*
return Settings->GetDrawDebugWristTrackerGizmo();
}
void USGSettingsKismetLibrary::SetDrawDebugWristTrackerGizmo(USGSettings* Settings,
const bool bInDrawDebugWristTrackerGizmo)
void USGSettingsKismetLibrary::SetDrawDebugWristTrackerGizmo(
USGSettings* Settings, const bool bInDrawDebugWristTrackerGizmo)
{
Settings->SetDrawDebugWristTrackerGizmo(bInDrawDebugWristTrackerGizmo);
}
@@ -113,41 +113,41 @@ float USGSettingsKismetLibrary::GetDebugWristTrackerGizmoLength(const USGSetting
return Settings->GetDebugWristTrackerGizmoLength();
}
void USGSettingsKismetLibrary::SetDebugWristTrackerGizmoLength(USGSettings* Settings,
const float InDebugWristTrackerGizmoLength)
void USGSettingsKismetLibrary::SetDebugWristTrackerGizmoLength(
USGSettings* Settings, const float InDebugWristTrackerGizmoLength)
{
Settings->SetDebugWristTrackerGizmoLength(InDebugWristTrackerGizmoLength);
}
const FLinearColor& USGSettingsKismetLibrary::GetDebugWristTrackerGizmoXAxisColor(const USGSettings* Settings)
const FColor& USGSettingsKismetLibrary::GetDebugWristTrackerGizmoXAxisColor(const USGSettings* Settings)
{
return Settings->GetDebugWristTrackerGizmoXAxisColor();
}
void USGSettingsKismetLibrary::SetDebugWristTrackerGizmoXAxisColor(
USGSettings* Settings, const FLinearColor& InDebugWristTrackerGizmoXAxisColor)
USGSettings* Settings, const FColor& InDebugWristTrackerGizmoXAxisColor)
{
Settings->SetDebugWristTrackerGizmoXAxisColor(InDebugWristTrackerGizmoXAxisColor);
}
const FLinearColor& USGSettingsKismetLibrary::GetDebugWristTrackerGizmoYAxisColor(const USGSettings* Settings)
const FColor& USGSettingsKismetLibrary::GetDebugWristTrackerGizmoYAxisColor(const USGSettings* Settings)
{
return Settings->GetDebugWristTrackerGizmoYAxisColor();
}
void USGSettingsKismetLibrary::SetDebugWristTrackerGizmoYAxisColor(
USGSettings* Settings, const FLinearColor& InDebugWristTrackerGizmoYAxisColor)
USGSettings* Settings, const FColor& InDebugWristTrackerGizmoYAxisColor)
{
Settings->SetDebugWristTrackerGizmoYAxisColor(InDebugWristTrackerGizmoYAxisColor);
}
const FLinearColor& USGSettingsKismetLibrary::GetDebugWristTrackerGizmoZAxisColor(const USGSettings* Settings)
const FColor& USGSettingsKismetLibrary::GetDebugWristTrackerGizmoZAxisColor(const USGSettings* Settings)
{
return Settings->GetDebugWristTrackerGizmoZAxisColor();
}
void USGSettingsKismetLibrary::SetDebugWristTrackerGizmoZAxisColor(
USGSettings* Settings, const FLinearColor& InDebugWristTrackerGizmoZAxisColor)
USGSettings* Settings, const FColor& InDebugWristTrackerGizmoZAxisColor)
{
Settings->SetDebugWristTrackerGizmoZAxisColor(InDebugWristTrackerGizmoZAxisColor);
}
@@ -179,8 +179,8 @@ uint8 USGSettingsKismetLibrary::GetDebugWristTrackerGizmoDepthPriority(const USG
return Settings->GetDebugWristTrackerGizmoDepthPriority();
}
void USGSettingsKismetLibrary::SetDebugWristTrackerGizmoDepthPriority(USGSettings* Settings,
const uint8 InDebugWristTrackerGizmoDepthPriority)
void USGSettingsKismetLibrary::SetDebugWristTrackerGizmoDepthPriority(
USGSettings* Settings, const uint8 InDebugWristTrackerGizmoDepthPriority)
{
Settings->SetDebugWristTrackerGizmoDepthPriority(InDebugWristTrackerGizmoDepthPriority);
}
@@ -190,8 +190,8 @@ float USGSettingsKismetLibrary::GetDebugWristTrackerGizmoThickness(const USGSett
return Settings->GetDebugWristTrackerGizmoThickness();
}
void USGSettingsKismetLibrary::SetDebugWristTrackerGizmoThickness(USGSettings* Settings,
const float InDebugWristTrackerGizmoThickness)
void USGSettingsKismetLibrary::SetDebugWristTrackerGizmoThickness(
USGSettings* Settings, const float InDebugWristTrackerGizmoThickness)
{
Settings->SetDebugWristTrackerGizmoThickness(InDebugWristTrackerGizmoThickness);
}
@@ -52,38 +52,38 @@ public:
static USGSettings* GetInstance();
UFUNCTION(BlueprintPure, Category="SenseGlove | Settings")
static ESGPositionalTrackingHardware GetHardwareOffset(const USGSettings* Settings);
static ESGPositionalTrackingHardware GetTrackingHardware(const USGSettings* Settings);
UFUNCTION(BlueprintCallable, Category="SenseGlove | Settings")
static void SetHardwareOffset(UPARAM(ref) USGSettings* Settings, ESGPositionalTrackingHardware InHardwareOffset);
static void SetTrackingHardware(UPARAM(ref) USGSettings* Settings, ESGPositionalTrackingHardware InTrackingHardware);
UFUNCTION(BlueprintPure, Category="SenseGlove | Settings")
static const FVector& GetHardwareLocationOffsetLeftHand(const USGSettings* Settings);
static const FVector& GetTrackingHardwareLocationOffsetLeftHand(const USGSettings* Settings);
UFUNCTION(BlueprintCallable, Category="SenseGlove | Settings")
static void SetHardwareLocationOffsetLeftHand(UPARAM(ref) USGSettings* Settings,
const FVector& InHardwareLocationOffsetLeftHand);
static void SetTrackingHardwareLocationOffsetLeftHand(UPARAM(ref) USGSettings* Settings,
const FVector& InTrackingHardwareLocationOffsetLeftHand);
UFUNCTION(BlueprintPure, Category="SenseGlove | Settings")
static const FVector& GetHardwareLocationOffsetRightHand(const USGSettings* Settings);
static const FVector& GetTrackingHardwareLocationOffsetRightHand(const USGSettings* Settings);
UFUNCTION(BlueprintCallable, Category="SenseGlove | Settings")
static void SetHardwareLocationOffsetRightHand(UPARAM(ref) USGSettings* Settings,
const FVector& InHardwareLocationOffsetRightHand);
static void SetTrackingHardwareLocationOffsetRightHand(UPARAM(ref) USGSettings* Settings,
const FVector& InTrackingHardwareLocationOffsetRightHand);
UFUNCTION(BlueprintPure, Category="SenseGlove | Settings")
static const FRotator& GetHardwareRotationOffsetLeftHand(const USGSettings* Settings);
static const FRotator& GetTrackingHardwareRotationOffsetLeftHand(const USGSettings* Settings);
UFUNCTION(BlueprintCallable, Category="SenseGlove | Settings")
static void SetHardwareRotationOffsetLeftHand(UPARAM(ref) USGSettings* Settings,
const FRotator& InHardwareRotationOffsetLeftHand);
static void SetTrackingHardwareRotationOffsetLeftHand(UPARAM(ref) USGSettings* Settings,
const FRotator& InTrackingHardwareRotationOffsetLeftHand);
UFUNCTION(BlueprintPure, Category="SenseGlove | Settings")
static const FRotator& GetHardwareRotationOffsetRightHand(const USGSettings* Settings);
static const FRotator& GetTrackingHardwareRotationOffsetRightHand(const USGSettings* Settings);
UFUNCTION(BlueprintCallable, Category="SenseGlove | Settings")
static void SetHardwareRotationOffsetRightHand(UPARAM(ref) USGSettings* Settings,
const FRotator& InHardwareRotationOffsetRightHand);
static void SetTrackingHardwareRotationOffsetRightHand(UPARAM(ref) USGSettings* Settings,
const FRotator& InTrackingHardwareRotationOffsetRightHand);
UFUNCTION(BlueprintPure, Category="SenseGlove | Settings")
static bool GetDrawDebugWristTrackerGizmo(const USGSettings* Settings);
@@ -99,25 +99,25 @@ public:
float InDebugWristTrackerGizmoLength);
UFUNCTION(BlueprintPure, Category="SenseGlove | Settings")
static const FLinearColor& GetDebugWristTrackerGizmoXAxisColor(const USGSettings* Settings);
static const FColor& GetDebugWristTrackerGizmoXAxisColor(const USGSettings* Settings);
UFUNCTION(BlueprintCallable, Category="SenseGlove | Settings")
static void SetDebugWristTrackerGizmoXAxisColor(UPARAM(ref) USGSettings* Settings,
const FLinearColor& InDebugWristTrackerGizmoXAxisColor);
const FColor& InDebugWristTrackerGizmoXAxisColor);
UFUNCTION(BlueprintPure, Category="SenseGlove | Settings")
static const FLinearColor& GetDebugWristTrackerGizmoYAxisColor(const USGSettings* Settings);
static const FColor& GetDebugWristTrackerGizmoYAxisColor(const USGSettings* Settings);
UFUNCTION(BlueprintCallable, Category="SenseGlove | Settings")
static void SetDebugWristTrackerGizmoYAxisColor(UPARAM(ref) USGSettings* Settings,
const FLinearColor& InDebugWristTrackerGizmoYAxisColor);
const FColor& InDebugWristTrackerGizmoYAxisColor);
UFUNCTION(BlueprintPure, Category="SenseGlove | Settings")
static const FLinearColor& GetDebugWristTrackerGizmoZAxisColor(const USGSettings* Settings);
static const FColor& GetDebugWristTrackerGizmoZAxisColor(const USGSettings* Settings);
UFUNCTION(BlueprintCallable, Category="SenseGlove | Settings")
static void SetDebugWristTrackerGizmoZAxisColor(UPARAM(ref) USGSettings* Settings,
const FLinearColor& InDebugWristTrackerGizmoZAxisColor);
const FColor& InDebugWristTrackerGizmoZAxisColor);
UFUNCTION(BlueprintPure, Category="SenseGlove | Settings")
static bool GetDebugWristTrackerGizmoPersistentLines(const USGSettings* Settings);