apply senseglove/unreal angle conversions in the gloves' api

This commit is contained in:
Mamadou Babaei
2024-03-22 20:54:49 +01:00
parent 0a5553987f
commit 68cc271461
4 changed files with 9 additions and 15 deletions
@@ -239,10 +239,7 @@ bool FSGHapticGloveImpl::GetHandAngles(TArray<TArray<FVector>>& OutHandAngles) c
{ {
std::vector<std::vector<FSGVect3DImpl::FVect3DType>> HandAngles; std::vector<std::vector<FSGVect3DImpl::FVect3DType>> HandAngles;
const bool bResult = ToHapticGlovePtrChecked()->GetHandAngles(HandAngles); const bool bResult = ToHapticGlovePtrChecked()->GetHandAngles(HandAngles);
OutHandAngles = FSGArrayUtils::FromSenseGloveAngles<FSGVect3DImpl::FVect3DType>(HandAngles);
OutHandAngles = FSGArrayUtils::FromStdVector<
FSGVect3DImpl::FVect3DType, FVector, FSGVect3DImpl, &FSGVect3DImpl::ToFVector>(HandAngles);
return bResult; return bResult;
} }
@@ -190,9 +190,9 @@ TArray<TArray<FVector>> FSGNova2GloveImpl::CalculateHandAngles(
std::vector<float> NormalizedValuesVector{FSGArrayUtils::ToStdVector(NormalizedValues)}; std::vector<float> NormalizedValuesVector{FSGArrayUtils::ToStdVector(NormalizedValues)};
TArray<TArray<FVector>> Angles{ TArray<TArray<FVector>> Angles{
FSGArrayUtils::FromStdVector<FSGVect3DImpl::FVect3DType, FVector, FSGVect3DImpl, &FSGVect3DImpl::ToFVector>( FSGArrayUtils::FromSenseGloveAngles<FSGVect3DImpl::FVect3DType>(
FNova2GloveType::CalculateHandAngles(MoveTemp(NormalizedValuesVector), Interpolator.ToHandInterpolator(), FNova2GloveType::CalculateHandAngles(
bInfluenceIndex)) MoveTemp(NormalizedValuesVector), Interpolator.ToHandInterpolator(), bInfluenceIndex))
}; };
return MoveTemp(Angles); return MoveTemp(Angles);
@@ -204,7 +204,7 @@ TArray<TArray<FVector>> FSGNova2GloveImpl::ToNormalizedAngles(
std::vector<float> NormalizedDataVector{FSGArrayUtils::ToStdVector(NormalizedData)}; std::vector<float> NormalizedDataVector{FSGArrayUtils::ToStdVector(NormalizedData)};
TArray<TArray<FVector>> Angles{ TArray<TArray<FVector>> Angles{
FSGArrayUtils::FromStdVector<FSGVect3DImpl::FVect3DType, FVector, FSGVect3DImpl, &FSGVect3DImpl::ToFVector>( FSGArrayUtils::FromSenseGloveAngles<FSGVect3DImpl::FVect3DType>(
FNova2GloveType::ToNormalizedAngles(MoveTemp(NormalizedDataVector), GloveInfo.ToNovaGloveInfo())) FNova2GloveType::ToNormalizedAngles(MoveTemp(NormalizedDataVector), GloveInfo.ToNovaGloveInfo()))
}; };
@@ -351,8 +351,7 @@ bool FSGNova2GloveImpl::GetHandAngles(TArray<TArray<FVector>>& OutHandAngles) co
{ {
std::vector<std::vector<FSGVect3DImpl::FVect3DType>> HandAngles; std::vector<std::vector<FSGVect3DImpl::FVect3DType>> HandAngles;
const bool bResult = ToNova2GlovePtrChecked()->GetHandAngles(HandAngles); const bool bResult = ToNova2GlovePtrChecked()->GetHandAngles(HandAngles);
OutHandAngles = FSGArrayUtils::FromStdVector< OutHandAngles = FSGArrayUtils::FromSenseGloveAngles<FSGVect3DImpl::FVect3DType>(MoveTemp(HandAngles));
FSGVect3DImpl::FVect3DType, FVector, FSGVect3DImpl, &FSGVect3DImpl::ToFVector>(MoveTemp(HandAngles));
return bResult; return bResult;
} }
@@ -211,7 +211,7 @@ TArray<TArray<FVector>> FSGNovaGloveImpl::CalculateHandAngles(
std::vector<float> NormalizedValuesVector{FSGArrayUtils::ToStdVector(NormalizedValues)}; std::vector<float> NormalizedValuesVector{FSGArrayUtils::ToStdVector(NormalizedValues)};
TArray<TArray<FVector>> Angles{ TArray<TArray<FVector>> Angles{
FSGArrayUtils::FromStdVector<FSGVect3DImpl::FVect3DType, FVector, FSGVect3DImpl, &FSGVect3DImpl::ToFVector>( FSGArrayUtils::FromSenseGloveAngles<FSGVect3DImpl::FVect3DType>(
FNovaGloveType::CalculateHandAngles(MoveTemp(NormalizedValuesVector), Interpolator.ToHandInterpolator())) FNovaGloveType::CalculateHandAngles(MoveTemp(NormalizedValuesVector), Interpolator.ToHandInterpolator()))
}; };
@@ -370,8 +370,7 @@ bool FSGNovaGloveImpl::GetHandAngles(TArray<TArray<FVector>>& OutHandAngles) con
{ {
std::vector<std::vector<FSGVect3DImpl::FVect3DType>> HandAngles; std::vector<std::vector<FSGVect3DImpl::FVect3DType>> HandAngles;
const bool bResult = ToNovaGlovePtrChecked()->GetHandAngles(HandAngles); const bool bResult = ToNovaGlovePtrChecked()->GetHandAngles(HandAngles);
OutHandAngles = FSGArrayUtils::FromStdVector< OutHandAngles = FSGArrayUtils::FromSenseGloveAngles<FSGVect3DImpl::FVect3DType>(MoveTemp(HandAngles));
FSGVect3DImpl::FVect3DType, FVector, FSGVect3DImpl, &FSGVect3DImpl::ToFVector>(MoveTemp(HandAngles));
return bResult; return bResult;
} }
@@ -373,8 +373,7 @@ bool FSGSenseGloveImpl::GetHandAngles(TArray<TArray<FVector>>& OutHandAngles) co
std::vector<std::vector<FSGVect3DImpl::FVect3DType>> HandAngles; std::vector<std::vector<FSGVect3DImpl::FVect3DType>> HandAngles;
const bool bResult = ToSenseGlovePtrChecked()->GetHandAngles(HandAngles); const bool bResult = ToSenseGlovePtrChecked()->GetHandAngles(HandAngles);
OutHandAngles = OutHandAngles =
FSGArrayUtils::FromStdVector<FSGVect3DImpl::FVect3DType, FVector, FSGVect3DImpl, &FSGVect3DImpl::ToFVector>( FSGArrayUtils::FromSenseGloveAngles<FSGVect3DImpl::FVect3DType>(MoveTemp(HandAngles));
MoveTemp(HandAngles));
return bResult; return bResult;
} }