clooneljump/src/moversine.cpp
2014-02-22 17:07:23 +01:00

31 lines
984 B
C++

#include "moversine.hpp"
#if !defined(_GNU_SOURCE)
# define _GNU_SOURCE
#endif
#include <cmath>
namespace cloonel {
///--------------------------------------------------------------------------
///--------------------------------------------------------------------------
MoverSine::MoverSine() :
MoverRelative(),
m_alpha(0.0f),
m_power(1.0f)
{
}
///--------------------------------------------------------------------------
///--------------------------------------------------------------------------
float2 MoverSine::GetOffset() const {
return float2(0.0f, std::abs(std::sin(m_alpha)) * m_power);
}
///--------------------------------------------------------------------------
///--------------------------------------------------------------------------
void MoverSine::ApplyMotion (float parDelta) {
const float pitwo = static_cast<float>(M_PI) * 2.0f;
m_alpha += parDelta * 2.6f;
if (m_alpha >= pitwo)
m_alpha -= pitwo;
}
} //namespace cloonel