Replace floating point angle by Angle class instance

This commit is contained in:
Lynix
2018-10-09 23:20:53 +02:00
parent f02f206aff
commit dc6fbfc90f
17 changed files with 87 additions and 90 deletions

View File

@@ -10,6 +10,7 @@
#include <Nazara/Prerequisites.hpp>
#include <Nazara/Graphics/InstancedRenderable.hpp>
#include <Nazara/Graphics/Material.hpp>
#include <Nazara/Math/Angle.hpp>
namespace Nz
{
@@ -34,14 +35,14 @@ namespace Nz
std::unique_ptr<InstancedRenderable> Clone() const override;
inline const Color& GetColor() const;
inline float GetRotation() const;
inline const RadianAnglef& GetRotation() const;
inline const Vector2f& GetSize() const;
inline void SetColor(const Color& color);
inline void SetDefaultMaterial();
inline void SetMaterial(MaterialRef material, bool resizeBillboard = true);
inline void SetMaterial(std::size_t skinIndex, MaterialRef material, bool resizeBillboard = true);
inline void SetRotation(float rotation);
inline void SetRotation(const RadianAnglef& rotation);
inline void SetSize(const Vector2f& size);
inline void SetSize(float sizeX, float sizeY);
inline void SetTexture(TextureRef texture, bool resizeBillboard = true);
@@ -58,7 +59,7 @@ namespace Nz
Color m_color;
Vector2f m_sinCos;
Vector2f m_size;
float m_rotation;
RadianAnglef m_rotation;
static BillboardLibrary::LibraryMap s_library;
};

View File

@@ -84,7 +84,7 @@ namespace Nz
* \return Current rotation
*/
inline float Billboard::GetRotation() const
inline const RadianAnglef& Billboard::GetRotation() const
{
return m_rotation;
}
@@ -161,10 +161,12 @@ namespace Nz
* \param rotation Rotation for the billboard
*/
inline void Billboard::SetRotation(float rotation)
inline void Billboard::SetRotation(const RadianAnglef& rotation)
{
m_rotation = rotation;
m_sinCos.Set(std::sin(m_rotation), std::cos(m_rotation));
auto sincos = rotation.GetSinCos();
m_sinCos.Set(sincos.first, sincos.second);
}
/*!