apply breaking Blueprint API fixes and some other minor fixes

This commit is contained in:
Mamadou Babaei
2026-07-13 20:15:17 +02:00
parent 4c6861b850
commit f2b0aa5b63
25 changed files with 90 additions and 56 deletions
@@ -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();