remove unit conversions from the internal vect3d wrappers

This commit is contained in:
Mamadou Babaei
2022-11-17 02:29:50 +01:00
parent ac0c6981da
commit 38afdc0de7
@@ -39,7 +39,6 @@
#include "Runtime/Launch/Resources/Version.h"
#include "SGBuildHacks/SGInclude_Core_Vect3D.h"
#include "SGUtils/SGUnits.h"
struct FSGVect3DImpl::FImpl
{
@@ -102,12 +101,7 @@ FSGVect3DImpl::FSGVect3DImpl(const float X, const float Y, const float Z)
Pimpl(TUniquePtr<FImpl, FImplDeleter>(new FImpl{this}))
#endif /* ENGINE_MAJOR_VERSION == 5 || ( ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION > 22 ) */
{
/// NOTE
/// Unreal Engine uses the Metric System and centimeters as its default unit for measuring distance/length;
/// while SenseGlove uses millimeters.
Pimpl->Vect3D = FVect3DType(FSGUnits::CentimetersToMillimeters(X),
FSGUnits::CentimetersToMillimeters(Y),
FSGUnits::CentimetersToMillimeters(Z));
Pimpl->Vect3D = FVect3DType(X, Y, Z);
}
FSGVect3DImpl::FSGVect3DImpl(const FVect3DType& Vect3D)
@@ -139,14 +133,7 @@ FSGVect3DImpl::FSGVect3DImpl(const FVector& Vector)
/// Right Y
/// Up Z
/// NOTE
/// Unreal Engine uses the Metric System and centimeters as its default unit for measuring distance/length;
/// while SenseGlove uses millimeters.
FVect3DType Vect3D(FSGUnits::CentimetersToMillimeters(Vector.X),
FSGUnits::CentimetersToMillimeters(-Vector.Y),
FSGUnits::CentimetersToMillimeters(Vector.Z));
FVect3DType Vect3D(Vector.X, -Vector.Y, Vector.Z);
Pimpl->Vect3D = MoveTemp(Vect3D);
}
@@ -191,14 +178,7 @@ FVector FSGVect3DImpl::ToFVector() const
/// Right Y
/// Up Z
/// NOTE
/// Unreal Engine uses the Metric System and centimeters as its default unit for measuring distance/length;
/// while SenseGlove uses millimeters.
FVector Vector(FSGUnits::MillimetersToCentimeters(Pimpl->Vect3D.GetX()),
FSGUnits::MillimetersToCentimeters(-Pimpl->Vect3D.GetY()),
FSGUnits::MillimetersToCentimeters(Pimpl->Vect3D.GetZ()));
FVector Vector(Pimpl->Vect3D.GetX(), -Pimpl->Vect3D.GetY(), Pimpl->Vect3D.GetZ());
return MoveTemp(Vector);
}
@@ -219,58 +199,37 @@ FSGVect3DImpl FSGVect3DImpl::operator*(const float& ScaleFactor) const
float FSGVect3DImpl::GetX() const
{
/// NOTE
/// Unreal Engine uses the Metric System and centimeters as its default unit for measuring distance/length;
/// while SenseGlove uses millimeters.
return FSGUnits::MillimetersToCentimeters(Pimpl->Vect3D.GetX());
return Pimpl->Vect3D.GetX();
}
void FSGVect3DImpl::SetX(const float X)
{
/// NOTE
/// Unreal Engine uses the Metric System and centimeters as its default unit for measuring distance/length;
/// while SenseGlove uses millimeters.
Pimpl->Vect3D.SetX(FSGUnits::CentimetersToMillimeters(X));
Pimpl->Vect3D.SetX(X);
}
float FSGVect3DImpl::GetY() const
{
/// NOTE
/// Unreal Engine uses the Metric System and centimeters as its default unit for measuring distance/length;
/// while SenseGlove uses millimeters.
return FSGUnits::MillimetersToCentimeters(Pimpl->Vect3D.GetY());
return Pimpl->Vect3D.GetY();
}
void FSGVect3DImpl::SetY(const float Y)
{
/// NOTE
/// Unreal Engine uses the Metric System and centimeters as its default unit for measuring distance/length;
/// while SenseGlove uses millimeters.
Pimpl->Vect3D.SetY(FSGUnits::CentimetersToMillimeters(Y));
Pimpl->Vect3D.SetY(Y);
}
float FSGVect3DImpl::GetZ() const
{
/// NOTE
/// Unreal Engine uses the Metric System and centimeters as its default unit for measuring distance/length;
/// while SenseGlove uses millimeters.
return FSGUnits::MillimetersToCentimeters(Pimpl->Vect3D.GetZ());
return Pimpl->Vect3D.GetZ();
}
void FSGVect3DImpl::SetZ(const float Z)
{
/// NOTE
/// Unreal Engine uses the Metric System and centimeters as its default unit for measuring distance/length;
/// while SenseGlove uses millimeters.
Pimpl->Vect3D.SetZ(FSGUnits::CentimetersToMillimeters(Z));
Pimpl->Vect3D.SetZ(Z);
}
float FSGVect3DImpl::Magnitude() const
{
/// NOTE
/// Unreal Engine uses the Metric System and centimeters as its default unit for measuring distance/length;
/// while SenseGlove uses millimeters.
return FSGUnits::MillimetersToCentimeters(Pimpl->Vect3D.Magnitude());
return Pimpl->Vect3D.Magnitude();
}
void FSGVect3DImpl::Normalize()
@@ -285,10 +244,7 @@ void FSGVect3DImpl::Scale(const float Factor)
float FSGVect3DImpl::DistTo(const FSGVect3DImpl& Vect3DImpl) const
{
/// NOTE
/// Unreal Engine uses the Metric System and centimeters as its default unit for measuring distance/length;
/// while SenseGlove uses millimeters.
return FSGUnits::MillimetersToCentimeters(Pimpl->Vect3D.DistTo(Vect3DImpl.ToVect3D()));
return Pimpl->Vect3D.DistTo(Vect3DImpl.ToVect3D());
}
bool FSGVect3DImpl::Equals(const FSGVect3DImpl& Vect3DImpl) const