Math.h 1.5 KB

12345678910111213141516171819202122232425262728
  1. #pragma once
  2. #include <SFML/Graphics.hpp>
  3. namespace ltbl {
  4. const float _pi = 3.14159265f;
  5. const float _radToDeg = 180.0f / _pi;
  6. sf::Vector2f rectCenter(const sf::FloatRect &rect);
  7. bool rectContains(const sf::FloatRect &rect, const sf::FloatRect &other);
  8. bool rectIntersects(const sf::FloatRect &rect, const sf::FloatRect &other);
  9. sf::Vector2f rectHalfDims(const sf::FloatRect &rect);
  10. sf::Vector2f rectDims(const sf::FloatRect &rect);
  11. sf::Vector2f rectLowerBound(const sf::FloatRect &rect);
  12. sf::Vector2f rectUpperBound(const sf::FloatRect &rect);
  13. sf::FloatRect rectFromBounds(const sf::Vector2f &lowerBound, const sf::Vector2f &upperBound);
  14. float vectorMagnitude(const sf::Vector2f &vector);
  15. float vectorMagnitudeSquared(const sf::Vector2f &vector);
  16. sf::Vector2f vectorNormalize(const sf::Vector2f &vector);
  17. float vectorProject(const sf::Vector2f &left, const sf::Vector2f &right);
  18. sf::FloatRect rectRecenter(const sf::FloatRect &rect, const sf::Vector2f &center);
  19. float vectorDot(const sf::Vector2f &left, const sf::Vector2f &right);
  20. sf::FloatRect rectExpand(const sf::FloatRect &rect, const sf::Vector2f &point);
  21. bool shapeIntersection(const sf::ConvexShape &left, const sf::ConvexShape &right);
  22. sf::ConvexShape shapeFromRect(const sf::FloatRect &rect);
  23. sf::ConvexShape shapeFixWinding(const sf::ConvexShape &shape);
  24. bool rayIntersect(const sf::Vector2f &as, const sf::Vector2f &ad, const sf::Vector2f &bs, const sf::Vector2f &bd, sf::Vector2f &intersection);
  25. }