Manual Merge Cleanup

This commit is contained in:
Kung-vr
2019-03-03 01:02:53 +09:00
parent 3792488372
commit 0f2f956b2e
4 changed files with 47 additions and 27 deletions
+18 -11
View File
@@ -9,21 +9,28 @@ inline vr::HmdQuaternion_t quaternionFromHmdMatrix34( vr::HmdMatrix34_t matrix )
{
vr::HmdQuaternion_t q;
q.w = sqrt(
fmax( 0, 1 + matrix.m[0][0] + matrix.m[1][1] + matrix.m[2][2] ) )
q.w = sqrt( fmax( 0,
static_cast<double>( 1 + matrix.m[0][0] + matrix.m[1][1]
+ matrix.m[2][2] ) ) )
/ 2;
q.x = sqrt(
fmax( 0, 1 + matrix.m[0][0] - matrix.m[1][1] - matrix.m[2][2] ) )
q.x = sqrt( fmax( 0,
static_cast<double>( 1 + matrix.m[0][0] - matrix.m[1][1]
- matrix.m[2][2] ) ) )
/ 2;
q.y = sqrt(
fmax( 0, 1 - matrix.m[0][0] + matrix.m[1][1] - matrix.m[2][2] ) )
q.y = sqrt( fmax( 0,
static_cast<double>( 1 - matrix.m[0][0] + matrix.m[1][1]
- matrix.m[2][2] ) ) )
/ 2;
q.z = sqrt(
fmax( 0, 1 - matrix.m[0][0] - matrix.m[1][1] + matrix.m[2][2] ) )
q.z = sqrt( fmax( 0,
static_cast<double>( 1 - matrix.m[0][0] - matrix.m[1][1]
+ matrix.m[2][2] ) ) )
/ 2;
q.x = copysign( q.x, matrix.m[2][1] - matrix.m[1][2] );
q.y = copysign( q.y, matrix.m[0][2] - matrix.m[2][0] );
q.z = copysign( q.z, matrix.m[1][0] - matrix.m[0][1] );
q.x = copysign( q.x,
static_cast<double>( matrix.m[2][1] - matrix.m[1][2] ) );
q.y = copysign( q.y,
static_cast<double>( matrix.m[0][2] - matrix.m[2][0] ) );
q.z = copysign( q.z,
static_cast<double>( matrix.m[1][0] - matrix.m[0][1] ) );
return q;
}