#pragma once #include "../material/Material.h" #include "../tools/SurfacePoint.h" #include "Ray.h" namespace cam { class Hit : public util::SurfacePoint { public: Hit(const util::Vec3& hit, const util::Vec3& n, const std::pair<float, float>& uv, float t, const std::shared_ptr<material::Material>& material); float scalar() const; friend std::ostream& operator<<(std::ostream& os, const cam::Hit& rhs); private: float t; }; } // namespace cam