2#include "interfaces/IHittable.hpp"
3#include "utils/VecN.hpp"
8namespace Raytracer::Shapes
14 std::shared_ptr<Interfaces::IMaterial> _material;
19 std::shared_ptr<Interfaces::IMaterial> material);
Definition Payload.hpp:11
Definition IHittable.hpp:11
Plane(const Utils::Point3 &point, const Utils::Vec3 &normal, std::shared_ptr< Interfaces::IMaterial > material)
Construct a new Plane object.
Definition Plane.cpp:16
Utils::AxisAlignedBBox boundingBox() const override
Get the bounding box of the plane.
Definition Plane.cpp:66
bool hit(const Core::Ray &ray, Utils::Interval interval, Core::Payload &payload) const override
Check if the ray hits the plane.
Definition Plane.cpp:36
Definition AxisAlignedBBox.hpp:10
Definition Interval.hpp:9