use device impl casts

This commit is contained in:
Mamadou Babaei
2024-03-22 20:54:16 +01:00
parent a26f1d9e42
commit 86e283e700
@@ -35,6 +35,7 @@
#include "SGCore/SGDevice.h"
#include "SGDeviceImplCast.h"
#include "Engine/Engine.h"
#include "SGCore/SGBetaDevice.h"
@@ -346,51 +347,36 @@ bool USGDevice::IsASenseGlove() const
USGBetaDevice* USGDevice::AsBetaDevice(UObject* Outer) const
{
FSGIC_TSharedPtr_FSGDeviceImpl InstanceContainer{ToSGDeviceImpl()};
FSGIC_TSharedPtr_FSGBetaDeviceImpl OutSharedPtr;
SGCoreImpl_FSGDeviceImpl_ToBetaDeviceImplRef(&InstanceContainer, &OutSharedPtr);
USGBetaDevice* BetaDevice = NewObject<USGBetaDevice>(Outer);
BetaDevice->SetSGDeviceImpl(*OutSharedPtr.Ptr.Get());
BetaDevice->SetSGDeviceImpl(FSGDeviceImplCast::ToBetaDeviceImpl(ToSGDeviceImpl()));
return BetaDevice;
}
USGHapticGlove* USGDevice::AsHapticGlove(UObject* Outer) const
{
FSGIC_TSharedPtr_FSGDeviceImpl InstanceContainer{ToSGDeviceImpl()};
FSGIC_TSharedPtr_FSGHapticGloveImpl OutSharedPtr;
SGCoreImpl_FSGDeviceImpl_ToHapticGloveImplRef(&InstanceContainer, &OutSharedPtr);
USGHapticGlove* HapticGlove = NewObject<USGHapticGlove>(Outer);
HapticGlove->SetSGDeviceImpl(*OutSharedPtr.Ptr.Get());
HapticGlove->SetSGDeviceImpl(FSGDeviceImplCast::ToHapticGloveImpl(ToSGDeviceImpl()));
return HapticGlove;
}
USGNova2Glove* USGDevice::AsNova2Glove(UObject* Outer) const
{
FSGIC_TSharedPtr_FSGDeviceImpl InstanceContainer{ToSGDeviceImpl()};
FSGIC_TSharedPtr_FSGNova2GloveImpl OutSharedPtr;
SGCoreImpl_FSGDeviceImpl_ToNova2GloveImplRef(&InstanceContainer, &OutSharedPtr);
USGNova2Glove* Nova2Glove = NewObject<USGNova2Glove>(Outer);
Nova2Glove->SetSGDeviceImpl(*OutSharedPtr.Ptr.Get());
Nova2Glove->SetSGDeviceImpl(FSGDeviceImplCast::ToNova2GloveImpl(ToSGDeviceImpl()));
return Nova2Glove;
}
USGNovaGlove* USGDevice::AsNovaGlove(UObject* Outer) const
{
FSGIC_TSharedPtr_FSGDeviceImpl InstanceContainer{ToSGDeviceImpl()};
FSGIC_TSharedPtr_FSGNovaGloveImpl OutSharedPtr;
SGCoreImpl_FSGDeviceImpl_ToNovaGloveImplRef(&InstanceContainer, &OutSharedPtr);
USGNovaGlove* NovaGlove = NewObject<USGNovaGlove>(Outer);
NovaGlove->SetSGDeviceImpl(*OutSharedPtr.Ptr.Get());
NovaGlove->SetSGDeviceImpl(FSGDeviceImplCast::ToNovaGloveImpl(ToSGDeviceImpl()));
return NovaGlove;
}
USGSenseGlove* USGDevice::AsSenseGlove(UObject* Outer) const
{
FSGIC_TSharedPtr_FSGDeviceImpl InstanceContainer{ToSGDeviceImpl()};
FSGIC_TSharedPtr_FSGSenseGloveImpl OutSharedPtr;
SGCoreImpl_FSGDeviceImpl_ToSenseGloveImplRef(&InstanceContainer, &OutSharedPtr);
USGSenseGlove* SenseGlove = NewObject<USGSenseGlove>(Outer);
SenseGlove->SetSGDeviceImpl(*OutSharedPtr.Ptr.Get());
SenseGlove->SetSGDeviceImpl(FSGDeviceImplCast::ToSenseGloveImpl(ToSGDeviceImpl()));
return SenseGlove;
}