another attempt at improving the glove casts
This commit is contained in:
@@ -151,35 +151,35 @@ TSharedRef<FSGDeviceImpl> FSGDeviceImpl::ToSGDeviceImplRef()
|
||||
|
||||
TSharedRef<FSGBetaDeviceImpl> FSGDeviceImpl::ToBetaDeviceImplRef()
|
||||
{
|
||||
FSGBetaDeviceImpl* BetaDevice(dynamic_cast<FSGBetaDeviceImpl*>(this));
|
||||
FSGBetaDeviceImpl* BetaDevice{dynamic_cast<FSGBetaDeviceImpl*>(this)};
|
||||
ensureAlwaysMsgf(BetaDevice, TEXT("Invalid BetaDevice!"));
|
||||
return SharedThis(BetaDevice);
|
||||
}
|
||||
|
||||
TSharedRef<FSGHapticGloveImpl> FSGDeviceImpl::ToHapticGloveImplRef()
|
||||
{
|
||||
FSGHapticGloveImpl* HapticGlove(dynamic_cast<FSGHapticGloveImpl*>(this));
|
||||
FSGHapticGloveImpl* HapticGlove{dynamic_cast<FSGHapticGloveImpl*>(this)};
|
||||
ensureAlwaysMsgf(HapticGlove, TEXT("Invalid HapticGlove!"));
|
||||
return SharedThis(HapticGlove);
|
||||
}
|
||||
|
||||
TSharedRef<FSGNova2GloveImpl> FSGDeviceImpl::ToNova2GloveImplRef()
|
||||
{
|
||||
FSGNova2GloveImpl* Nova2Glove(dynamic_cast<FSGNova2GloveImpl*>(this));
|
||||
FSGNova2GloveImpl* Nova2Glove{dynamic_cast<FSGNova2GloveImpl*>(this)};
|
||||
ensureAlwaysMsgf(Nova2Glove, TEXT("Invalid Nova2Glove!"));
|
||||
return SharedThis(Nova2Glove);
|
||||
}
|
||||
|
||||
TSharedRef<FSGNovaGloveImpl> FSGDeviceImpl::ToNovaGloveImplRef()
|
||||
{
|
||||
FSGNovaGloveImpl* NovaGlove(dynamic_cast<FSGNovaGloveImpl*>(this));
|
||||
FSGNovaGloveImpl* NovaGlove{dynamic_cast<FSGNovaGloveImpl*>(this)};
|
||||
ensureAlwaysMsgf(NovaGlove, TEXT("Invalid NovaGlove!"));
|
||||
return SharedThis(NovaGlove);
|
||||
}
|
||||
|
||||
TSharedRef<FSGSenseGloveImpl> FSGDeviceImpl::ToSenseGloveImplRef()
|
||||
{
|
||||
FSGSenseGloveImpl* SenseGlove(dynamic_cast<FSGSenseGloveImpl*>(this));
|
||||
FSGSenseGloveImpl* SenseGlove{dynamic_cast<FSGSenseGloveImpl*>(this)};
|
||||
ensureAlwaysMsgf(SenseGlove, TEXT("Invalid SenseGlove!"));
|
||||
return SharedThis(SenseGlove);
|
||||
}
|
||||
@@ -192,6 +192,14 @@ bool FSGDeviceImpl::IsABetaDevice() const
|
||||
return BetaDevice != nullptr;
|
||||
}
|
||||
|
||||
bool FSGDeviceImpl::IsAHapticGlove() const
|
||||
{
|
||||
const FSGHapticGloveImpl::FHapticGlovePtrType HapticGlove{
|
||||
std::dynamic_pointer_cast<FSGHapticGloveImpl::FHapticGloveType>(ToSGDevicePtr())
|
||||
};
|
||||
return HapticGlove != nullptr;
|
||||
}
|
||||
|
||||
bool FSGDeviceImpl::IsANova2Glove() const
|
||||
{
|
||||
const FSGNova2GloveImpl::FNova2GlovePtrType Nova2Glove{
|
||||
|
||||
@@ -1078,6 +1078,12 @@ bool SGCoreImpl_FSGDeviceImpl_IsABetaDevice(
|
||||
return StaticCast<FSGIC_TSharedPtr_FSGDeviceImpl*>(Instance)->Ptr->IsABetaDevice();
|
||||
}
|
||||
|
||||
bool SGCoreImpl_FSGDeviceImpl_IsAHapticGlove(
|
||||
void* Instance)
|
||||
{
|
||||
return StaticCast<FSGIC_TSharedPtr_FSGDeviceImpl*>(Instance)->Ptr->IsAHapticGlove();
|
||||
}
|
||||
|
||||
bool SGCoreImpl_FSGDeviceImpl_IsANova2Glove(
|
||||
void* Instance)
|
||||
{
|
||||
|
||||
@@ -168,6 +168,7 @@ public:
|
||||
|
||||
public:
|
||||
bool IsABetaDevice() const;
|
||||
bool IsAHapticGlove() const;
|
||||
bool IsANova2Glove() const;
|
||||
bool IsANovaGlove() const;
|
||||
bool IsASenseGlove() const;
|
||||
|
||||
@@ -556,6 +556,9 @@ SENSEGLOVECOREIMPL_PUBLIC_API void SGCoreImpl_FSGDeviceImpl_ToSenseGloveImplRef(
|
||||
SENSEGLOVECOREIMPL_PUBLIC_API bool SGCoreImpl_FSGDeviceImpl_IsABetaDevice(
|
||||
void* Instance);
|
||||
|
||||
SENSEGLOVECOREIMPL_PUBLIC_API bool SGCoreImpl_FSGDeviceImpl_IsAHapticGlove(
|
||||
void* Instance);
|
||||
|
||||
SENSEGLOVECOREIMPL_PUBLIC_API bool SGCoreImpl_FSGDeviceImpl_IsANova2Glove(
|
||||
void* Instance);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user