[FIX] Rename object has shape

This commit is contained in:
NADAL Jean-Baptiste
2024-02-15 16:16:48 +01:00
parent 804822ec86
commit f8c2188f61
6 changed files with 44 additions and 44 deletions

View File

@@ -15,7 +15,7 @@ add_library(raytracing
src/intersection.cpp src/intersection.cpp
src/intersections.cpp src/intersections.cpp
src/matrix.cpp src/matrix.cpp
src/object.cpp src/shape.cpp
src/ray.cpp src/ray.cpp
src/sphere.cpp src/sphere.cpp
src/tuple.cpp src/tuple.cpp

View File

@@ -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_is_nothing(false),
m_distance_t(a_distance_t), 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) : Intersection::Intersection(Intersection &an_intersection) :
m_is_nothing(an_intersection.m_is_nothing), m_is_nothing(an_intersection.m_is_nothing),
m_distance_t(an_intersection.m_distance_t), 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) : Intersection::Intersection(const Intersection &an_intersection) :
m_is_nothing(an_intersection.m_is_nothing), m_is_nothing(an_intersection.m_is_nothing),
m_distance_t(an_intersection.m_distance_t), 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_is_nothing = an_intersection.m_is_nothing;
m_distance_t = an_intersection.m_distance_t; m_distance_t = an_intersection.m_distance_t;
m_object = an_intersection.m_object; m_shape = an_intersection.m_shape;
return *this; return *this;
} }
@@ -87,7 +87,7 @@ const Intersection &Intersection::operator=(const Intersection &an_intersection)
bool Intersection::operator==(const Intersection &an_other) const 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;
} }
/* ------------------------------------------------------------------------- */ /* ------------------------------------------------------------------------- */

View File

@@ -28,7 +28,7 @@
/* ------------------------------------------------------------------------- */ /* ------------------------------------------------------------------------- */
#include "object.h" #include "shape.h"
/* ------------------------------------------------------------------------- */ /* ------------------------------------------------------------------------- */
@@ -40,7 +40,7 @@ namespace Raytracer
{ {
public: public:
Intersection(void); 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(Intersection &an_intersection);
Intersection(const Intersection &an_intersection); Intersection(const Intersection &an_intersection);
@@ -55,14 +55,14 @@ namespace Raytracer
bool operator<=(double a_distance) const; bool operator<=(double a_distance) const;
double distance_t(void) const; double distance_t(void) const;
const Object &object(void) const; const Shape &object(void) const;
bool is_nothing(void); bool is_nothing(void);
bool is_defined(void); bool is_defined(void);
private: private:
bool m_is_nothing; bool m_is_nothing;
double m_distance_t; double m_distance_t;
Object m_object; Shape m_shape;
}; };
}; // namespace Raytracer }; // namespace Raytracer

View File

@@ -1,5 +1,5 @@
/*! /*!
* object.cpp * shape.cpp
* *
* Copyright (c) 2024, NADAL Jean-Baptiste. All rights reserved. * Copyright (c) 2024, NADAL Jean-Baptiste. All rights reserved.
* *
@@ -30,7 +30,7 @@
#include "intersections.h" #include "intersections.h"
#include "object.h" #include "shape.h"
using namespace Raytracer; using namespace Raytracer;
@@ -38,72 +38,72 @@ using namespace Raytracer;
#define kNothing 0 #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; return *this;
} }
m_id = an_other.m_id; m_id = a_shape.m_id;
m_transform = an_other.m_transform; m_transform = a_shape.m_transform;
return *this; 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); return (m_id == kNothing);
} }
/* ------------------------------------------------------------------------- */ /* ------------------------------------------------------------------------- */
Matrix &Object::transform(void) Matrix &Shape::transform(void)
{ {
return m_transform; 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; 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); Tuple the_result = a_point - Tuple::Point(0, 0, 0);
return the_result.normalize(); 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; 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++; m_id = s_current_index++;
} }

View File

@@ -1,5 +1,5 @@
/*! /*!
* intersection.h * shape.h
* *
* Copyright (c) 2024, NADAL Jean-Baptiste. All rights reserved. * Copyright (c) 2024, NADAL Jean-Baptiste. All rights reserved.
* *
@@ -23,8 +23,8 @@
* *
*/ */
#ifndef _RAYTRACER_OBJECT_H #ifndef _RAYTRACER_SHAPE_H
#define _RAYTRACER_OBJECT_H #define _RAYTRACER_SHAPE_H
/* ------------------------------------------------------------------------- */ /* ------------------------------------------------------------------------- */
@@ -41,15 +41,15 @@ namespace Raytracer
/* ------------------------------------------------------------------------- */ /* ------------------------------------------------------------------------- */
class Object class Shape
{ {
public: public:
Object(void); Shape(void);
Object(Object &a_copy); Shape(Shape &a_copy);
Object(const Object &a_copy); Shape(const Shape &a_copy);
const Object &operator=(const Object &an_other); const Shape &operator=(const Shape &a_shape);
bool operator==(const Object &an_object) const; bool operator==(const Shape &a_shape) const;
bool is_nothing(void); bool is_nothing(void);
@@ -70,4 +70,4 @@ namespace Raytracer
}; };
}; // namespace Raytracer }; // namespace Raytracer
#endif // _RAYTRACER_OBJECT_H #endif // _RAYTRACER_SHAPE_H

View File

@@ -28,13 +28,13 @@
/* ------------------------------------------------------------------------- */ /* ------------------------------------------------------------------------- */
#include "object.h" #include "shape.h"
/* ------------------------------------------------------------------------- */ /* ------------------------------------------------------------------------- */
namespace Raytracer namespace Raytracer
{ {
class Sphere : public Object class Sphere : public Shape
{ {
public: public:
Sphere(void); Sphere(void);