44 lines
876 B
C++
44 lines
876 B
C++
#pragma once
|
|
|
|
|
|
// Forward declarations for classes that include each other
|
|
namespace J3ML::Geometry
|
|
{
|
|
class AABB2D;
|
|
class AABB;
|
|
class Capsule;
|
|
class Frustum;
|
|
class LineSegment;
|
|
class LineSegment2D;
|
|
class Line;
|
|
class OBB;
|
|
class OBB2D;
|
|
class Plane;
|
|
class Polygon;
|
|
class Polyhedron;
|
|
template<typename T> class QuadTree;
|
|
class Ray;
|
|
class Sphere;
|
|
class Circle;
|
|
class Triangle;
|
|
class Triangle2D;
|
|
class TriangleMesh;
|
|
template <int N> class PBVolume;
|
|
|
|
}
|
|
|
|
// Methods required by Geometry types
|
|
namespace J3ML::Geometry
|
|
{
|
|
// Represents a segment along an axis, with the axis as a unit
|
|
struct Interval {
|
|
float min;
|
|
float max;
|
|
|
|
bool Intersects(const Interval& rhs) const;
|
|
|
|
bool operator==(const Interval& rhs) const = default;
|
|
};
|
|
}
|
|
|
|
using namespace J3ML::Geometry; |