diff --git a/raytracing/CMakeLists.txt b/raytracing/CMakeLists.txt index 8407a0e..366622d 100644 --- a/raytracing/CMakeLists.txt +++ b/raytracing/CMakeLists.txt @@ -15,7 +15,7 @@ add_library(raytracing src/intersection.cpp src/intersections.cpp src/matrix.cpp - src/object.cpp + src/shape.cpp src/ray.cpp src/sphere.cpp src/tuple.cpp diff --git a/raytracing/src/intersection.cpp b/raytracing/src/intersection.cpp index bdf223c..869c453 100644 --- a/raytracing/src/intersection.cpp +++ b/raytracing/src/intersection.cpp @@ -36,16 +36,16 @@ using namespace Raytracer; /* ------------------------------------------------------------------------- */ -Intersection::Intersection(void) : m_is_nothing(true), m_distance_t(0.0), m_object() +Intersection::Intersection(void) : m_is_nothing(true), m_distance_t(0.0), m_shape() { } /* ------------------------------------------------------------------------- */ -Intersection::Intersection(double a_distance_t, const Object &an_object) : +Intersection::Intersection(double a_distance_t, const Shape &a_shape) : m_is_nothing(false), m_distance_t(a_distance_t), - m_object(an_object) + m_shape(a_shape) { } @@ -54,7 +54,7 @@ Intersection::Intersection(double a_distance_t, const Object &an_object) : Intersection::Intersection(Intersection &an_intersection) : m_is_nothing(an_intersection.m_is_nothing), m_distance_t(an_intersection.m_distance_t), - m_object(an_intersection.m_object) + m_shape(an_intersection.m_shape) { } @@ -63,7 +63,7 @@ Intersection::Intersection(Intersection &an_intersection) : Intersection::Intersection(const Intersection &an_intersection) : m_is_nothing(an_intersection.m_is_nothing), m_distance_t(an_intersection.m_distance_t), - m_object(an_intersection.m_object) + m_shape(an_intersection.m_shape) { } @@ -78,7 +78,7 @@ const Intersection &Intersection::operator=(const Intersection &an_intersection) m_is_nothing = an_intersection.m_is_nothing; m_distance_t = an_intersection.m_distance_t; - m_object = an_intersection.m_object; + m_shape = an_intersection.m_shape; return *this; } @@ -87,7 +87,7 @@ const Intersection &Intersection::operator=(const Intersection &an_intersection) bool Intersection::operator==(const Intersection &an_other) const { - return (double_equal(m_distance_t, an_other.m_distance_t) && (m_object == an_other.m_object)); + return (double_equal(m_distance_t, an_other.m_distance_t) && (m_shape == an_other.m_shape)); } /* ------------------------------------------------------------------------- */ @@ -141,9 +141,9 @@ double Intersection::distance_t(void) const /* ------------------------------------------------------------------------- */ -const Object &Intersection::object(void) const +const Shape &Intersection::object(void) const { - return m_object; + return m_shape; } /* ------------------------------------------------------------------------- */ diff --git a/raytracing/src/intersection.h b/raytracing/src/intersection.h index 8f56295..fae3b52 100644 --- a/raytracing/src/intersection.h +++ b/raytracing/src/intersection.h @@ -28,7 +28,7 @@ /* ------------------------------------------------------------------------- */ -#include "object.h" +#include "shape.h" /* ------------------------------------------------------------------------- */ @@ -40,7 +40,7 @@ namespace Raytracer { public: Intersection(void); - Intersection(double a_distance_t, const Object &an_object); + Intersection(double a_distance_t, const Shape &a_shape); Intersection(Intersection &an_intersection); Intersection(const Intersection &an_intersection); @@ -55,14 +55,14 @@ namespace Raytracer bool operator<=(double a_distance) const; double distance_t(void) const; - const Object &object(void) const; + const Shape &object(void) const; bool is_nothing(void); bool is_defined(void); private: bool m_is_nothing; double m_distance_t; - Object m_object; + Shape m_shape; }; }; // namespace Raytracer diff --git a/raytracing/src/object.cpp b/raytracing/src/shape.cpp similarity index 75% rename from raytracing/src/object.cpp rename to raytracing/src/shape.cpp index 04cb7cc..b3ef4ed 100644 --- a/raytracing/src/object.cpp +++ b/raytracing/src/shape.cpp @@ -1,5 +1,5 @@ /*! - * object.cpp + * shape.cpp * * Copyright (c) 2024, NADAL Jean-Baptiste. All rights reserved. * @@ -30,7 +30,7 @@ #include "intersections.h" -#include "object.h" +#include "shape.h" using namespace Raytracer; @@ -38,72 +38,72 @@ using namespace Raytracer; #define kNothing 0 -uint32_t Object::s_current_index = 0; +uint32_t Shape::s_current_index = 0; /* ------------------------------------------------------------------------- */ -Object::Object(void) : m_id(kNothing), m_transform(Matrix::identity()) +Shape::Shape(void) : m_id(kNothing), m_transform(Matrix::identity()) { } /* ------------------------------------------------------------------------- */ -Object::Object(Object &a_copy) : m_id(a_copy.m_id), m_transform(Matrix::identity()) +Shape::Shape(Shape &a_copy) : m_id(a_copy.m_id), m_transform(Matrix::identity()) { } /* ------------------------------------------------------------------------- */ -Object::Object(const Object &a_copy) : m_id(a_copy.m_id), m_transform(Matrix::identity()) +Shape::Shape(const Shape &a_copy) : m_id(a_copy.m_id), m_transform(Matrix::identity()) { } /* ------------------------------------------------------------------------- */ -const Object &Object::operator=(const Object &an_other) +const Shape &Shape::operator=(const Shape &a_shape) { - if (this == &an_other) + if (this == &a_shape) { return *this; } - m_id = an_other.m_id; - m_transform = an_other.m_transform; + m_id = a_shape.m_id; + m_transform = a_shape.m_transform; return *this; } /* ------------------------------------------------------------------------- */ -bool Object::operator==(const Object &an_object) const +bool Shape::operator==(const Shape &a_shape) const { - return (m_id == an_object.m_id) && (m_transform == an_object.m_transform); + return (m_id == a_shape.m_id) && (m_transform == a_shape.m_transform); } /* ------------------------------------------------------------------------- */ -bool Object::is_nothing(void) +bool Shape::is_nothing(void) { return (m_id == kNothing); } /* ------------------------------------------------------------------------- */ -Matrix &Object::transform(void) +Matrix &Shape::transform(void) { return m_transform; } /* ------------------------------------------------------------------------- */ -void Object::set_transform(const Matrix &a_transform_matrix) +void Shape::set_transform(const Matrix &a_transform_matrix) { m_transform = a_transform_matrix; } /* ------------------------------------------------------------------------- */ -Tuple Object::normal_at(const Tuple &a_point) +Tuple Shape::normal_at(const Tuple &a_point) { Tuple the_result = a_point - Tuple::Point(0, 0, 0); return the_result.normalize(); @@ -111,7 +111,7 @@ Tuple Object::normal_at(const Tuple &a_point) /* ------------------------------------------------------------------------- */ -Intersections Object::intersect(Ray &a_ray) +Intersections Shape::intersect(Ray &a_ray) { Intersections the_ret; @@ -120,7 +120,7 @@ Intersections Object::intersect(Ray &a_ray) /* ------------------------------------------------------------------------- */ -void Object::inc_id(void) +void Shape::inc_id(void) { m_id = s_current_index++; } diff --git a/raytracing/src/object.h b/raytracing/src/shape.h similarity index 83% rename from raytracing/src/object.h rename to raytracing/src/shape.h index 5bba391..c1818df 100644 --- a/raytracing/src/object.h +++ b/raytracing/src/shape.h @@ -1,5 +1,5 @@ /*! - * intersection.h + * shape.h * * Copyright (c) 2024, NADAL Jean-Baptiste. All rights reserved. * @@ -23,8 +23,8 @@ * */ -#ifndef _RAYTRACER_OBJECT_H -#define _RAYTRACER_OBJECT_H +#ifndef _RAYTRACER_SHAPE_H +#define _RAYTRACER_SHAPE_H /* ------------------------------------------------------------------------- */ @@ -41,15 +41,15 @@ namespace Raytracer /* ------------------------------------------------------------------------- */ - class Object + class Shape { public: - Object(void); - Object(Object &a_copy); - Object(const Object &a_copy); + Shape(void); + Shape(Shape &a_copy); + Shape(const Shape &a_copy); - const Object &operator=(const Object &an_other); - bool operator==(const Object &an_object) const; + const Shape &operator=(const Shape &a_shape); + bool operator==(const Shape &a_shape) const; bool is_nothing(void); @@ -70,4 +70,4 @@ namespace Raytracer }; }; // namespace Raytracer -#endif // _RAYTRACER_OBJECT_H +#endif // _RAYTRACER_SHAPE_H diff --git a/raytracing/src/sphere.h b/raytracing/src/sphere.h index b5567bc..0cae882 100644 --- a/raytracing/src/sphere.h +++ b/raytracing/src/sphere.h @@ -28,13 +28,13 @@ /* ------------------------------------------------------------------------- */ -#include "object.h" +#include "shape.h" /* ------------------------------------------------------------------------- */ namespace Raytracer { - class Sphere : public Object + class Sphere : public Shape { public: Sphere(void);