remove the experimental bHandTrackingVisualizationAllowed feature

This commit is contained in:
Mamadou Babaei
2024-08-16 16:37:25 +02:00
parent 0fae4bbb43
commit b69a95eb58
7 changed files with 1 additions and 98 deletions
@@ -97,7 +97,6 @@ USGWristTrackerComponent::USGWristTrackerComponent(const FObjectInitializer& Obj
bRight = true; bRight = true;
DeviceVisualType = EXRVisualType::Controller;
WristLocation = FVector::ZeroVector; WristLocation = FVector::ZeroVector;
WristRotation = FRotator::ZeroRotator; WristRotation = FRotator::ZeroRotator;
} }
@@ -228,22 +227,6 @@ void USGWristTrackerComponent::FImpl::UpdateMotionSource() const
void USGWristTrackerComponent::FImpl::UpdateWristTrackingData() const void USGWristTrackerComponent::FImpl::UpdateWristTrackingData() const
{ {
FXRMotionControllerData MotionControllerData;
const bool bGotMotionControllerData = Owner->GetMotionControllerData(MotionControllerData);
if (bGotMotionControllerData && MotionControllerData.bValid)
{
const bool bDeviceVisualTypeUpdated = Owner->DeviceVisualType != MotionControllerData.DeviceVisualType;
if (bDeviceVisualTypeUpdated)
{
Owner->DeviceVisualType = MotionControllerData.DeviceVisualType;
if (Owner->WristDeviceVisualTypeChangedEvent.IsBound())
{
Owner->WristDeviceVisualTypeChangedEvent.Broadcast(Owner->DeviceVisualType);
}
}
}
FVector NewWristLocation{Owner->GetComponentLocation()}; FVector NewWristLocation{Owner->GetComponentLocation()};
FRotator NewWristRotation{Owner->GetComponentRotation()}; FRotator NewWristRotation{Owner->GetComponentRotation()};
@@ -91,18 +91,6 @@ struct ASGPawn::FImpl
void SetVisibility(USceneComponent* SceneComponent, const bool bVisibility) const; void SetVisibility(USceneComponent* SceneComponent, const bool bVisibility) const;
void UpdateWristTrackerVisualization(const bool bRight, const EXRVisualType VisualType) const;
FORCEINLINE void UpdateLeftWristTrackerVisualization(const EXRVisualType VisualType) const
{
UpdateWristTrackerVisualization(false, VisualType);
}
FORCEINLINE void UpdateRightWristTrackerVisualization(const EXRVisualType VisualType) const
{
UpdateWristTrackerVisualization(true, VisualType);
}
void UpdateHandLocation(const bool bRight, const FVector& Location, const bool bUpdateVirtualHand) const; void UpdateHandLocation(const bool bRight, const FVector& Location, const bool bUpdateVirtualHand) const;
void UpdateLeftHandLocation(const FVector& Location, const bool bUpdateVirtualHand) const; void UpdateLeftHandLocation(const FVector& Location, const bool bUpdateVirtualHand) const;
void UpdateRightHandLocation(const FVector& Location, const bool bUpdateVirtualHand) const; void UpdateRightHandLocation(const FVector& Location, const bool bUpdateVirtualHand) const;
@@ -546,18 +534,6 @@ void ASGPawn::BeginPlay()
WristTrackerRight->IsRight() && HandRight->IsRight(), WristTrackerRight->IsRight() && HandRight->IsRight(),
TEXT("The right hand and the right wrist do not track the right hand!")); TEXT("The right hand and the right wrist do not track the right hand!"));
WristTrackerLeft->OnWristDeviceVisualTypeChanged().AddWeakLambda(
this, [&](const EXRVisualType VisualType) -> void
{
Pimpl->UpdateLeftWristTrackerVisualization(VisualType);
});
WristTrackerLeft->OnWristDeviceVisualTypeChanged().AddWeakLambda(
this, [&](const EXRVisualType VisualType) -> void
{
Pimpl->UpdateRightWristTrackerVisualization(VisualType);
});
WristTrackerLeft->OnWristLocationChanged().AddWeakLambda(this, [&](const FVector& Location)-> void WristTrackerLeft->OnWristLocationChanged().AddWeakLambda(this, [&](const FVector& Location)-> void
{ {
Pimpl->UpdateLeftHandLocation(Location, !Pimpl->IsLeftHandOverlappingWithAnyActor()); Pimpl->UpdateLeftHandLocation(Location, !Pimpl->IsLeftHandOverlappingWithAnyActor());
@@ -1675,30 +1651,6 @@ void ASGPawn::FImpl::SetVisibility(USceneComponent* SceneComponent, const bool b
SceneComponent->SetVisibility(bVisibility); SceneComponent->SetVisibility(bVisibility);
} }
void ASGPawn::FImpl::UpdateWristTrackerVisualization(const bool bRight, const EXRVisualType VisualType) const
{
const USGWristTrackerComponent* WristTracker{bRight ? Owner->WristTrackerRight : Owner->WristTrackerLeft};
if (!IsValid(WristTracker))
{
return;
}
const FSGWristTrackingSettings& Settings{WristTracker->GetWristTrackingSettings()};
const bool bIsVisualizationActive = VisualType == EXRVisualType::Controller
|| !!Settings.bHandTrackingVisualizationAllowed;
UXRDeviceVisualizationComponent* ControllerVisualizer{
bRight ? Owner->ControllerVisualizerLeft : Owner->ControllerVisualizerRight
};
if (!IsValid(ControllerVisualizer))
{
return;
}
ControllerVisualizer->SetIsVisualizationActive(bIsVisualizationActive);
}
void ASGPawn::FImpl::UpdateHandLocation(const bool bRight, const FVector& Location, const bool bUpdateVirtualHand) const void ASGPawn::FImpl::UpdateHandLocation(const bool bRight, const FVector& Location, const bool bUpdateVirtualHand) const
{ {
if (bRight) if (bRight)
@@ -52,13 +52,6 @@ class SENSEGLOVE_API USGWristTrackerComponent : public UMotionControllerComponen
GENERATED_UCLASS_BODY() GENERATED_UCLASS_BODY()
public: public:
DECLARE_EVENT_OneParam(USGWristTrackerComponent, FWristDeviceVisualTypeChangedEvent, EXRVisualType)
FWristDeviceVisualTypeChangedEvent& OnWristDeviceVisualTypeChanged()
{
return WristDeviceVisualTypeChangedEvent;
};
DECLARE_EVENT_OneParam(USGWristTrackerComponent, FWristLocationChangedEvent, const FVector&) DECLARE_EVENT_OneParam(USGWristTrackerComponent, FWristLocationChangedEvent, const FVector&)
FWristLocationChangedEvent& OnWristLocationChanged() FWristLocationChangedEvent& OnWristLocationChanged()
@@ -82,7 +75,6 @@ public:
}; };
private: private:
FWristDeviceVisualTypeChangedEvent WristDeviceVisualTypeChangedEvent;
FWristLocationChangedEvent WristLocationChangedEvent; FWristLocationChangedEvent WristLocationChangedEvent;
FWristRotationChangedEvent WristRotationChangedEvent; FWristRotationChangedEvent WristRotationChangedEvent;
FWristLocationAndRotationChangedEvent WristLocationAndRotationChangedEvent; FWristLocationAndRotationChangedEvent WristLocationAndRotationChangedEvent;
@@ -103,9 +95,6 @@ private:
uint8 bRight : 1; uint8 bRight : 1;
private: private:
UPROPERTY(Transient)
EXRVisualType DeviceVisualType;
UPROPERTY(Transient) UPROPERTY(Transient)
FVector WristLocation; FVector WristLocation;
@@ -127,11 +116,6 @@ public:
const FSGWristTrackingSettings& GetWristTrackingSettings() const; const FSGWristTrackingSettings& GetWristTrackingSettings() const;
FORCEINLINE EXRVisualType GetDeviceVisualType() const
{
return DeviceVisualType;
}
FORCEINLINE const FVector& GetWristLocation() const FORCEINLINE const FVector& GetWristLocation() const
{ {
return WristLocation; return WristLocation;
@@ -59,12 +59,6 @@ void UWristTrackerComponentKismetLibrary::SetRight(
WristTrackerComponent->SetRight(bInRight); WristTrackerComponent->SetRight(bInRight);
} }
EXRVisualType UWristTrackerComponentKismetLibrary::GetDeviceVisualType(
const USGWristTrackerComponent* WristTrackerComponent)
{
return WristTrackerComponent->GetDeviceVisualType();
}
const FVector& UWristTrackerComponentKismetLibrary::GetWristLocation( const FVector& UWristTrackerComponentKismetLibrary::GetWristLocation(
const USGWristTrackerComponent* WristTrackerComponent) const USGWristTrackerComponent* WristTrackerComponent)
{ {
@@ -65,9 +65,6 @@ public:
UFUNCTION(BlueprintCallable, Category="SenseGlove | Components | Wrist Tracker Component") UFUNCTION(BlueprintCallable, Category="SenseGlove | Components | Wrist Tracker Component")
static void SetRight(UPARAM(ref) USGWristTrackerComponent* WristTrackerComponent, bool bInRight); static void SetRight(UPARAM(ref) USGWristTrackerComponent* WristTrackerComponent, bool bInRight);
UFUNCTION(BlueprintCallable, Category="SenseGlove | Components | Wrist Tracker Component")
static EXRVisualType GetDeviceVisualType(const USGWristTrackerComponent* WristTrackerComponent);
UFUNCTION(BlueprintCallable, Category="SenseGlove | Components | Wrist Tracker Component") UFUNCTION(BlueprintCallable, Category="SenseGlove | Components | Wrist Tracker Component")
static const FVector& GetWristLocation(const USGWristTrackerComponent* WristTrackerComponent); static const FVector& GetWristLocation(const USGWristTrackerComponent* WristTrackerComponent);
@@ -37,7 +37,6 @@
FSGWristTrackingSettings::FSGWristTrackingSettings() FSGWristTrackingSettings::FSGWristTrackingSettings()
: FSGWristTrackingSettings( : FSGWristTrackingSettings(
false,
ESGPositionalTrackingHardware::None, ESGPositionalTrackingHardware::None,
FVector::ZeroVector, FVector::ZeroVector,
FVector::ZeroVector, FVector::ZeroVector,
@@ -51,7 +50,6 @@ FSGWristTrackingSettings::FSGWristTrackingSettings()
} }
FSGWristTrackingSettings::FSGWristTrackingSettings( FSGWristTrackingSettings::FSGWristTrackingSettings(
const bool bInHandTrackingVisualizationAllowed,
const ESGPositionalTrackingHardware InTrackingHardware, const ESGPositionalTrackingHardware InTrackingHardware,
const FVector& InTrackingHardwareLocationOffsetLeftHand, const FVector& InTrackingHardwareLocationOffsetLeftHand,
const FVector& InTrackingHardwareLocationOffsetRightHand, const FVector& InTrackingHardwareLocationOffsetRightHand,
@@ -61,8 +59,7 @@ FSGWristTrackingSettings::FSGWristTrackingSettings(
const EControllerHand InRightHandMotionSource, const EControllerHand InRightHandMotionSource,
const bool bInDrawDebugGizmo, const bool bInDrawDebugGizmo,
const FSGDebugGizmoSettings& InDebugGizmoSettings) const FSGDebugGizmoSettings& InDebugGizmoSettings)
: bHandTrackingVisualizationAllowed(bInHandTrackingVisualizationAllowed), : TrackingHardware(InTrackingHardware),
TrackingHardware(InTrackingHardware),
TrackingHardwareLocationOffsetLeftHand(InTrackingHardwareLocationOffsetLeftHand), TrackingHardwareLocationOffsetLeftHand(InTrackingHardwareLocationOffsetLeftHand),
TrackingHardwareLocationOffsetRightHand(InTrackingHardwareLocationOffsetRightHand), TrackingHardwareLocationOffsetRightHand(InTrackingHardwareLocationOffsetRightHand),
TrackingHardwareRotationOffsetLeftHand(InTrackingHardwareRotationOffsetLeftHand), TrackingHardwareRotationOffsetLeftHand(InTrackingHardwareRotationOffsetLeftHand),
@@ -49,9 +49,6 @@ struct SENSEGLOVESETTINGS_API FSGWristTrackingSettings
GENERATED_USTRUCT_BODY() GENERATED_USTRUCT_BODY()
public: public:
UPROPERTY(Config, EditDefaultsOnly, Category = "Wrist Tracking")
uint8 bHandTrackingVisualizationAllowed : 1;
/** /**
* If set to Custom, any desired location and rotation can be specified. * If set to Custom, any desired location and rotation can be specified.
*/ */
@@ -117,7 +114,6 @@ public:
FSGWristTrackingSettings(); FSGWristTrackingSettings();
FSGWristTrackingSettings( FSGWristTrackingSettings(
bool bInHandTrackingVisualizationAllowed,
ESGPositionalTrackingHardware InTrackingHardware, ESGPositionalTrackingHardware InTrackingHardware,
const FVector& InTrackingHardwareLocationOffsetLeftHand, const FVector& InTrackingHardwareLocationOffsetLeftHand,
const FVector& InTrackingHardwareLocationOffsetRightHand, const FVector& InTrackingHardwareLocationOffsetRightHand,