mirror of
https://bitbucket.org/librepilot/librepilot.git
synced 2025-02-25 14:54:16 +01:00
AeroSimRC: (bugfix) replace non-standard _copysign() by copysign()
This commit is contained in:
parent
8d8a3d0155
commit
c80e5a2bc9
@ -414,9 +414,9 @@ void Widget::asMatrix2Quat(const QMatrix4x4 &m, QQuaternion &q)
|
|||||||
y = qSqrt(qMax(0.0, 1.0 - m(0, 0) + m(1, 1) - m(2, 2))) / 2.0;
|
y = qSqrt(qMax(0.0, 1.0 - m(0, 0) + m(1, 1) - m(2, 2))) / 2.0;
|
||||||
z = qSqrt(qMax(0.0, 1.0 - m(0, 0) - m(1, 1) + m(2, 2))) / 2.0;
|
z = qSqrt(qMax(0.0, 1.0 - m(0, 0) - m(1, 1) + m(2, 2))) / 2.0;
|
||||||
|
|
||||||
x = _copysign(x, (m(1, 2) - m(2, 1)));
|
x = copysign(x, (m(1, 2) - m(2, 1)));
|
||||||
y = _copysign(y, (m(2, 0) - m(0, 2)));
|
y = copysign(y, (m(2, 0) - m(0, 2)));
|
||||||
z = _copysign(z, (m(0, 1) - m(1, 0)));
|
z = copysign(z, (m(0, 1) - m(1, 0)));
|
||||||
|
|
||||||
q.setScalar(w);
|
q.setScalar(w);
|
||||||
q.setX(x);
|
q.setX(x);
|
||||||
@ -443,7 +443,7 @@ void Widget::asQuat2RPY(const QQuaternion &q, QVector3D &rpy)
|
|||||||
qreal R11 = qss - qxx + qyy - qzz;
|
qreal R11 = qss - qxx + qyy - qzz;
|
||||||
|
|
||||||
roll = 0.0;
|
roll = 0.0;
|
||||||
pitch = _copysign(M_PI_2, test);
|
pitch = copysign(M_PI_2, test);
|
||||||
yaw = qAtan2(-R10, R11);
|
yaw = qAtan2(-R10, R11);
|
||||||
} else {
|
} else {
|
||||||
qreal R12 = d2 * (q.y() * q.z() + q.scalar() * q.x());
|
qreal R12 = d2 * (q.y() * q.z() + q.scalar() * q.x());
|
||||||
@ -469,7 +469,7 @@ void Widget::asMatrix2RPY(const QMatrix4x4 &m, QVector3D &rpy)
|
|||||||
if (qFabs(m(0, 2)) > 0.998) {
|
if (qFabs(m(0, 2)) > 0.998) {
|
||||||
// ~86.3°, gimbal lock
|
// ~86.3°, gimbal lock
|
||||||
roll = 0.0;
|
roll = 0.0;
|
||||||
pitch = _copysign(M_PI_2, -m(0, 2));
|
pitch = copysign(M_PI_2, -m(0, 2));
|
||||||
yaw = qAtan2(-m(1, 0), m(1, 1));
|
yaw = qAtan2(-m(1, 0), m(1, 1));
|
||||||
} else {
|
} else {
|
||||||
roll = qAtan2(m(1, 2), m(2, 2));
|
roll = qAtan2(m(1, 2), m(2, 2));
|
||||||
|
Loading…
x
Reference in New Issue
Block a user