#include "moversine.hpp" #if !defined(_GNU_SOURCE) # define _GNU_SOURCE #endif #include 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(M_PI) * 2.0f; m_alpha += parDelta * 2.6f; if (m_alpha >= pitwo) m_alpha -= pitwo; } } //namespace cloonel