Files
j3ml/include/J3ML/Geometry/Common.hpp

44 lines
851 B
C++

#pragma once
// Forward declarations for classes that include each other
namespace J3ML::Geometry
{
class Shape;
class AABB2D;
class AABB;
class Capsule;
class Frustum;
class LineSegment;
class Line;
class OBB;
class Plane;
class Polygon;
class Polyhedron;
template<typename T> class QuadTree;
class Ray;
class Shape;
class Sphere;
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;