3#include "interfaces/IHittable.hpp"
8namespace Raytracer::Core
13 std::vector<std::shared_ptr<Interfaces::IHittable>> _objects;
17 Scene(std::shared_ptr<Interfaces::IHittable>
object);
19 void add(std::shared_ptr<Interfaces::IHittable>
object);
23 GET_SET(std::vector<std::shared_ptr<Interfaces::IHittable>>, objects)
Definition Payload.hpp:11
void clear()
Clear the scene.
Definition Scene.cpp:29
bool hit(const Core::Ray &ray, Utils::Interval interval, Core::Payload &payload) const override
Check if the ray hits anything in the scene.
Definition Scene.cpp:65
void add(std::shared_ptr< Interfaces::IHittable > object)
Add an object to the scene.
Definition Scene.cpp:45
Utils::AxisAlignedBBox boundingBox() const override
Get the bounding box of the scene.
Definition Scene.cpp:91
Definition IHittable.hpp:11
Definition AxisAlignedBBox.hpp:10
Definition Interval.hpp:9