implement proper mm/cm conversions
This commit is contained in:
@@ -210,12 +210,16 @@ void FSGSenseGloveImpl::CalculateGloveLocation(const FVector& ReferencePosition,
|
||||
{
|
||||
FSGVect3DImpl::FVect3DType GlovePosition;
|
||||
FSGQuatImpl::FQuatType GloveRotation;
|
||||
FSenseGloveType::CalculateGloveLocation(FSGVect3DImpl{ReferencePosition}.ToVect3D(),
|
||||
FSGQuatImpl{ReferenceRotation}.ToQuat(),
|
||||
FSGCoreEnumCast::ToEPositionalTrackingHardware(TrackingHardware),
|
||||
bRightHanded, FSGCoreEnumCast::ToEFinger(MountedOn),
|
||||
GlovePosition, GloveRotation);
|
||||
OutGlovePosition = FSGVect3DImpl{MoveTemp(GlovePosition)}.ToFVector();
|
||||
|
||||
FSenseGloveType::CalculateGloveLocation(
|
||||
FSGUnits::CentimetersToMillimeters<FSGVect3DImpl::FVect3DType, FSGVect3DImpl>(ReferencePosition),
|
||||
FSGQuatImpl{ReferenceRotation}.ToQuat(),
|
||||
FSGCoreEnumCast::ToEPositionalTrackingHardware(TrackingHardware),
|
||||
bRightHanded, FSGCoreEnumCast::ToEFinger(MountedOn),
|
||||
GlovePosition, GloveRotation);
|
||||
|
||||
OutGlovePosition = FSGUnits::MillimetersToCentimeters<FSGVect3DImpl::FVect3DType, FSGVect3DImpl>(
|
||||
MoveTemp(GlovePosition));;
|
||||
OutGloveRotation = FSGQuatImpl{MoveTemp(GloveRotation)}.ToFQuat();
|
||||
}
|
||||
|
||||
@@ -228,14 +232,18 @@ void FSGSenseGloveImpl::CalculateWristLocation(const FVector& ReferencePosition,
|
||||
{
|
||||
FSGVect3DImpl::FVect3DType WristPosition;
|
||||
FSGQuatImpl::FQuatType WristRotation;
|
||||
FSenseGloveType::CalculateWristLocation(FSGVect3DImpl{ReferencePosition}.ToVect3D(),
|
||||
FSGQuatImpl{ReferenceRotation}.ToQuat(),
|
||||
FSGCoreEnumCast::ToEPositionalTrackingHardware(TrackingHardware),
|
||||
bRightHanded, FSGCoreEnumCast::ToEFinger(MountedOn),
|
||||
FSGVect3DImpl(GloveWristPositionOffset).ToVect3D(),
|
||||
FSGQuatImpl(GloveWristRotationOffset).ToQuat(),
|
||||
WristPosition, WristRotation);
|
||||
OutWristPosition = FSGVect3DImpl{MoveTemp(WristPosition)}.ToFVector();
|
||||
|
||||
FSenseGloveType::CalculateWristLocation(
|
||||
FSGUnits::CentimetersToMillimeters<FSGVect3DImpl::FVect3DType, FSGVect3DImpl>(ReferencePosition),
|
||||
FSGQuatImpl{ReferenceRotation}.ToQuat(),
|
||||
FSGCoreEnumCast::ToEPositionalTrackingHardware(TrackingHardware),
|
||||
bRightHanded, FSGCoreEnumCast::ToEFinger(MountedOn),
|
||||
FSGUnits::CentimetersToMillimeters<FSGVect3DImpl::FVect3DType, FSGVect3DImpl>(GloveWristPositionOffset),
|
||||
FSGQuatImpl(GloveWristRotationOffset).ToQuat(),
|
||||
WristPosition, WristRotation);
|
||||
|
||||
OutWristPosition = FSGUnits::MillimetersToCentimeters<FSGVect3DImpl::FVect3DType, FSGVect3DImpl>(
|
||||
MoveTemp(WristPosition));
|
||||
OutWristRotation = FSGQuatImpl{MoveTemp(WristRotation)}.ToFQuat();
|
||||
}
|
||||
|
||||
@@ -470,11 +478,15 @@ void FSGSenseGloveImpl::GetGloveLocation(const FVector& ReferencePosition, const
|
||||
{
|
||||
FSGVect3DImpl::FVect3DType GlovePosition;
|
||||
FSGQuatImpl::FQuatType GloveRotation;
|
||||
ToSenseGlovePtrChecked()->GetGloveLocation(FSGVect3DImpl{ReferencePosition}.ToVect3D(),
|
||||
FSGQuatImpl{ReferenceRotation}.ToQuat(),
|
||||
FSGCoreEnumCast::ToEPositionalTrackingHardware(TrackingHardware),
|
||||
GlovePosition, GloveRotation);
|
||||
OutGlovePosition = FSGVect3DImpl{MoveTemp(GlovePosition)}.ToFVector();
|
||||
|
||||
ToSenseGlovePtrChecked()->GetGloveLocation(
|
||||
FSGUnits::CentimetersToMillimeters<FSGVect3DImpl::FVect3DType, FSGVect3DImpl>(ReferencePosition),
|
||||
FSGQuatImpl{ReferenceRotation}.ToQuat(),
|
||||
FSGCoreEnumCast::ToEPositionalTrackingHardware(TrackingHardware),
|
||||
GlovePosition, GloveRotation);
|
||||
|
||||
OutGlovePosition = FSGUnits::MillimetersToCentimeters<FSGVect3DImpl::FVect3DType, FSGVect3DImpl>(
|
||||
MoveTemp(GlovePosition));
|
||||
OutGloveRotation = FSGQuatImpl{MoveTemp(GloveRotation)}.ToFQuat();
|
||||
}
|
||||
|
||||
@@ -485,12 +497,16 @@ void FSGSenseGloveImpl::GetGloveLocation(const FVector& ReferencePosition, const
|
||||
{
|
||||
FSGVect3DImpl::FVect3DType GlovePosition;
|
||||
FSGQuatImpl::FQuatType GloveRotation;
|
||||
ToSenseGlovePtrChecked()->GetGloveLocation(FSGVect3DImpl{ReferencePosition}.ToVect3D(),
|
||||
FSGQuatImpl{ReferenceRotation}.ToQuat(),
|
||||
FSGCoreEnumCast::ToEPositionalTrackingHardware(TrackingHardware),
|
||||
FSGCoreEnumCast::ToEFinger(MountedOn),
|
||||
GlovePosition, GloveRotation);
|
||||
OutGlovePosition = FSGVect3DImpl{MoveTemp(GlovePosition)}.ToFVector();
|
||||
|
||||
ToSenseGlovePtrChecked()->GetGloveLocation(
|
||||
FSGUnits::CentimetersToMillimeters<FSGVect3DImpl::FVect3DType, FSGVect3DImpl>(ReferencePosition),
|
||||
FSGQuatImpl{ReferenceRotation}.ToQuat(),
|
||||
FSGCoreEnumCast::ToEPositionalTrackingHardware(TrackingHardware),
|
||||
FSGCoreEnumCast::ToEFinger(MountedOn),
|
||||
GlovePosition, GloveRotation);
|
||||
|
||||
OutGlovePosition = FSGUnits::MillimetersToCentimeters<FSGVect3DImpl::FVect3DType, FSGVect3DImpl>(
|
||||
MoveTemp(GlovePosition));
|
||||
OutGloveRotation = FSGQuatImpl{MoveTemp(GloveRotation)}.ToFQuat();
|
||||
}
|
||||
|
||||
@@ -500,11 +516,15 @@ void FSGSenseGloveImpl::GetWristLocation(const FVector& ReferencePosition, const
|
||||
{
|
||||
FSGVect3DImpl::FVect3DType WristPosition;
|
||||
FSGQuatImpl::FQuatType WristRotation;
|
||||
ToSenseGlovePtrChecked()->GetWristLocation(FSGVect3DImpl{ReferencePosition}.ToVect3D(),
|
||||
FSGQuatImpl{ReferenceRotation}.ToQuat(),
|
||||
FSGCoreEnumCast::ToEPositionalTrackingHardware(TrackingHardware),
|
||||
WristPosition, WristRotation);
|
||||
OutWristPosition = FSGVect3DImpl{MoveTemp(WristPosition)}.ToFVector();
|
||||
|
||||
ToSenseGlovePtrChecked()->GetWristLocation(
|
||||
FSGUnits::CentimetersToMillimeters<FSGVect3DImpl::FVect3DType, FSGVect3DImpl>(ReferencePosition),
|
||||
FSGQuatImpl{ReferenceRotation}.ToQuat(),
|
||||
FSGCoreEnumCast::ToEPositionalTrackingHardware(TrackingHardware),
|
||||
WristPosition, WristRotation);
|
||||
|
||||
OutWristPosition = FSGUnits::MillimetersToCentimeters<FSGVect3DImpl::FVect3DType, FSGVect3DImpl>(
|
||||
MoveTemp(WristPosition));
|
||||
OutWristRotation = FSGQuatImpl{MoveTemp(WristRotation)}.ToFQuat();
|
||||
}
|
||||
|
||||
@@ -515,13 +535,17 @@ void FSGSenseGloveImpl::GetWristLocation(const FVector& ReferencePosition, const
|
||||
{
|
||||
FSGVect3DImpl::FVect3DType WristPosition;
|
||||
FSGQuatImpl::FQuatType WristRotation;
|
||||
ToSenseGlovePtrChecked()->GetWristLocation(FSGVect3DImpl{ReferencePosition}.ToVect3D(),
|
||||
FSGQuatImpl{ReferenceRotation}.ToQuat(),
|
||||
FSGCoreEnumCast::ToEPositionalTrackingHardware(TrackingHardware),
|
||||
FSGVect3DImpl(GloveWristPositionOffset).ToVect3D(),
|
||||
FSGQuatImpl(GloveWristRotationOffset).ToQuat(),
|
||||
WristPosition, WristRotation);
|
||||
OutWristPosition = FSGVect3DImpl{MoveTemp(WristPosition)}.ToFVector();
|
||||
|
||||
ToSenseGlovePtrChecked()->GetWristLocation(
|
||||
FSGUnits::CentimetersToMillimeters<FSGVect3DImpl::FVect3DType, FSGVect3DImpl>(ReferencePosition),
|
||||
FSGQuatImpl{ReferenceRotation}.ToQuat(),
|
||||
FSGCoreEnumCast::ToEPositionalTrackingHardware(TrackingHardware),
|
||||
FSGUnits::CentimetersToMillimeters<FSGVect3DImpl::FVect3DType, FSGVect3DImpl>(GloveWristPositionOffset),
|
||||
FSGQuatImpl(GloveWristRotationOffset).ToQuat(),
|
||||
WristPosition, WristRotation);
|
||||
|
||||
OutWristPosition = FSGUnits::MillimetersToCentimeters<FSGVect3DImpl::FVect3DType, FSGVect3DImpl>(
|
||||
MoveTemp(WristPosition));
|
||||
OutWristRotation = FSGQuatImpl{MoveTemp(WristRotation)}.ToFQuat();
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user