add some performance optimizations by utilizing MoveTemp in return statements
This commit is contained in:
@@ -302,10 +302,10 @@ void FSGBasicHandModelImpl::SetJointRotation(const FQuat& NewRotation, const ESG
|
|||||||
|
|
||||||
TArray<float> FSGBasicHandModelImpl::GetTotalLengths() const
|
TArray<float> FSGBasicHandModelImpl::GetTotalLengths() const
|
||||||
{
|
{
|
||||||
const TArray<float> TotalLengths{
|
TArray<float> TotalLengths{
|
||||||
FSGArrayUtils::FromMillimeters(Pimpl->BasicHandModel.GetTotalLengths())
|
FSGArrayUtils::FromMillimeters(Pimpl->BasicHandModel.GetTotalLengths())
|
||||||
};
|
};
|
||||||
return TotalLengths;
|
return MoveTemp(TotalLengths);
|
||||||
}
|
}
|
||||||
|
|
||||||
float FSGBasicHandModelImpl::GetTotalLength(const ESGFinger Finger) const
|
float FSGBasicHandModelImpl::GetTotalLength(const ESGFinger Finger) const
|
||||||
@@ -316,11 +316,11 @@ float FSGBasicHandModelImpl::GetTotalLength(const ESGFinger Finger) const
|
|||||||
|
|
||||||
TArray<FVector> FSGBasicHandModelImpl::Get3DLengths(const ESGFinger Finger) const
|
TArray<FVector> FSGBasicHandModelImpl::Get3DLengths(const ESGFinger Finger) const
|
||||||
{
|
{
|
||||||
const TArray<FVector> Lengths{
|
TArray<FVector> Lengths{
|
||||||
FSGArrayUtils::FromMillimeters<FSGVect3DImpl::FVect3DType, FSGVect3DImpl>(
|
FSGArrayUtils::FromMillimeters<FSGVect3DImpl::FVect3DType, FSGVect3DImpl>(
|
||||||
Pimpl->BasicHandModel.Get3DLengths(FSGCoreEnumCast::ToEFinger(Finger)))
|
Pimpl->BasicHandModel.Get3DLengths(FSGCoreEnumCast::ToEFinger(Finger)))
|
||||||
};
|
};
|
||||||
return Lengths;
|
return MoveTemp(Lengths);
|
||||||
}
|
}
|
||||||
|
|
||||||
bool FSGBasicHandModelImpl::Equals(const FSGBasicHandModelImpl& BasicHandModelImpl) const
|
bool FSGBasicHandModelImpl::Equals(const FSGBasicHandModelImpl& BasicHandModelImpl) const
|
||||||
@@ -330,20 +330,20 @@ bool FSGBasicHandModelImpl::Equals(const FSGBasicHandModelImpl& BasicHandModelIm
|
|||||||
|
|
||||||
FString FSGBasicHandModelImpl::ToString() const
|
FString FSGBasicHandModelImpl::ToString() const
|
||||||
{
|
{
|
||||||
const FString String(UTF8_TO_TCHAR(Pimpl->BasicHandModel.ToString().c_str()));
|
FString String(UTF8_TO_TCHAR(Pimpl->BasicHandModel.ToString().c_str()));
|
||||||
return String;
|
return MoveTemp(String);
|
||||||
}
|
}
|
||||||
|
|
||||||
FString FSGBasicHandModelImpl::ToString(const bool bLengthsOnly) const
|
FString FSGBasicHandModelImpl::ToString(const bool bLengthsOnly) const
|
||||||
{
|
{
|
||||||
const FString String(UTF8_TO_TCHAR(Pimpl->BasicHandModel.ToString(bLengthsOnly).c_str()));
|
FString String(UTF8_TO_TCHAR(Pimpl->BasicHandModel.ToString(bLengthsOnly).c_str()));
|
||||||
return String;
|
return MoveTemp(String);
|
||||||
}
|
}
|
||||||
|
|
||||||
FString FSGBasicHandModelImpl::Serialize() const
|
FString FSGBasicHandModelImpl::Serialize() const
|
||||||
{
|
{
|
||||||
const FString Serialized(UTF8_TO_TCHAR(Pimpl->BasicHandModel.Serialize().c_str()));
|
FString Serialized(UTF8_TO_TCHAR(Pimpl->BasicHandModel.Serialize().c_str()));
|
||||||
return Serialized;
|
return MoveTemp(Serialized);
|
||||||
}
|
}
|
||||||
|
|
||||||
FSGBasicHandModelImpl::FImpl::FImpl(FSGBasicHandModelImpl* InOwner)
|
FSGBasicHandModelImpl::FImpl::FImpl(FSGBasicHandModelImpl* InOwner)
|
||||||
|
|||||||
@@ -84,8 +84,8 @@ void FSGDeviceImpl::ParseFirmware(const FString& RawFirmware, int32& OutMainVers
|
|||||||
|
|
||||||
FString FSGDeviceImpl::ToString(ESGDeviceType DeviceType)
|
FString FSGDeviceImpl::ToString(ESGDeviceType DeviceType)
|
||||||
{
|
{
|
||||||
const FString String{UTF8_TO_TCHAR(FSGDeviceType::ToString(FSGCoreEnumCast::ToEDeviceType(DeviceType)).c_str())};
|
FString String{UTF8_TO_TCHAR(FSGDeviceType::ToString(FSGCoreEnumCast::ToEDeviceType(DeviceType)).c_str())};
|
||||||
return String;
|
return MoveTemp(String);
|
||||||
}
|
}
|
||||||
|
|
||||||
FSGDeviceImpl::FSGDeviceImpl()
|
FSGDeviceImpl::FSGDeviceImpl()
|
||||||
@@ -192,14 +192,14 @@ int32 FSGDeviceImpl::GetSubFirmwareVersion() const
|
|||||||
|
|
||||||
FString FSGDeviceImpl::GetFirmwareString() const
|
FString FSGDeviceImpl::GetFirmwareString() const
|
||||||
{
|
{
|
||||||
const FString String{UTF8_TO_TCHAR(ToSGDevicePtrChecked()->GetFirmwareString().c_str())};
|
FString String{UTF8_TO_TCHAR(ToSGDevicePtrChecked()->GetFirmwareString().c_str())};
|
||||||
return String;
|
return MoveTemp(String);
|
||||||
}
|
}
|
||||||
|
|
||||||
FString FSGDeviceImpl::GetAddress() const
|
FString FSGDeviceImpl::GetAddress() const
|
||||||
{
|
{
|
||||||
const FString String(UTF8_TO_TCHAR(ToSGDevicePtrChecked()->GetAddress().c_str()));
|
FString String(UTF8_TO_TCHAR(ToSGDevicePtrChecked()->GetAddress().c_str()));
|
||||||
return String;
|
return MoveTemp(String);
|
||||||
}
|
}
|
||||||
|
|
||||||
bool FSGDeviceImpl::IsConnected() const
|
bool FSGDeviceImpl::IsConnected() const
|
||||||
@@ -254,8 +254,8 @@ bool FSGDeviceImpl::GetBatteryLevel(float& OutLevel)
|
|||||||
|
|
||||||
FString FSGDeviceImpl::ToString() const
|
FString FSGDeviceImpl::ToString() const
|
||||||
{
|
{
|
||||||
const FString String(UTF8_TO_TCHAR(ToSGDevicePtrChecked()->ToString().c_str()));
|
FString String(UTF8_TO_TCHAR(ToSGDevicePtrChecked()->ToString().c_str()));
|
||||||
return String;
|
return MoveTemp(String);
|
||||||
}
|
}
|
||||||
|
|
||||||
FSGDeviceImpl::FImpl::FImpl(FSGDeviceImpl* InOwner)
|
FSGDeviceImpl::FImpl::FImpl(FSGDeviceImpl* InOwner)
|
||||||
|
|||||||
@@ -268,8 +268,8 @@ bool FSGHandInterpolatorImpl::Equals(const FSGHandInterpolatorImpl& HandInterpol
|
|||||||
|
|
||||||
FString FSGHandInterpolatorImpl::Serialize() const
|
FString FSGHandInterpolatorImpl::Serialize() const
|
||||||
{
|
{
|
||||||
const FString Serialized(UTF8_TO_TCHAR(Pimpl->HandInterpolator.Serialize().c_str()));
|
FString Serialized(UTF8_TO_TCHAR(Pimpl->HandInterpolator.Serialize().c_str()));
|
||||||
return Serialized;
|
return MoveTemp(Serialized);
|
||||||
}
|
}
|
||||||
|
|
||||||
FSGHandInterpolatorImpl::FImpl::FImpl(FSGHandInterpolatorImpl* InOwner)
|
FSGHandInterpolatorImpl::FImpl::FImpl(FSGHandInterpolatorImpl* InOwner)
|
||||||
|
|||||||
@@ -200,20 +200,20 @@ bool FSGInterpolationSetImpl::Equals(const FSGInterpolationSetImpl& Interpolatio
|
|||||||
|
|
||||||
FString FSGInterpolationSetImpl::ToString() const
|
FString FSGInterpolationSetImpl::ToString() const
|
||||||
{
|
{
|
||||||
const FString String(UTF8_TO_TCHAR(Pimpl->InterpolationSet.ToString().c_str()));
|
FString String(UTF8_TO_TCHAR(Pimpl->InterpolationSet.ToString().c_str()));
|
||||||
return String;
|
return MoveTemp(String);
|
||||||
}
|
}
|
||||||
|
|
||||||
FString FSGInterpolationSetImpl::ToString(const bool bLimits) const
|
FString FSGInterpolationSetImpl::ToString(const bool bLimits) const
|
||||||
{
|
{
|
||||||
const FString String(UTF8_TO_TCHAR(Pimpl->InterpolationSet.ToString(bLimits).c_str()));
|
FString String(UTF8_TO_TCHAR(Pimpl->InterpolationSet.ToString(bLimits).c_str()));
|
||||||
return String;
|
return MoveTemp(String);
|
||||||
}
|
}
|
||||||
|
|
||||||
FString FSGInterpolationSetImpl::Serialize() const
|
FString FSGInterpolationSetImpl::Serialize() const
|
||||||
{
|
{
|
||||||
const FString Serialized(UTF8_TO_TCHAR(Pimpl->InterpolationSet.Serialize().c_str()));
|
FString Serialized(UTF8_TO_TCHAR(Pimpl->InterpolationSet.Serialize().c_str()));
|
||||||
return Serialized;
|
return MoveTemp(Serialized);
|
||||||
}
|
}
|
||||||
|
|
||||||
FSGInterpolationSetImpl::FImpl::FImpl(FSGInterpolationSetImpl* InOwner)
|
FSGInterpolationSetImpl::FImpl::FImpl(FSGInterpolationSetImpl* InOwner)
|
||||||
|
|||||||
@@ -51,47 +51,47 @@ FString FSGSenseGloveVarsImpl::GetStandardConstantsString(const FString& Hardwar
|
|||||||
const bool bRightHanded)
|
const bool bRightHanded)
|
||||||
{
|
{
|
||||||
std::string HardwareVersionString(TCHAR_TO_UTF8(*HardwareVersion));
|
std::string HardwareVersionString(TCHAR_TO_UTF8(*HardwareVersion));
|
||||||
const FString String(UTF8_TO_TCHAR(FSenseGloveVarsType::GetStandardConstantsString(MoveTemp(HardwareVersionString),
|
FString String(UTF8_TO_TCHAR(FSenseGloveVarsType::GetStandardConstantsString(MoveTemp(HardwareVersionString),
|
||||||
FirmwareVersion, bRightHanded).c_str()));
|
FirmwareVersion, bRightHanded).c_str()));
|
||||||
return String;
|
return MoveTemp(String);
|
||||||
}
|
}
|
||||||
|
|
||||||
FString FSGSenseGloveVarsImpl::GetSensorString(const FString& HardwareVersion, const float FirmwareVersion)
|
FString FSGSenseGloveVarsImpl::GetSensorString(const FString& HardwareVersion, const float FirmwareVersion)
|
||||||
{
|
{
|
||||||
std::string HardwareVersionString(TCHAR_TO_UTF8(*HardwareVersion));
|
std::string HardwareVersionString(TCHAR_TO_UTF8(*HardwareVersion));
|
||||||
const FString String(UTF8_TO_TCHAR(FSenseGloveVarsType::GetSensorString(MoveTemp(HardwareVersionString),
|
FString String(UTF8_TO_TCHAR(FSenseGloveVarsType::GetSensorString(MoveTemp(HardwareVersionString),
|
||||||
FirmwareVersion).c_str()));
|
FirmwareVersion).c_str()));
|
||||||
return String;
|
return MoveTemp(String);
|
||||||
}
|
}
|
||||||
|
|
||||||
TArray<FVector> FSGSenseGloveVarsImpl::GetStartPositions(const FString& HardwareVersion, const bool bRightHanded)
|
TArray<FVector> FSGSenseGloveVarsImpl::GetStartPositions(const FString& HardwareVersion, const bool bRightHanded)
|
||||||
{
|
{
|
||||||
std::string HardwareVersionString(TCHAR_TO_UTF8(*HardwareVersion));
|
std::string HardwareVersionString(TCHAR_TO_UTF8(*HardwareVersion));
|
||||||
const TArray<FVector> StartPositions{
|
TArray<FVector> StartPositions{
|
||||||
FSGArrayUtils::FromMillimeters<FSGVect3DImpl::FVect3DType, FSGVect3DImpl>(
|
FSGArrayUtils::FromMillimeters<FSGVect3DImpl::FVect3DType, FSGVect3DImpl>(
|
||||||
FSenseGloveVarsType::GetStartPositions(MoveTemp(HardwareVersionString), bRightHanded))
|
FSenseGloveVarsType::GetStartPositions(MoveTemp(HardwareVersionString), bRightHanded))
|
||||||
};
|
};
|
||||||
return StartPositions;
|
return MoveTemp(StartPositions);
|
||||||
}
|
}
|
||||||
|
|
||||||
TArray<FQuat> FSGSenseGloveVarsImpl::GetStartRotations(const FString& HardwareVersion, const bool bRightHanded)
|
TArray<FQuat> FSGSenseGloveVarsImpl::GetStartRotations(const FString& HardwareVersion, const bool bRightHanded)
|
||||||
{
|
{
|
||||||
std::string HardwareVersionString(TCHAR_TO_UTF8(*HardwareVersion));
|
std::string HardwareVersionString(TCHAR_TO_UTF8(*HardwareVersion));
|
||||||
const TArray<FQuat> StartRotations{
|
TArray<FQuat> StartRotations{
|
||||||
FSGArrayUtils::FromStdVector<FSGQuatImpl::FQuatType, FQuat, FSGQuatImpl, &FSGQuatImpl::ToFQuat>(
|
FSGArrayUtils::FromStdVector<FSGQuatImpl::FQuatType, FQuat, FSGQuatImpl, &FSGQuatImpl::ToFQuat>(
|
||||||
FSenseGloveVarsType::GetStartRotations(MoveTemp(HardwareVersionString), bRightHanded))
|
FSenseGloveVarsType::GetStartRotations(MoveTemp(HardwareVersionString), bRightHanded))
|
||||||
};
|
};
|
||||||
return StartRotations;
|
return MoveTemp(StartRotations);
|
||||||
}
|
}
|
||||||
|
|
||||||
TArray<TArray<FVector>> FSGSenseGloveVarsImpl::GetGloveLengths(const FString& HardwareVersion)
|
TArray<TArray<FVector>> FSGSenseGloveVarsImpl::GetGloveLengths(const FString& HardwareVersion)
|
||||||
{
|
{
|
||||||
std::string HardwareVersionString(TCHAR_TO_UTF8(*HardwareVersion));
|
std::string HardwareVersionString(TCHAR_TO_UTF8(*HardwareVersion));
|
||||||
const TArray<TArray<FVector>> GloveLengths{
|
TArray<TArray<FVector>> GloveLengths{
|
||||||
FSGArrayUtils::FromMillimeters<FSGVect3DImpl::FVect3DType, FSGVect3DImpl>(
|
FSGArrayUtils::FromMillimeters<FSGVect3DImpl::FVect3DType, FSGVect3DImpl>(
|
||||||
FSenseGloveVarsType::GetGloveLengths(MoveTemp(HardwareVersionString)))
|
FSenseGloveVarsType::GetGloveLengths(MoveTemp(HardwareVersionString)))
|
||||||
};
|
};
|
||||||
return GloveLengths;
|
return MoveTemp(GloveLengths);
|
||||||
}
|
}
|
||||||
|
|
||||||
int32 FSGSenseGloveVarsImpl::GetSensors(const FString& HardwareVersion)
|
int32 FSGSenseGloveVarsImpl::GetSensors(const FString& HardwareVersion)
|
||||||
@@ -112,10 +112,10 @@ TArray<bool> FSGSenseGloveVarsImpl::GetFunctions(const FString& HardwareVersion,
|
|||||||
const int32 SubFirmwareVersion)
|
const int32 SubFirmwareVersion)
|
||||||
{
|
{
|
||||||
std::string HardwareVersionString(TCHAR_TO_UTF8(*HardwareVersion));
|
std::string HardwareVersionString(TCHAR_TO_UTF8(*HardwareVersion));
|
||||||
const TArray<bool> Functions{FSGArrayUtils::FromStdVector(FSenseGloveVarsType::GetFunctions(
|
TArray<bool> Functions{FSGArrayUtils::FromStdVector(FSenseGloveVarsType::GetFunctions(
|
||||||
MoveTemp(HardwareVersionString), FirmwareVersion, SubFirmwareVersion))
|
MoveTemp(HardwareVersionString), FirmwareVersion, SubFirmwareVersion))
|
||||||
};
|
};
|
||||||
return Functions;
|
return MoveTemp(Functions);
|
||||||
}
|
}
|
||||||
|
|
||||||
FSGSenseGloveInfoImpl FSGSenseGloveVarsImpl::GenerateGloveModel(const FString& HardwareVersion,
|
FSGSenseGloveInfoImpl FSGSenseGloveVarsImpl::GenerateGloveModel(const FString& HardwareVersion,
|
||||||
|
|||||||
Reference in New Issue
Block a user