apply breaking Blueprint API fixes and some other minor fixes
This commit is contained in:
@@ -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
|
||||
|
||||
+1
-1
@@ -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,
|
||||
|
||||
+1
-2
@@ -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();
|
||||
|
||||
|
||||
Reference in New Issue
Block a user