2020-09-21 17:17:34 +00:00
|
|
|
// SPDX-License-Identifier: MIT
|
2020-06-26 15:17:35 +00:00
|
|
|
//
|
2020-09-21 17:17:34 +00:00
|
|
|
// EmulationStation Desktop Edition
|
2020-06-26 15:17:35 +00:00
|
|
|
// Vector4f.cpp
|
|
|
|
//
|
|
|
|
// 4-dimensional floating point vector functions.
|
|
|
|
//
|
|
|
|
|
2017-11-13 22:16:38 +00:00
|
|
|
#include "math/Vector4f.h"
|
|
|
|
|
|
|
|
Vector4f& Vector4f::round()
|
|
|
|
{
|
2020-11-17 22:06:54 +00:00
|
|
|
mX = static_cast<float>(static_cast<int>(mX + 0.5f));
|
|
|
|
mY = static_cast<float>(static_cast<int>(mY + 0.5f));
|
|
|
|
mZ = static_cast<float>(static_cast<int>(mZ + 0.5f));
|
|
|
|
mW = static_cast<float>(static_cast<int>(mW + 0.5f));
|
2017-11-13 22:16:38 +00:00
|
|
|
|
2020-06-26 15:17:35 +00:00
|
|
|
return *this;
|
|
|
|
}
|
2017-11-13 22:16:38 +00:00
|
|
|
|
|
|
|
Vector4f& Vector4f::lerp(const Vector4f& _start, const Vector4f& _end, const float _fraction)
|
|
|
|
{
|
2020-06-26 15:17:35 +00:00
|
|
|
mX = Math::lerp(_start.x(), _end.x(), _fraction);
|
|
|
|
mY = Math::lerp(_start.y(), _end.y(), _fraction);
|
|
|
|
mZ = Math::lerp(_start.z(), _end.z(), _fraction);
|
|
|
|
mW = Math::lerp(_start.w(), _end.w(), _fraction);
|
2017-11-13 22:16:38 +00:00
|
|
|
|
2020-06-26 15:17:35 +00:00
|
|
|
return *this;
|
|
|
|
}
|