mirror of
https://github.com/zeldaret/botw
synced 2026-08-21 06:08:24 -04:00
math/Vector: Add Vector3 rotation
This commit is contained in:
@@ -95,6 +95,21 @@ inline void Vector3CalcCommon<T>::mul(Base& o, const Mtx34& m, const Base& a)
|
||||
o.z = m.m[2][0] * tmp.x + m.m[2][1] * tmp.y + m.m[2][2] * tmp.z + m.m[2][3];
|
||||
}
|
||||
|
||||
template <typename T>
|
||||
inline void Vector3CalcCommon<T>::rotate(Base& o, const Mtx33& m, const Base& a)
|
||||
{
|
||||
mul(o, m, a);
|
||||
}
|
||||
|
||||
template <typename T>
|
||||
inline void Vector3CalcCommon<T>::rotate(Base& o, const Mtx34& m, const Base& a)
|
||||
{
|
||||
const Base tmp = a;
|
||||
o.x = m.m[0][0] * tmp.x + m.m[0][1] * tmp.y + m.m[0][2] * tmp.z;
|
||||
o.y = m.m[1][0] * tmp.x + m.m[1][1] * tmp.y + m.m[1][2] * tmp.z;
|
||||
o.z = m.m[2][0] * tmp.x + m.m[2][1] * tmp.y + m.m[2][2] * tmp.z;
|
||||
}
|
||||
|
||||
template <typename T>
|
||||
inline void Vector3CalcCommon<T>::cross(Base& o, const Base& a, const Base& b)
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user