BsRadian.cpp 884 B

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. #include "BsRadian.h"
  2. #include "BsMath.h"
  3. namespace BansheeEngine
  4. {
  5. inline Radian::Radian (const Degree& d) : mRad(d.valueRadians())
  6. { }
  7. inline Radian Radian::wrap()
  8. {
  9. mRad = fmod(mRad, Math::TWO_PI);
  10. if (mRad < 0)
  11. mRad += Math::TWO_PI;
  12. return *this;
  13. }
  14. inline Radian& Radian::operator= (const Degree& d)
  15. {
  16. mRad = d.valueRadians();
  17. return *this;
  18. }
  19. inline Radian Radian::operator+ (const Degree& d) const
  20. {
  21. return Radian (mRad + d.valueRadians());
  22. }
  23. inline Radian& Radian::operator+= (const Degree& d)
  24. {
  25. mRad += d.valueRadians();
  26. return *this;
  27. }
  28. inline Radian Radian::operator- (const Degree& d) const
  29. {
  30. return Radian (mRad - d.valueRadians());
  31. }
  32. inline Radian& Radian::operator-= (const Degree& d)
  33. {
  34. mRad -= d.valueRadians();
  35. return *this;
  36. }
  37. inline float Radian::valueDegrees() const
  38. {
  39. return mRad * Math::RAD2DEG;
  40. }
  41. }