From 5f8a27804f3fecaaa915f8c8b2dd6715a5df15c3 Mon Sep 17 00:00:00 2001
From: Yoel <s73017@beuth-hochschule.de>
Date: Sat, 17 Oct 2020 16:59:38 +0200
Subject: [PATCH] Added ostream-operator to Hit class

---
 RayTracer/camera/Hit.cpp | 5 +++++
 RayTracer/camera/Hit.h   | 2 ++
 2 files changed, 7 insertions(+)

diff --git a/RayTracer/camera/Hit.cpp b/RayTracer/camera/Hit.cpp
index 1b51a69..815fb7d 100644
--- a/RayTracer/camera/Hit.cpp
+++ b/RayTracer/camera/Hit.cpp
@@ -11,4 +11,9 @@ Hit::Hit(const util::Vec3& hit, const util::Vec3& n, float t,
 float Hit::scalar() const {
 	return t;
 }
+std::ostream& operator<<(std::ostream& os, const cam::Hit& rhs) {
+	os << "(" << rhs.point() << " " << rhs.normal() << " " << rhs.scalar()
+	   << ")";
+	return os;
+}
 }  // namespace cam
\ No newline at end of file
diff --git a/RayTracer/camera/Hit.h b/RayTracer/camera/Hit.h
index 6e0775e..2d346b2 100644
--- a/RayTracer/camera/Hit.h
+++ b/RayTracer/camera/Hit.h
@@ -11,6 +11,8 @@ class Hit : public util::SurfacePoint {
 	    const std::shared_ptr<material::Material>& material);
 
 	float scalar() const;
+	// Operator
+	friend std::ostream& operator<<(std::ostream& os, const cam::Hit& rhs);
 
    private:
 	float t;
-- 
GitLab