File size: 642 Bytes
7b853a5 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 | /*
* SPDX-FileCopyrightText: Copyright (c) 2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
* SPDX-License-Identifier: Apache-2.0
*/
#include "Quaternion.h"
#include "Matrix.h"
namespace Math
{
Quaternion const Quaternion::Identity(0, 0, 0, 1);
// Rotation order is XYZ
EulerAngles Quaternion::ToEulerAngles() const
{
return Matrix(*this).ToEulerAngles();
}
Quaternion Quaternion::LookRotation(const Vector& forward, const Vector& up)
{
const Vector t = Vector::Cross3(up, forward).Normalize3();
return Matrix(t, Vector::Cross3(forward, t), forward).GetRotation();
}
}
|