apply breaking Blueprint API fixes and some other minor fixes

This commit is contained in:
Mamadou Babaei
2026-06-24 12:55:28 +02:00
parent 41a1a06975
commit d6abbf3ac2
25 changed files with 90 additions and 56 deletions
+36 -1
View File
@@ -7,7 +7,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
## [Unreleased]
This minor release introduces a major IPC overhaul, significant inter-process communication performance improvements and bug fixes, along with Unreal Engine `5.8` and Microsoft Visual Studio 2026 support.
This minor release introduces a major IPC overhaul, significant inter-process communication performance improvements and bug fixes, along with Unreal Engine `5.8` and Microsoft Visual Studio 2026 support. This release also introduces breaking Blueprint API changes.
### Added
@@ -28,6 +28,33 @@ This minor release introduces a major IPC overhaul, significant inter-process co
### Fixed
- This release ships a revamped version of the SenseGlove libraries with numerous bug fixes, multithreading improvements, SharedMem performance enhancements, BTSerial fixes, and many other improvements.
- Fix the wrong Blueprint `DisplayName` UPROPERTY specifier for `USGDeviceKismetLibrary::GetHapticChannelCount()`.
- Fix the wrong Blueprint `DisplayName` UPROPERTY specifier for `USGDeviceKismetLibrary::GetHapticChannelCount_CT()`.
- Fix the wrong Blueprint `DisplayName` UPROPERTY specifier for `USGHapticGloveKismetLibrary::EndCalibration()`.
- Fix the wrong Blueprint `DisplayName` UPROPERTY specifier for `USGHapticGloveKismetLibrary::GetCalibrationInstruction()`.
- Fix the wrong Blueprint `DisplayName` UPROPERTY specifier for `USGHapticGloveKismetLibrary::GetCalibrationState()`.
- Fix the wrong Blueprint `DisplayName` UPROPERTY specifier for `USGHapticGloveKismetLibrary::GetHandAngles()`.
- Fix the wrong Blueprint `DisplayName` UPROPERTY specifier for `USGHapticGloveKismetLibrary::ResetCalibration()`.
- Fix the wrong Blueprint `DisplayName` UPROPERTY specifier for `USGHapticGloveKismetLibrary::SetHandGeometry()`.
- Fix the wrong Blueprint `DisplayName` UPROPERTY specifier for `USGNova2GloveKismetLibrary::GetHandAngles()`.
- Fix the wrong Blueprint `DisplayName` UPROPERTY specifier for `USGNovaGloveKismetLibrary::GetHandAngles()`.
- Fix the wrong Blueprint `DisplayName` UPROPERTY specifier for `USGSenseGloveKismetLibrary::CalculateHandPose()`.
- Fix the wrong Blueprint `DisplayName` UPROPERTY specifier for `USGSenseGloveVarsKismetLibrary::GenerateGloveModel_HV_FV_SFV_bRH()`.
- Fix the wrong Blueprint `DisplayName` UPROPERTY specifier for `USGSenseGloveVarsKismetLibrary::GenerateGloveModel_HV_FV_SFV_bRH_CI()`.
- Fix the wrong Blueprint `DisplayName` UPROPERTY specifier for `USGTrackingKismetLibrary::GetNovaToWristRotationOffset_FQuat()`.
- Fix the wrong Blueprint `DisplayName` UPROPERTY specifier for `USGTrackingKismetLibrary::GetNovaToWristRotationOffset_FRotator()`.
- Fix the wrong Blueprint `DisplayName` UPROPERTY specifier for `USGTrackingKismetLibrary::GetRightNovaQuestProToAttachRotation_FQuat()`.
- Fix the wrong Blueprint `DisplayName` UPROPERTY specifier for `USGTrackingKismetLibrary::GetRightNovaViveFocus3ToAttachRotation_FRotator()`.
- Fix the wrong Blueprint `DisplayName` UPROPERTY specifier for `USGTrackingKismetLibrary::GetSenseGloveTrackerMountOffset_H_bRH_OutPO_FQuat_OutRO()`.
- Fix the wrong Blueprint `DisplayName` UPROPERTY specifier for `USGTrackingKismetLibrary::GetSenseGloveTrackerMountOffset_H_bRH_OutPO_FRotator_OutRO()`.
- Fix the wrong Blueprint `Category` UPROPERTY specifier for `USGNova2GloveKismetLibrary::SendHaptics()`.
- Fix the wrong Blueprint `Category` UPROPERTY specifier for `USGNovaGloveKismetLibrary::SendHaptics()`.
- Fix `USGHandInterpolatorKismetLibrary::InterpolateHandAngles()` Blueprint access by making it static and removing its erroneous `const` qualifier.
- Fix `SGCustomWaveformKismetLibrary::GetWaveType()` Blueprint access by making it static.
- Fix `SGDeviceKismetLibrary::FirmwareNewerThan_FM_FS_bI()` Blueprint access by making it static.
- Fix `SGInterpolationSetKismetLibrary::GetX1()` Blueprint access by making it static.
- Some code quality and build time optimizations by removing redundant headers and relying on more forward declarations where/when possible.
- Additional minor fixes and improvements that may not be listed here.
### Changed
@@ -35,11 +62,16 @@ This minor release introduces a major IPC overhaul, significant inter-process co
- The `ThirdParty/lib/windows` directory structure has been revamped to support multiple MSVC toolsets/toolchains and the distribution of binaries built for every MSVC configuration supported by Epic Games on supported engine/plugin versions.
- The following third-party binaries/libraries are no longer distributed or linked on Android: `SGBleThirdPartyLibs`, `SGConnectShmThirdPartyLibs`, `SGCoreShmThirdPartyLibs`, `SGSerialThirdPartyLibs`, and `SGWjwwoodSerialThirdPartyLibs`. This helps keep the plugin and generated Android APKs smaller while also reducing linking and build times.
- `SenseGloveConnectImpl` module exported C functions have been renamed from `SGConnect_Init()`, `SGConnect_Dispose()`, and `SGConnect_GetLibraryVersion()` to `SGConnectImpl_Init()`, `SGConnectImpl_Dispose()`, and `SGConnectImpl_GetLibraryVersion()` respectively, as the underlying `SGConnect` library exports functions with the exact same names. This change resolves link-time issues caused by duplicate symbols. This should not affect the existing SenseGlove Blueprint or C++ APIs, as these functions are used internally.
- Changed `USGBasicHandModelKismetLibrary::SetStartJointPosition_uint8_F_P()` from `BlueprintPure` to `BlueprintCallable`.
- Changed `USGThresholdCommandKismetLibrary::GetActiveFingers()` from `BlueprintCallable` to `BlueprintPure`.
- Renamed `USGHandLayerKismetLibrary::GetWristLocation_bRH_FQuat_RR_TH_OutWP_OutWR()` to `USGHandLayerKismetLibrary::GetWristLocation_bRH_RP_FQuat_RR_TH_OutWP_OutWR()` to adhere to the standard SenseGlove name mangling.
### Removed
- Removed SenseGlove library binaries built with Epic Native/Cross Toolchains `v22` from the distributed third-party binaries shipped with the plugin. Support for the `v22` toolchain, which was previously used to build UE `5.3` and `5.4` Linux dependencies, has been dropped since plugin release `v2.8.0`.
- Removed `btleplug` Android dependencies, as the SenseGlove libraries for Android no longer rely on `btleplug` for BLE communication.
- Removed invalid `WorldContext` Blueprint metadata from `USGThresholdCommandKismetLibrary::GetFingerActive()`.
- Removed invalid `WorldContext` Blueprint metadata from `USGThresholdCommandKismetLibrary::GetThreshold()`.
### Deprecated
@@ -54,6 +86,9 @@ This minor release introduces a major IPC overhaul, significant inter-process co
- Updated the [Plugin Directory Structure](./directory-structure.html) section to reflect the recent changes.
- Updated the [Platform Support Matrix](./platform-support-matrix.html) section to reflect the recent changes.
- Additional minor fixes and improvements that may not be listed here.
- Fix `USGBetaDevice::Parse()` and `USGBetaDeviceKismetLibrary::Parse()` documentation.
- Fix swapped in-header documentation for `USGHapticGlove::ResetCalibration()` and `USGHapticGlove::EndCalibration()`.
- Fix incorrect class description in `USGSenseGloveSensorNormalizer` and `USGSenseGloveSensorNormalizerKismetLibrary`.
## [2.8.1] - 2026-05-11
@@ -81,7 +81,7 @@ public:
public:
/**
* Deserialize a beta device from its basic constants string. Returns nullptr is unsuccessful.
* Deserialize a beta device from its basic constants string. Returns nullptr if unsuccessful.
*/
static USGBetaDevice* Parse(UObject* Outer, const FString& String);
@@ -262,12 +262,12 @@ public:
virtual ESGHapticGloveCalibrationState GetCalibrationState() const;
/**
* Resets internal calibration of the Haptic Glove.
* Force-End any form of calibration manually, if any is still running.
*/
virtual void EndCalibration();
/**
* Force-End any form of calibration manually, if any is still running.
* Resets internal calibration of the Haptic Glove.
*/
virtual void ResetCalibration();
@@ -47,7 +47,7 @@
class FSGSenseGloveSensorNormalizerImpl;
/**
* Internal class to hold 'Threshold Commands' for specific fingers. Can be sent to a Device, or used internally.
* Acts as a sort of 'in between' handProfile. This class converts SG Dk1 Angles into 'normalized data' - between 0 .. 1.
*/
UCLASS(BlueprintType)
class SENSEGLOVECORE_API USGSenseGloveSensorNormalizer final : public UObject
@@ -71,7 +71,7 @@ float USGHandInterpolatorKismetLibrary::CalculateAngle_M_ESGFingerMovement_V_bAL
TArray<FSGVectorArray> USGHandInterpolatorKismetLibrary::InterpolateHandAngles(
const USGHandInterpolator* HandInterpolator,
const TArray<FSGFloatArray>& Flexions, const TArray<float>& Abductions, const float CmcTwist) const
const TArray<FSGFloatArray>& Flexions, const TArray<float>& Abductions, const float CmcTwist)
{
TArray<TArray<float>> FlexionsNestedArray{
FSGArrayUtils::FromNestedBPArray<
@@ -91,7 +91,7 @@ bool USGHandLayerKismetLibrary::GetHandPose(UObject* WorldContextObject,
return FSGHandLayer::GetHandPose(WorldContextObject, bRightHanded, OutHandPose);
}
void USGHandLayerKismetLibrary::GetWristLocation_bRH_FQuat_RR_TH_OutWP_OutWR(
void USGHandLayerKismetLibrary::GetWristLocation_bRH_RP_FQuat_RR_TH_OutWP_OutWR(
const bool bRightHanded,
const FVector& ReferencePosition, const FQuat& ReferenceRotation,
ESGPositionalTrackingHardware TrackingHardware,
@@ -35,6 +35,7 @@
#include "SGCoreKismet/SGJointKinematicsKismetLibrary.h"
#include "SGCore/SGBasicHandModel.h"
#include "SGCore/SGJointKinematics.h"
bool USGJointKinematicsKismetLibrary::ForwardKinematics_SP_FQuat_SR_JL_JA_OutNP_TArrayFQuat_OutNR(
@@ -39,6 +39,8 @@
#include "SGCore/SGHandInterpolator.h"
#include "SGCore/SGHandPose.h"
#include "SGCore/SGSenseGlove.h"
#include "SGCore/SGSenseGlovePose.h"
#include "SGCore/SGSenseGloveSensorData.h"
#include "SGCore/SGSenseGloveSensorNormalizer.h"
#include "SGUtils/SGArrayUtils.h"
@@ -196,7 +196,7 @@ public:
/**
*
*/
UFUNCTION(BlueprintPure, DisplayName="Set Start Joint Position",
UFUNCTION(BlueprintCallable, DisplayName="Set Start Joint Position",
Category="SenseGlove | Core | Kinematics | Basic Hand Model")
static void SetStartJointPosition_uint8_F_P(UPARAM(ref) USGBasicHandModel* BasicHandModel, uint8 Finger,
const FVector& Position);
@@ -55,7 +55,7 @@ class SENSEGLOVECOREKISMET_API USGBetaDeviceKismetLibrary final : public USGBlue
public:
/**
* Deserialize a beta device from its basic constants string. Returns nullptr is unsuccessful.
* Deserialize a beta device from its basic constants string. Returns nullptr if unsuccessful.
*/
UFUNCTION(BlueprintCallable, Category="SenseGlove | Core | Beta Device", meta=(WorldContext="WorldContextObject"))
static USGBetaDevice* Parse(UObject* WorldContextObject, const FString& String);
@@ -101,7 +101,7 @@ public:
* Get the Type of waveform pattern that is used.
*/
UFUNCTION(BlueprintPure, Category="SenseGlove | Core | CV | Custom Waveform")
ESGWaveformType GetWaveType(const USGCustomWaveform* CustomWaveform);
static ESGWaveformType GetWaveType(const USGCustomWaveform* CustomWaveform);
/**
* Set the Type of waveform pattern that is used.
@@ -132,8 +132,8 @@ public:
* @param bInclusive
*/
UFUNCTION(BlueprintPure, DisplayName="Firmware Newer Than", Category="SenseGlove | Core | SGDevice")
bool FirmwareNewerThan_FM_FS_bI(const USGDevice* SGDevice,
int32 FirmwareMain, int32 FirmwareSub, bool bInclusive);
static bool FirmwareNewerThan_FM_FS_bI(const USGDevice* SGDevice,
int32 FirmwareMain, int32 FirmwareSub, bool bInclusive);
/**
* Returns true if this glove's firmware is older than certain version.
@@ -221,14 +221,14 @@ public:
/**
* The number of haptic channels this device can support.
*/
UFUNCTION(BlueprintPure, DisplayName="Get Haptic Channel Index", Category="SenseGlove | Core | SGDevice")
UFUNCTION(BlueprintPure, DisplayName="Get Haptic Channel Count", Category="SenseGlove | Core | SGDevice")
static int32 GetHapticChannelCount(const USGDevice* SGDevice);
/**
* How many channels of a specific type this SGDevice possesses.
* @param ChannelType
*/
UFUNCTION(BlueprintPure, DisplayName="Get Haptic Channel Index", Category="SenseGlove | Core | SGDevice")
UFUNCTION(BlueprintPure, DisplayName="Get Haptic Channel Count", Category="SenseGlove | Core | SGDevice")
static int32 GetHapticChannelCount_CT(const USGDevice* SGDevice, ESGHapticChannelType ChannelType);
/**
@@ -99,9 +99,10 @@ public:
*/
UFUNCTION(BlueprintPure, Category="SenseGlove | Core | Kinematics | Hand Interpolator",
meta=(WorldContext="WorldContextObject"))
TArray<FSGVectorArray> InterpolateHandAngles(const USGHandInterpolator* HandInterpolator,
const TArray<FSGFloatArray>& Flexions, const TArray<float>& Abductions,
float CmcTwist) const;
static TArray<FSGVectorArray> InterpolateHandAngles(const USGHandInterpolator* HandInterpolator,
const TArray<FSGFloatArray>& Flexions,
const TArray<float>& Abductions,
float CmcTwist);
/**
* Check if this handInterpolator matches another.
@@ -123,7 +123,7 @@ public:
* Calculate the Wrist Location of the chosen hand, based on a reference location and tracking hardware.
*/
UFUNCTION(BlueprintCallable, DisplayName="Get Wrist Location", Category="SenseGlove | Core | Hand Layer")
static void GetWristLocation_bRH_FQuat_RR_TH_OutWP_OutWR(
static void GetWristLocation_bRH_RP_FQuat_RR_TH_OutWP_OutWR(
bool bRightHanded,
const FVector& ReferencePosition, const FQuat& ReferenceRotation,
ESGPositionalTrackingHardware TrackingHardware,
@@ -161,7 +161,7 @@ public:
* Returns the Hand Angles calculated by this Nova 2 Glove. Used for input for HandPoses, but can be used in and of
* itself.
*/
UFUNCTION(BlueprintPure, DisplayName="Get Imu Rotation", Category="SenseGlove | Core | Haptic Glove")
UFUNCTION(BlueprintPure, DisplayName="Get Hand Angles", Category="SenseGlove | Core | Haptic Glove")
static bool GetHandAngles(const USGHapticGlove* HapticGlove, TArray<FSGVectorArray>& OutHandAngles);
/**
@@ -173,31 +173,31 @@ public:
/**
*
*/
UFUNCTION(BlueprintCallable, DisplayName="Get Imu Rotation", Category="SenseGlove | Core | Haptic Glove")
UFUNCTION(BlueprintCallable, DisplayName="Set Hand Geometry", Category="SenseGlove | Core | Haptic Glove")
static void SetHandGeometry(UPARAM(ref) USGHapticGlove* HapticGlove, const USGBasicHandModel* HandGeometry);
/**
* Returns the HapticGlove's state of calibration for its on-board sensors.
*/
UFUNCTION(BlueprintPure, DisplayName="Get Imu Rotation", Category="SenseGlove | Core | Haptic Glove")
UFUNCTION(BlueprintPure, DisplayName="Get Calibration State", Category="SenseGlove | Core | Haptic Glove")
static ESGHapticGloveCalibrationState GetCalibrationState(const USGHapticGlove* HapticGlove);
/**
* Resets internal calibration of the Haptic Glove.
*/
UFUNCTION(BlueprintCallable, DisplayName="Get Imu Rotation", Category="SenseGlove | Core | Haptic Glove")
static void EndCalibration(UPARAM(ref) USGHapticGlove* HapticGlove);
/**
* Force-End any form of calibration manually, if any is still running.
*/
UFUNCTION(BlueprintCallable, DisplayName="Get Imu Rotation", Category="SenseGlove | Core | Haptic Glove")
UFUNCTION(BlueprintCallable, DisplayName="End Calibration", Category="SenseGlove | Core | Haptic Glove")
static void EndCalibration(UPARAM(ref) USGHapticGlove* HapticGlove);
/**
* Resets internal calibration of the Haptic Glove.
*/
UFUNCTION(BlueprintCallable, DisplayName="Reset Calibration", Category="SenseGlove | Core | Haptic Glove")
static void ResetCalibration(UPARAM(ref) USGHapticGlove* HapticGlove);
/**
* Retrieve the current calibration instruction.
*/
UFUNCTION(BlueprintPure, DisplayName="Get Imu Rotation", Category="SenseGlove | Core | Haptic Glove")
UFUNCTION(BlueprintPure, DisplayName="Get Calibration Instruction", Category="SenseGlove | Core | Haptic Glove")
static FString GetCalibrationInstruction(const USGHapticGlove* HapticGlove);
/**
@@ -97,7 +97,7 @@ public:
* Second value of input range.
*/
UFUNCTION(BlueprintPure, Category="SenseGlove | Core | Kinematics | Interpolation Set")
float GetX1(const USGInterpolationSet* InterpolationSet);
static float GetX1(const USGInterpolationSet* InterpolationSet);
/**
*
@@ -39,12 +39,13 @@
#include "Math/Quat.h"
#include "Math/Vector.h"
#include "SGCore/SGBasicHandModel.h"
#include "SGKismet/SGBlueprintFunctionLibrary.h"
#include "SGTypes/SGCoreTypes.h"
#include "SGJointKinematicsKismetLibrary.generated.h"
class USGBasicHandModel;
/**
*
*/
@@ -261,7 +261,7 @@ public:
*
* @param OutHandAngles
*/
UFUNCTION(BlueprintPure, DisplayName="Get Hand Pose", Category="SenseGlove | Core | Nova | Nova 2 Glove",
UFUNCTION(BlueprintPure, DisplayName="Get Hand Angles", Category="SenseGlove | Core | Nova | Nova 2 Glove",
meta=(WorldContext="WorldContextObject"))
static bool GetHandAngles(const USGNova2Glove* Nova2Glove, TArray<FSGVectorArray>& OutHandAngles);
@@ -299,7 +299,7 @@ public:
/**
* Flush all streaming haptic effects on the different fingers to the Nova 2.0 Glove.
*/
UFUNCTION(BlueprintCallable, Category="SenseGlove | Core | SG | Nova 2 Glove")
UFUNCTION(BlueprintCallable, Category="SenseGlove | Core | Nova | Nova 2 Glove")
static bool SendHaptics(UPARAM(ref) USGNova2Glove* Nova2Glove);
/**
@@ -281,7 +281,7 @@ public:
*
* @param OutHandAngles
*/
UFUNCTION(BlueprintPure, DisplayName="Get Hand Pose", Category="SenseGlove | Core | Nova | Nova Glove",
UFUNCTION(BlueprintPure, DisplayName="Get Hand Angles", Category="SenseGlove | Core | Nova | Nova Glove",
meta=(WorldContext="WorldContextObject"))
static bool GetHandAngles(const USGNovaGlove* NovaGlove, TArray<FSGVectorArray>& OutHandAngles);
@@ -324,7 +324,7 @@ public:
*
* @remarks Generic function across any Haptic Interface in SGCore.
*/
UFUNCTION(BlueprintCallable, Category="SenseGlove | Core | SG | Nova Glove")
UFUNCTION(BlueprintCallable, Category="SenseGlove | Core | Nova | Nova Glove")
static bool SendHaptics(UPARAM(ref) USGNovaGlove* NovaGlove);
/**
@@ -39,7 +39,6 @@
#include "HAL/Platform.h"
#include "SGKismet/SGBlueprintFunctionLibrary.h"
#include "SGTypes/SGVectorArray.h"
#include "SGSenseComKismetLibrary.generated.h"
@@ -36,10 +36,6 @@
#pragma once
#include "SGCore/SGHandPose.h"
#include "SGCore/SGSenseGlove.h"
#include "SGCore/SGSenseGlovePose.h"
#include "SGCore/SGSenseGloveSensorData.h"
#include "SGKismet/SGBlueprintFunctionLibrary.h"
#include "SGTypes/SGVectorArray.h"
@@ -49,6 +45,8 @@ class USGDevice;
class USGHandInterpolator;
class USGHandPose;
class USGSenseGlove;
class USGSenseGlovePose;
class USGSenseGloveSensorData;
class USGSenseGloveSensorNormalizer;
/**
@@ -192,7 +190,7 @@ public:
*
* @remarks Use this when you already have a GlovePose.
*/
UFUNCTION(BlueprintCallable, DisplayName="Calculate Glove Pose", Category="SenseGlove | Core | SG | Sense Glove",
UFUNCTION(BlueprintCallable, DisplayName="Calculate Hand Pose", Category="SenseGlove | Core | SG | Sense Glove",
meta=(WorldContext="WorldContextObject"))
static void CalculateHandPose(
UObject* WorldContextObject,
@@ -43,8 +43,7 @@
class USGSenseGloveSensorNormalizer;
/**
* Interface for Nova 2.0 Gloves. A soft glove with detachable force-feedback and sensor module, and active contact
* feedback in the front strap.
* Acts as a sort of 'in between' handProfile. This class converts SG Dk1 Angles into 'normalized data' - between 0 .. 1.
*/
UCLASS(meta=(ScriptName = "SenseGloveSenseGloveSensorNormalizerKismetLibrary"))
class SENSEGLOVECOREKISMET_API USGSenseGloveSensorNormalizerKismetLibrary final : public USGBlueprintFunctionLibrary
@@ -126,7 +126,7 @@ public:
/**
* Generate a custom glove info.
*/
UFUNCTION(BlueprintCallable, DisplayName="GenerateGloveModel", Category="SenseGlove | Core | SG | Sense Glove Vars",
UFUNCTION(BlueprintCallable, DisplayName="Generate Glove Model", Category="SenseGlove | Core | SG | Sense Glove Vars",
meta=(WorldContext="WorldContextObject"))
static USGSenseGloveInfo* GenerateGloveModel_HV_FV_SFV_bRH(
UObject* WorldContextObject,
@@ -135,7 +135,7 @@ public:
/**
* Generate a custom glove info.
*/
UFUNCTION(BlueprintCallable, DisplayName="GenerateGloveModel", Category="SenseGlove | Core | SG | Sense Glove Vars",
UFUNCTION(BlueprintCallable, DisplayName="Generate Glove Model", Category="SenseGlove | Core | SG | Sense Glove Vars",
meta=(WorldContext="WorldContextObject"))
static USGSenseGloveInfo* GenerateGloveModel_HV_FV_SFV_bRH_CI(
UObject* WorldContextObject,
@@ -72,8 +72,7 @@ public:
/**
* Retrieve the threshold of a particular finger.
*/
UFUNCTION(BlueprintPure, Category="SenseGlove | Core | Haptics | Threshold Command",
meta=(WorldContext="WorldContextObject"))
UFUNCTION(BlueprintPure, Category="SenseGlove | Core | Haptics | Threshold Command")
static float GetThreshold(const USGThresholdCommand* ThresholdCommand, int32 Finger);
/**
@@ -96,11 +95,10 @@ public:
/**
* If true, the threshold on a finger should be active.
*/
UFUNCTION(BlueprintPure, Category="SenseGlove | Core | Haptics | Threshold Command",
meta=(WorldContext="WorldContextObject"))
UFUNCTION(BlueprintPure, Category="SenseGlove | Core | Haptics | Threshold Command")
static bool GetFingerActive(const USGThresholdCommand* ThresholdCommand, int32 Finger);
UFUNCTION(BlueprintCallable, Category="SenseGlove | Core | Haptics | Threshold Command")
UFUNCTION(BlueprintPure, Category="SenseGlove | Core | Haptics | Threshold Command")
static TArray<bool> GetActiveFingers(const USGThresholdCommand* ThresholdCommand);
/**
@@ -132,7 +132,7 @@ public:
* Get the offset to get from the TrackedHardware to a SenseGlove mounting location. Combined with Glove-Mount
* offset to get the glove location.
*/
UFUNCTION(BlueprintCallable, DisplayName="Get SenseGlove Tracker Mouunt Offset",
UFUNCTION(BlueprintCallable, DisplayName="Get SenseGlove Tracker Mount Offset",
Category="SenseGlove | Core | Tracking")
static void GetSenseGloveTrackerMountOffset_H_bRH_OutPO_FQuat_OutRO(
ESGPositionalTrackingHardware Hardware, bool bRightHanded,
@@ -142,7 +142,7 @@ public:
* Get the offset to get from the TrackedHardware to a SenseGlove mounting location. Combined with Glove-Mount
* offset to get the glove location.
*/
UFUNCTION(BlueprintCallable, DisplayName="Get SenseGlove Tracker Mouunt Offset",
UFUNCTION(BlueprintCallable, DisplayName="Get SenseGlove Tracker Mount Offset",
Category="SenseGlove | Core | Tracking")
static void GetSenseGloveTrackerMountOffset_H_bRH_OutPO_FRotator_OutRO(
ESGPositionalTrackingHardware Hardware, bool bRightHanded,
@@ -197,14 +197,14 @@ public:
/**
* Rotational offset between Nova Glove Origin and Wrist.
*/
UFUNCTION(BlueprintCallable, DisplayName="Get Nove To Wrist Rotation Offset",
UFUNCTION(BlueprintCallable, DisplayName="Get Nova To Wrist Rotation Offset",
Category="SenseGlove | Core | Tracking")
static FQuat GetNovaToWristRotationOffset_FQuat();
/**
* Rotational offset between Nova Glove Origin and Wrist.
*/
UFUNCTION(BlueprintCallable, DisplayName="Get Nove To Wrist Rotation Offset",
UFUNCTION(BlueprintCallable, DisplayName="Get Nova To Wrist Rotation Offset",
Category="SenseGlove | Core | Tracking")
static FRotator GetNovaToWristRotationOffset_FRotator();
@@ -331,7 +331,7 @@ public:
/**
*
*/
UFUNCTION(BlueprintCallable, DisplayName="Get Right Nova Quest Pro To To Attach Rotation",
UFUNCTION(BlueprintCallable, DisplayName="Get Right Nova Quest Pro To Attach Rotation",
Category="SenseGlove | Core | Tracking")
static FQuat GetRightNovaQuestProToAttachRotation_FQuat();
@@ -378,7 +378,7 @@ public:
/**
*
*/
UFUNCTION(BlueprintCallable, DisplayName="Get Right Nova Vive Focus 3 To Attach Rotattion",
UFUNCTION(BlueprintCallable, DisplayName="Get Right Nova Vive Focus 3 To Attach Rotation",
Category="SenseGlove | Core | Tracking")
static FRotator GetRightNovaViveFocus3ToAttachRotation_FRotator();