SDK/Physics2D: Fix entity rotation not being taken into account for static physics

This commit is contained in:
Lynix
2020-06-02 17:06:01 +02:00
parent 1b4199c0a7
commit 52c24e76db
4 changed files with 30 additions and 12 deletions

View File

@@ -462,13 +462,27 @@ namespace Nz
return w * w + x * x + y * y + z * z;
}
/*!
* \brief Returns the "roll angle" of this quaternion
* \return Roll rotation
*
* \remark This function only has sense when quaternion only represents a "roll rotation"
*/
template<typename T>
RadianAngle<T> Quaternion<T>::To2DAngle() const
{
T siny_cosp = T(2.0) * (w * z + x * y);
T cosy_cosp = T(1.0) - T(2.0) * (y * y + z * z);
return std::atan2(siny_cosp, cosy_cosp);
}
/*!
* \brief Converts this quaternion to Euler angles representation
* \return EulerAngles which is the representation of this rotation
*
* \remark Rotation are "left-handed"
*/
template<typename T>
EulerAngles<T> Quaternion<T>::ToEulerAngles() const
{