Raytracer
Loading...
Searching...
No Matches
IHittable.hpp
1#include "core/Payload.hpp"
2#include "core/Ray.hpp"
3#include "utils/AxisAlignedBBox.hpp"
4#include "utils/Interval.hpp"
5
6#ifndef __IHITTABLE_HPP__
7 #define __IHITTABLE_HPP__
8
9namespace Raytracer::Interfaces
10{
11 class IHittable {
12 public:
13 virtual ~IHittable() = default;
14 virtual bool hit(const Core::Ray &ray, Utils::Interval interval,
15 Core::Payload &payload) const = 0;
16 virtual Utils::AxisAlignedBBox boundingBox() const = 0;
17 };
18} // namespace Raytracer::Interfaces
19
20#endif /* __IHITTABLE_HPP__ */
Definition Payload.hpp:11
Definition Ray.hpp:9
Definition IHittable.hpp:11
Definition AxisAlignedBBox.hpp:10
Definition Interval.hpp:9