add missing sense glove wrappers in layer 1/2/3/4 of the api and also more documentation
This commit is contained in:
@@ -354,6 +354,70 @@ ESGPositionalTrackingHardware FSGCoreEnumCast::ToESGPositionalTrackingHardware(c
|
||||
return ESGPositionalTrackingHardware::None;
|
||||
}
|
||||
|
||||
FSGCoreEnumCast::FESenseGloveThumperCommandType FSGCoreEnumCast::ToESenseGloveThumperCommand(
|
||||
const ESGSenseGloveThumperCommand Enum)
|
||||
{
|
||||
switch (Enum)
|
||||
{
|
||||
case ESGSenseGloveThumperCommand::None:
|
||||
return FESenseGloveThumperCommandType::None;
|
||||
case ESGSenseGloveThumperCommand::TurnOff:
|
||||
return FESenseGloveThumperCommandType::TurnOff;
|
||||
case ESGSenseGloveThumperCommand::CueGameOver:
|
||||
return FESenseGloveThumperCommandType::CueGameOver;
|
||||
case ESGSenseGloveThumperCommand::ButtonDouble100:
|
||||
return FESenseGloveThumperCommandType::ButtonDouble100;
|
||||
case ESGSenseGloveThumperCommand::ButtonDouble60:
|
||||
return FESenseGloveThumperCommandType::ButtonDouble60;
|
||||
case ESGSenseGloveThumperCommand::ImpactThump30:
|
||||
return FESenseGloveThumperCommandType::ImpactThump30;
|
||||
case ESGSenseGloveThumperCommand::ImpactThump10:
|
||||
return FESenseGloveThumperCommandType::ImpactThump10;
|
||||
case ESGSenseGloveThumperCommand::ImpactThump100:
|
||||
return FESenseGloveThumperCommandType::ImpactThump100;
|
||||
case ESGSenseGloveThumperCommand::ObjectGrasp100:
|
||||
return FESenseGloveThumperCommandType::ObjectGrasp100;
|
||||
case ESGSenseGloveThumperCommand::ObjectGrasp60:
|
||||
return FESenseGloveThumperCommandType::ObjectGrasp60;
|
||||
case ESGSenseGloveThumperCommand::ObjectGrasp30:
|
||||
return FESenseGloveThumperCommandType::ObjectGrasp30;
|
||||
}
|
||||
|
||||
// Keep the compiler satisfied!
|
||||
return FESenseGloveThumperCommandType::None;
|
||||
}
|
||||
|
||||
ESGSenseGloveThumperCommand FSGCoreEnumCast::ToESGSenseGloveThumperCommand(const FESenseGloveThumperCommandType Enum)
|
||||
{
|
||||
switch (Enum)
|
||||
{
|
||||
case FESenseGloveThumperCommandType::None:
|
||||
return ESGSenseGloveThumperCommand::None;
|
||||
case FESenseGloveThumperCommandType::TurnOff:
|
||||
return ESGSenseGloveThumperCommand::TurnOff;
|
||||
case FESenseGloveThumperCommandType::CueGameOver:
|
||||
return ESGSenseGloveThumperCommand::CueGameOver;
|
||||
case FESenseGloveThumperCommandType::ButtonDouble100:
|
||||
return ESGSenseGloveThumperCommand::ButtonDouble100;
|
||||
case FESenseGloveThumperCommandType::ButtonDouble60:
|
||||
return ESGSenseGloveThumperCommand::ButtonDouble60;
|
||||
case FESenseGloveThumperCommandType::ImpactThump30:
|
||||
return ESGSenseGloveThumperCommand::ImpactThump30;
|
||||
case FESenseGloveThumperCommandType::ImpactThump10:
|
||||
return ESGSenseGloveThumperCommand::ImpactThump10;
|
||||
case FESenseGloveThumperCommandType::ImpactThump100:
|
||||
return ESGSenseGloveThumperCommand::ImpactThump100;
|
||||
case FESenseGloveThumperCommandType::ObjectGrasp100:
|
||||
return ESGSenseGloveThumperCommand::ObjectGrasp100;
|
||||
case FESenseGloveThumperCommandType::ObjectGrasp60:
|
||||
return ESGSenseGloveThumperCommand::ObjectGrasp60;
|
||||
case FESenseGloveThumperCommandType::ObjectGrasp30:
|
||||
return ESGSenseGloveThumperCommand::ObjectGrasp30;
|
||||
}
|
||||
|
||||
return ESGSenseGloveThumperCommand::None;
|
||||
}
|
||||
|
||||
FSGCoreEnumCast::FEThumbMovementType FSGCoreEnumCast::ToEThumbMovement(const ESGThumbMovement Enum)
|
||||
{
|
||||
switch (Enum)
|
||||
|
||||
@@ -36,6 +36,7 @@
|
||||
#pragma once
|
||||
|
||||
#include <SenseGlove/Core/Fingers.hpp>
|
||||
#include <SenseGlove/Core/SenseGloveThumperCommand.hpp>
|
||||
|
||||
#include "SGBuildHacks/SGInclude_Core_Fingers.h"
|
||||
#include "SGBuildHacks/SGInclude_Core_HapticGloveCalibrationCheck.h"
|
||||
@@ -43,6 +44,7 @@
|
||||
#include "SGBuildHacks/SGInclude_Core_SenseGloveHandProfile.h"
|
||||
#include "SGBuildHacks/SGInclude_Core_SGDevice.h"
|
||||
#include "SGBuildHacks/SGInclude_Core_Tracking.h"
|
||||
#include "SGCoreImpl/SGHapticGloveCommandBufferImpl.h"
|
||||
#include "SGTypes/SGCoreTypes.h"
|
||||
|
||||
class SENSEGLOVECOREIMPL_API FSGCoreEnumCast
|
||||
@@ -56,37 +58,41 @@ public:
|
||||
typedef SGCore::Kinematics::EFingerMovement FEFingerMovementType;
|
||||
typedef SGCore::SG::EFingerSolver FEFingerSolverType;
|
||||
typedef SGCore::EPositionalTrackingHardware FEPositionalTrackingHardware;
|
||||
typedef SGCore::Haptics::ESenseGloveThumperCommand FESenseGloveThumperCommandType;
|
||||
typedef SGCore::Kinematics::EThumbMovement FEThumbMovementType;
|
||||
typedef SGCore::SG::EThumbSolver FEThumbSolverType;
|
||||
|
||||
public:
|
||||
static FEBackendType ToEBackendType(const ESGBackendType Enum);
|
||||
static ESGBackendType ToESGBackendType(const FEBackendType Enum);
|
||||
static FEBackendType ToEBackendType(ESGBackendType Enum);
|
||||
static ESGBackendType ToESGBackendType(FEBackendType Enum);
|
||||
|
||||
static FECalibrationStageType ToECalibrationStage(const ESGCalibrationStage Enum);
|
||||
static ESGCalibrationStage ToESGCalibrationStage(const FECalibrationStageType Enum);
|
||||
static FECalibrationStageType ToECalibrationStage(ESGCalibrationStage Enum);
|
||||
static ESGCalibrationStage ToESGCalibrationStage(FECalibrationStageType Enum);
|
||||
|
||||
static FEConnectionType ToEConnectionType(const ESGConnectionType Enum);
|
||||
static ESGConnectionType ToESGConnectionType(const FEConnectionType Enum);
|
||||
static FEConnectionType ToEConnectionType(ESGConnectionType Enum);
|
||||
static ESGConnectionType ToESGConnectionType(FEConnectionType Enum);
|
||||
|
||||
static FEDeviceType ToEDeviceType(const ESGDeviceType Enum);
|
||||
static ESGDeviceType ToESGDeviceType(const FEDeviceType Enum);
|
||||
static FEDeviceType ToEDeviceType(ESGDeviceType Enum);
|
||||
static ESGDeviceType ToESGDeviceType(FEDeviceType Enum);
|
||||
|
||||
static FEFingerType ToEFinger(const ESGFinger Enum);
|
||||
static ESGFinger ToESGFinger(const FEFingerType Enum);
|
||||
static FEFingerType ToEFinger(ESGFinger Enum);
|
||||
static ESGFinger ToESGFinger(FEFingerType Enum);
|
||||
|
||||
static FEFingerMovementType ToEFingerMovement(const ESGFingerMovement Enum);
|
||||
static ESGFingerMovement ToESGFingerMovement(const FEFingerMovementType Enum);
|
||||
static FEFingerMovementType ToEFingerMovement(ESGFingerMovement Enum);
|
||||
static ESGFingerMovement ToESGFingerMovement(FEFingerMovementType Enum);
|
||||
|
||||
static FEFingerSolverType ToEFingerSolver(const ESGFingerSolver Enum);
|
||||
static ESGFingerSolver ToESGFingerSolver(const FEFingerSolverType Enum);
|
||||
static FEFingerSolverType ToEFingerSolver(ESGFingerSolver Enum);
|
||||
static ESGFingerSolver ToESGFingerSolver(FEFingerSolverType Enum);
|
||||
|
||||
static FEPositionalTrackingHardware ToEPositionalTrackingHardware(const ESGPositionalTrackingHardware Enum);
|
||||
static ESGPositionalTrackingHardware ToESGPositionalTrackingHardware(const FEPositionalTrackingHardware Enum);
|
||||
static FEPositionalTrackingHardware ToEPositionalTrackingHardware(ESGPositionalTrackingHardware Enum);
|
||||
static ESGPositionalTrackingHardware ToESGPositionalTrackingHardware(FEPositionalTrackingHardware Enum);
|
||||
|
||||
static FEThumbMovementType ToEThumbMovement(const ESGThumbMovement Enum);
|
||||
static ESGThumbMovement ToESGThumbMovement(const FEThumbMovementType Enum);
|
||||
static FESenseGloveThumperCommandType ToESenseGloveThumperCommand(ESGSenseGloveThumperCommand Enum);
|
||||
static ESGSenseGloveThumperCommand ToESGSenseGloveThumperCommand(FESenseGloveThumperCommandType Enum);
|
||||
|
||||
static FEThumbSolverType ToEThumbSolver(const ESGThumbSolver Enum);
|
||||
static ESGThumbSolver ToESGThumbSolver(const FEThumbSolverType Enum);
|
||||
static FEThumbMovementType ToEThumbMovement(ESGThumbMovement Enum);
|
||||
static ESGThumbMovement ToESGThumbMovement(FEThumbMovementType Enum);
|
||||
|
||||
static FEThumbSolverType ToEThumbSolver(ESGThumbSolver Enum);
|
||||
static ESGThumbSolver ToESGThumbSolver(FEThumbSolverType Enum);
|
||||
};
|
||||
@@ -5033,6 +5033,26 @@ bool SGCoreImpl_FSGSenseGloveImpl_GetHandPose_HandProfile_OutHandPose(
|
||||
StaticCast<FSGIC_FSGHandPoseImpl*>(OutHandPose)->HandPoseImpl);
|
||||
}
|
||||
|
||||
bool SGCoreImpl_FSGSenseGloveImpl_SendHaptics_ForceFeedbackCommand_BuzzCommand_ESenseGloveThumperCommand(
|
||||
void* Instance,
|
||||
void* ForceFeedbackCommand,
|
||||
void* BuzzCommand,
|
||||
void* ThumperCommand)
|
||||
{
|
||||
return StaticCast<FSGIC_TSharedPtr_FSGSenseGloveImpl*>(Instance)->Ptr->SendHaptics(
|
||||
StaticCast<FSGIC_FSGForceFeedbackCommandImpl*>(ForceFeedbackCommand)->ForceFeedbackCommandImpl,
|
||||
StaticCast<FSGIC_FSGBuzzCommandImpl*>(BuzzCommand)->BuzzCommandImpl,
|
||||
StaticCast<FSGIC_ESGSenseGloveThumperCommand*>(ThumperCommand)->Command);
|
||||
}
|
||||
|
||||
bool SGCoreImpl_FSGSenseGloveImpl_SendHaptics_ThumperCommand(
|
||||
void* Instance,
|
||||
void* ThumperCommand)
|
||||
{
|
||||
return StaticCast<FSGIC_TSharedPtr_FSGSenseGloveImpl*>(Instance)->Ptr->SendHaptics(
|
||||
StaticCast<FSGIC_ESGSenseGloveThumperCommand*>(ThumperCommand)->Command);
|
||||
}
|
||||
|
||||
void SGCoreImpl_FSGSenseGloveImpl_SendHaptics_ForceFeedbackCommand(
|
||||
void* Instance,
|
||||
void* ForceFeedbackCommand)
|
||||
|
||||
@@ -426,6 +426,20 @@ bool FSGSenseGloveImpl::GetHandPose(const FSGHandProfileImpl& HandProfile, FSGHa
|
||||
return bResult;
|
||||
}
|
||||
|
||||
bool FSGSenseGloveImpl::SendHaptics(const FSGForceFeedbackCommandImpl& ForceFeedbackCommand,
|
||||
const FSGBuzzCommandImpl& BuzzCommand,
|
||||
ESGSenseGloveThumperCommand ThumperCommand)
|
||||
{
|
||||
return ToSenseGlovePtrChecked()->SendHaptics(ForceFeedbackCommand.ToForceFeedbackCommand(),
|
||||
BuzzCommand.ToBuzzCommand(),
|
||||
FSGCoreEnumCast::ToESenseGloveThumperCommand(ThumperCommand));
|
||||
}
|
||||
|
||||
bool FSGSenseGloveImpl::SendHaptics(ESGSenseGloveThumperCommand ThumperCommand)
|
||||
{
|
||||
return ToSenseGlovePtrChecked()->SendHaptics(FSGCoreEnumCast::ToESenseGloveThumperCommand(ThumperCommand));
|
||||
}
|
||||
|
||||
void FSGSenseGloveImpl::SendHaptics(const FSGForceFeedbackCommandImpl& ForceFeedbackCommand)
|
||||
{
|
||||
ToSenseGlovePtrChecked()->SendHaptics(ForceFeedbackCommand.ToForceFeedbackCommand());
|
||||
|
||||
@@ -2522,6 +2522,17 @@ SENSEGLOVECOREIMPL_PUBLIC_API bool SGCoreImpl_FSGSenseGloveImpl_GetHandPose_Hand
|
||||
void* HandProfile,
|
||||
void* OutHandPose);
|
||||
|
||||
SENSEGLOVECOREIMPL_PUBLIC_API bool
|
||||
SGCoreImpl_FSGSenseGloveImpl_SendHaptics_ForceFeedbackCommand_BuzzCommand_ESenseGloveThumperCommand(
|
||||
void* Instance,
|
||||
void* ForceFeedbackCommand,
|
||||
void* BuzzCommand,
|
||||
void* ThumperCommand);
|
||||
|
||||
SENSEGLOVECOREIMPL_PUBLIC_API bool SGCoreImpl_FSGSenseGloveImpl_SendHaptics_ThumperCommand(
|
||||
void* Instance,
|
||||
void* ThumperCommand);
|
||||
|
||||
SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGSenseGloveImpl_SendHaptics_ForceFeedbackCommand(
|
||||
void* Instance,
|
||||
void* ForceFeedbackCommand);
|
||||
@@ -3236,7 +3247,8 @@ SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGTimedBuzzCommandImpl_ctor_BaseC
|
||||
float DurationSeconds,
|
||||
float StartTimeSeconds);
|
||||
|
||||
SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGTimedBuzzCommandImpl_ctor_BaseCommand_DurationSeconds_StartTimeSeconds_MakeShared(
|
||||
SENSEGLOVECOREIMPL_PUBLIC_API void
|
||||
SGCoreImpl_FSGTimedBuzzCommandImpl_ctor_BaseCommand_DurationSeconds_StartTimeSeconds_MakeShared(
|
||||
void* OutSharedPtr,
|
||||
void* BaseCommand,
|
||||
float DurationSeconds,
|
||||
|
||||
@@ -236,6 +236,17 @@ public:
|
||||
virtual bool GetHandPose(const FSGHandProfileImpl& HandProfile, FSGHandPoseImpl& OutHandPose) override;
|
||||
|
||||
public:
|
||||
/// HACK
|
||||
/// 'FSGSenseGloveImpl::SendHaptics' hides overloaded virtual functions [-Werror,-Woverloaded-virtual]
|
||||
/// tell the compiler we want both the SendHaptics from FSGHapticGloveImpl and FSGSenseGloveImpl
|
||||
using FSGHapticGloveImpl::SendHaptics;
|
||||
|
||||
bool SendHaptics(const FSGForceFeedbackCommandImpl& ForceFeedbackCommand,
|
||||
const FSGBuzzCommandImpl& BuzzCommand,
|
||||
ESGSenseGloveThumperCommand ThumperCommand = ESGSenseGloveThumperCommand::None);
|
||||
|
||||
bool SendHaptics(ESGSenseGloveThumperCommand ThumperCommand);
|
||||
|
||||
virtual void SendHaptics(const FSGForceFeedbackCommandImpl& ForceFeedbackCommand) override;
|
||||
|
||||
virtual void SendHaptics(const FSGBuzzCommandImpl& BuzzCommand) override;
|
||||
|
||||
Reference in New Issue
Block a user