From 5306d480fedffb510484ac0a52a8242740910915 Mon Sep 17 00:00:00 2001
From: Yoel <s73017@beuth-hochschule.de>
Date: Sun, 14 Feb 2021 22:46:55 +0100
Subject: [PATCH] Fixed warnings by using proper types for arguments

---
 RayTracer/shape/Background.cpp       |  6 +++---
 RayTracer/shape/CirclePlane.cpp      |  2 +-
 RayTracer/shape/Group.cpp            |  2 +-
 RayTracer/shape/RectanglePlane.cpp   |  2 +-
 RayTracer/shape/ShapeSingleGroup.cpp |  2 +-
 RayTracer/shape/Sphere.cpp           |  3 ++-
 RayTracer/shape/Triangle.cpp         |  2 +-
 RayTracer/shape/TriangleMesh.cpp     | 24 ++++++++++++------------
 8 files changed, 22 insertions(+), 21 deletions(-)

diff --git a/RayTracer/shape/Background.cpp b/RayTracer/shape/Background.cpp
index febaa14..415b163 100644
--- a/RayTracer/shape/Background.cpp
+++ b/RayTracer/shape/Background.cpp
@@ -9,15 +9,15 @@ Background::Background(const std::shared_ptr<material::Material>& material)
 // TODO TEXELS
 std::optional<cam::Hit> Background::intersect(const cam::Ray& r) const {
 	return std::optional<cam::Hit>({r(std::numeric_limits<float>::infinity()),
-	                                util::Vec3(0, 0, 0),
-	                                {0, 0},
+	                                util::Vec3({}),
+	                                {},
 	                                std::numeric_limits<float>::infinity(),
 	                                material});
 }
 // Not used
 std::pair<float, float> Background::texture_coordinates(
     const util::Vec3& pos) const {
-	return std::pair<float, float>({0, 0});
+	return std::pair<float, float>({});
 }
 
 util::AxisAlignedBoundingBox Background::bounds() const {
diff --git a/RayTracer/shape/CirclePlane.cpp b/RayTracer/shape/CirclePlane.cpp
index 45cb4d3..45e56ce 100644
--- a/RayTracer/shape/CirclePlane.cpp
+++ b/RayTracer/shape/CirclePlane.cpp
@@ -37,7 +37,7 @@ std::optional<cam::Hit> CirclePlane::intersect(const cam::Ray& r) const {
 std::pair<float, float> CirclePlane::texture_coordinates(
     const util::Vec3& pos) const {
 	return std::pair<float, float>(
-	    {pos.x() / radius + 0.5, pos.z() / radius + 0.5});
+	    {pos.x() / radius + 0.5f, pos.z() / radius + 0.5f});
 }
 
 util::AxisAlignedBoundingBox CirclePlane::bounds() const {
diff --git a/RayTracer/shape/Group.cpp b/RayTracer/shape/Group.cpp
index 144296b..f918fce 100644
--- a/RayTracer/shape/Group.cpp
+++ b/RayTracer/shape/Group.cpp
@@ -48,7 +48,7 @@ std::optional<cam::Hit> Group::intersect(const cam::Ray& r) const {
 // Not used
 std::pair<float, float> Group::texture_coordinates(
     const util::Vec3& pos) const {
-	return std::pair<float, float>({0, 0});
+	return std::pair<float, float>({});
 }
 util::AxisAlignedBoundingBox Group::bounds() const {
 	return boundingVolume;
diff --git a/RayTracer/shape/RectanglePlane.cpp b/RayTracer/shape/RectanglePlane.cpp
index faf890f..e66ad10 100644
--- a/RayTracer/shape/RectanglePlane.cpp
+++ b/RayTracer/shape/RectanglePlane.cpp
@@ -40,7 +40,7 @@ std::optional<cam::Hit> RectanglePlane::intersect(const cam::Ray& r) const {
 std::pair<float, float> RectanglePlane::texture_coordinates(
     const util::Vec3& pos) const {
 	return std::pair<float, float>(
-	    {pos.x() / width + 0.5, pos.z() / depth + 0.5});
+	    {pos.x() / width + 0.5f, pos.z() / depth + 0.5f});
 }
 util::AxisAlignedBoundingBox RectanglePlane::bounds() const {
 	return util::AxisAlignedBoundingBox(util::Vec3(-width / 2, 0, -depth / 2),
diff --git a/RayTracer/shape/ShapeSingleGroup.cpp b/RayTracer/shape/ShapeSingleGroup.cpp
index 6cfb13e..35bff28 100644
--- a/RayTracer/shape/ShapeSingleGroup.cpp
+++ b/RayTracer/shape/ShapeSingleGroup.cpp
@@ -35,7 +35,7 @@ std::optional<cam::Hit> ShapeSingleGroup::intersect(const cam::Ray& r) const {
 }
 std::pair<float, float> ShapeSingleGroup::texture_coordinates(
     const util::Vec3& pos) const {
-	return std::pair<float, float>({0, 0});
+	return std::pair<float, float>({});
 }
 util::AxisAlignedBoundingBox ShapeSingleGroup::bounds() const {
 	return boundingVolume;
diff --git a/RayTracer/shape/Sphere.cpp b/RayTracer/shape/Sphere.cpp
index d9c90e3..248a2e3 100644
--- a/RayTracer/shape/Sphere.cpp
+++ b/RayTracer/shape/Sphere.cpp
@@ -49,7 +49,8 @@ std::pair<float, float> Sphere::texture_coordinates(
     const util::Vec3& pos) const {
 	float theta = std::acos(pos.y() / radius);
 	float phi = M_PI + std::atan2(pos.x(), pos.z());
-	return std::pair<float, float>({phi / (2 * M_PI), theta / M_PI});
+	return std::pair<float, float>(
+	    {(float)(phi / (2 * M_PI)), (float)(theta / M_PI)});
 }
 util::AxisAlignedBoundingBox Sphere::bounds() const {
 	return util::AxisAlignedBoundingBox(util::Vec3(-radius),
diff --git a/RayTracer/shape/Triangle.cpp b/RayTracer/shape/Triangle.cpp
index 3e3346f..d6d5b49 100644
--- a/RayTracer/shape/Triangle.cpp
+++ b/RayTracer/shape/Triangle.cpp
@@ -51,7 +51,7 @@ std::optional<cam::Hit> Triangle::intersect(const cam::Ray& r) const {
 // TODO
 std::pair<float, float> Triangle::texture_coordinates(
     const util::Vec3& pos) const {
-	return std::pair<float, float>({0, 0});
+	return std::pair<float, float>({});
 }
 util::AxisAlignedBoundingBox Triangle::bounds() const {
 	// std::cout << "In tri bounds" << std::endl;
diff --git a/RayTracer/shape/TriangleMesh.cpp b/RayTracer/shape/TriangleMesh.cpp
index 72ea8d0..b2166b5 100644
--- a/RayTracer/shape/TriangleMesh.cpp
+++ b/RayTracer/shape/TriangleMesh.cpp
@@ -31,25 +31,25 @@ std::optional<cam::Hit> TriangleMesh::intersect(size_t i,
                                                 const cam::Ray& r) const {
 	if (!hierarchy[i].bb.intersects(r)) return std::nullopt;
 	std::array<cam::Hit, 3> hits = {
-	    cam::Hit(util::Vec3(0), util::Vec3(0), {0.0, 0.0},
+	    cam::Hit(util::Vec3({}), util::Vec3({}), {},
 	             std::numeric_limits<float>::infinity(), nullptr),
-	    cam::Hit(util::Vec3(0), util::Vec3(0), {0.0, 0.0},
+	    cam::Hit(util::Vec3({}), util::Vec3({}), {},
 	             std::numeric_limits<float>::infinity(), nullptr),
-	    cam::Hit(util::Vec3(0), util::Vec3(0), {0.0, 0.0},
+	    cam::Hit(util::Vec3({}), util::Vec3({}), {},
 	             std::numeric_limits<float>::infinity(), nullptr)};
 	// Check left
 	size_t left_i = hierarchy[i].left;
 	std::optional<cam::Hit> left_hit = std::nullopt;
 	if (left_i != -1) left_hit = intersect(left_i, r);
-	hits[0] = left_hit.value_or(
-	    cam::Hit(util::Vec3(0), util::Vec3(0), {0.0, 0.0},
-	             std::numeric_limits<float>::infinity(), nullptr));
+	hits[0] = left_hit.value_or(cam::Hit(util::Vec3({}), util::Vec3({}), {},
+	                                     std::numeric_limits<float>::infinity(),
+	                                     nullptr));
 	// Check right
 	size_t right_i = hierarchy[i].right;
 	std::optional<cam::Hit> right_hit = std::nullopt;
 	if (right_i != -1) right_hit = intersect(right_i, r);
 	hits[1] = right_hit.value_or(
-	    cam::Hit(util::Vec3(0), util::Vec3(0), {0.0, 0.0},
+	    cam::Hit(util::Vec3({}), util::Vec3({}), {},
 	             std::numeric_limits<float>::infinity(), nullptr));
 
 	std::optional<cam::Hit> temp = std::nullopt;
@@ -69,9 +69,9 @@ std::optional<cam::Hit> TriangleMesh::intersect(size_t i,
 			}
 		}
 	}
-	hits[2] = mid_hit.value_or(
-	    cam::Hit(util::Vec3(0), util::Vec3(0), {0.0, 0.0},
-	             std::numeric_limits<float>::infinity(), nullptr));
+	hits[2] = mid_hit.value_or(cam::Hit(util::Vec3({}), util::Vec3({}), {},
+	                                    std::numeric_limits<float>::infinity(),
+	                                    nullptr));
 	std::sort(hits.begin(), hits.end(),
 	          [](cam::Hit a, cam::Hit b) { return a.scalar() < b.scalar(); });
 	if (hits[0].material == nullptr) return std::nullopt;
@@ -81,14 +81,14 @@ std::optional<cam::Hit> TriangleMesh::intersect(size_t i,
 // TODO
 std::pair<float, float> TriangleMesh::texture_coordinates(
     const util::Vec3& pos) const {
-	return std::pair<float, float>({0.0, 0.0});
+	return std::pair<float, float>({});
 }
 util::AxisAlignedBoundingBox TriangleMesh::bounds() const {
 	return hierarchy[0].bb;
 }
 // TODO
 util::SurfacePoint TriangleMesh::sampleLight() const {
-	return util::SurfacePoint(util::Vec3(0), 0, {0.0, 0.0}, material);
+	return util::SurfacePoint(util::Vec3({}), 0, {}, material);
 }
 // TODO
 util::Vec3 TriangleMesh::calculateLightEmission(const util::SurfacePoint& p,
-- 
GitLab