#include <float.h>
#include "collision_hit.hpp"
+#include <limits>
class Vector;
class Rect;
{
public:
Constraints() {
- left = -INFINITY;
- right = INFINITY;
- top = -INFINITY;
- bottom = INFINITY;
+ float infinity = (std::numeric_limits<float>::has_infinity ? std::numeric_limits<float>::infinity() : std::numeric_limits<float>::max());
+ left = -infinity;
+ right = infinity;
+ top = -infinity;
+ bottom = infinity;
}
bool has_constraints() const {
- return left > -INFINITY || right < INFINITY
- || top > -INFINITY || bottom < INFINITY;
+ float infinity = (std::numeric_limits<float>::has_infinity ? std::numeric_limits<float>::infinity() : std::numeric_limits<float>::max());
+ return left > -infinity || right < infinity
+ || top > -infinity || bottom < infinity;
}
float left;
/** checks if 2 rectangle intersect each other */
bool intersects(const Rect& r1, const Rect& r2);
-
+
/** does collision detection between a rectangle and an axis aligned triangle
* Returns true in case of a collision and fills in the hit structure then.
- */
+ */
bool rectangle_aatriangle(Constraints* constraints, const Rect& rect,
const AATriangle& triangle);
}
#endif
-