Skip to content
Snippets Groups Projects
AxisAlignedBoundingBox.h 563 B
Newer Older
#pragma once

#include "../camera/Ray.h"
#include "Vec3.h"

namespace util {

class AxisAlignedBoundingBox {
   public:
	AxisAlignedBoundingBox();
	AxisAlignedBoundingBox(const Vec3& min, const Vec3& max);
	// Operator
	AxisAlignedBoundingBox operator+(const AxisAlignedBoundingBox& rhs) const;
	AxisAlignedBoundingBox operator*(const Mat4& rhs) const;
	// Methods
	bool intersects(const cam::Ray& r) const;
	bool contains(const Vec3& v) const;
	Vec3 minBound() const;
	Vec3 maxBound() const;

   private:
};
}  // namespace util