From 736d6253e3342305a90c4cca09c014ad772f8841 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Martin=20=C5=A0toura=C4=8D?= <525032@mail.muni.cz>
Date: Wed, 4 Oct 2023 21:18:24 +0200
Subject: [PATCH] renamed object to mesh

---
 src/common/CMakeLists.txt                     |  2 +
 src/common/include/common/node.hpp            |  2 +-
 .../include/common}/objectbase.hpp            |  2 +-
 src/filein/include/filein/obj_loader.hpp      |  6 +--
 src/filein/src/obj_loader.cpp                 |  4 +-
 src/gfx/CMakeLists.txt                        |  7 +---
 src/gfx/include/gfx/camera.hpp                |  2 +-
 src/gfx/include/gfx/light.hpp                 |  2 +-
 src/gfx/include/gfx/{object.hpp => mesh.hpp}  |  6 +--
 src/gfx/include/gfx/render.hpp                |  2 +-
 src/gfx/src/{object.cpp => mesh.cpp}          |  6 +--
 src/gfx/src/render.cpp                        |  4 +-
 src/studio/include/studio/simulator.hpp       |  6 +--
 src/studio/src/simulator.cpp                  | 42 +++++++++----------
 14 files changed, 46 insertions(+), 47 deletions(-)
 rename src/{gfx/include/gfx => common/include/common}/objectbase.hpp (68%)
 rename src/gfx/include/gfx/{object.hpp => mesh.hpp} (91%)
 rename src/gfx/src/{object.cpp => mesh.cpp} (77%)

diff --git a/src/common/CMakeLists.txt b/src/common/CMakeLists.txt
index 0de07b0..743c5d0 100644
--- a/src/common/CMakeLists.txt
+++ b/src/common/CMakeLists.txt
@@ -10,6 +10,8 @@ add_library(${THIS_TARGET_NAME}
     ./include/common/node.hpp
     # ./src/node.cpp
 
+    ./include/common/objectbase.hpp
+    # ./src/objectbase.cpp
     )
 
 set_target_properties(${THIS_TARGET_NAME} PROPERTIES
diff --git a/src/common/include/common/node.hpp b/src/common/include/common/node.hpp
index 0223b89..db2601c 100644
--- a/src/common/include/common/node.hpp
+++ b/src/common/include/common/node.hpp
@@ -2,7 +2,7 @@
 #define NODE_INCLUDED
 
 #include <common/frame.hpp>
-#include <gfx/objectbase.hpp>
+#include <common/objectbase.hpp>
 #include <vector>
 #include <memory>
 
diff --git a/src/gfx/include/gfx/objectbase.hpp b/src/common/include/common/objectbase.hpp
similarity index 68%
rename from src/gfx/include/gfx/objectbase.hpp
rename to src/common/include/common/objectbase.hpp
index 8170a9a..d936d98 100644
--- a/src/gfx/include/gfx/objectbase.hpp
+++ b/src/common/include/common/objectbase.hpp
@@ -1,7 +1,7 @@
 #ifndef OBJECTBASE_INCLUDED
 #define OBJECTBASE_INCLUDED
 
-// Encapsulates Object, Camera and Light classes
+// Encapsulates Mesh, Camera and Light classes
 class ObjectBase
 {
 public:
diff --git a/src/filein/include/filein/obj_loader.hpp b/src/filein/include/filein/obj_loader.hpp
index 9e41436..c057ce0 100644
--- a/src/filein/include/filein/obj_loader.hpp
+++ b/src/filein/include/filein/obj_loader.hpp
@@ -7,10 +7,10 @@
 #include <memory>
 #include <tiny_obj_loader.h>
 
-#include <gfx/object.hpp>
+#include <gfx/mesh.hpp>
 
-using object_ptr = std::shared_ptr<Object>;
+using mesh_ptr = std::shared_ptr<Mesh>;
 
-object_ptr load_object(std::string const& model_path);
+mesh_ptr load_object(std::string const& model_path);
 
 #endif
\ No newline at end of file
diff --git a/src/filein/src/obj_loader.cpp b/src/filein/src/obj_loader.cpp
index a72ff6c..7b98f88 100644
--- a/src/filein/src/obj_loader.cpp
+++ b/src/filein/src/obj_loader.cpp
@@ -1,7 +1,7 @@
 #include <filein/obj_loader.hpp>
 
 
-object_ptr load_object(std::string const& model_path)
+mesh_ptr load_object(std::string const& model_path)
 {
     // TO DO: rework indices for normals from .obj
     tinyobj::attrib_t attrib;
@@ -26,6 +26,6 @@ object_ptr load_object(std::string const& model_path)
         }
     }
 
-    object_ptr result = std::make_shared<Object>(attrib.vertices, indices, attrib.normals);
+    mesh_ptr result = std::make_shared<Mesh>(attrib.vertices, indices, attrib.normals);
     return std::move(result);
 }
\ No newline at end of file
diff --git a/src/gfx/CMakeLists.txt b/src/gfx/CMakeLists.txt
index 0ba8830..fe8cdc3 100644
--- a/src/gfx/CMakeLists.txt
+++ b/src/gfx/CMakeLists.txt
@@ -19,15 +19,12 @@ add_library(${THIS_TARGET_NAME}
     ./include/gfx/camera.hpp
     ./src/camera.cpp
 
-    ./include/gfx/object.hpp
-    ./src/object.cpp
+    ./include/gfx/mesh.hpp
+    ./src/mesh.cpp
 
     ./include/gfx/light.hpp
     #./src/light.cpp
 
-    ./include/gfx/objectbase.hpp
-    #./src/objectbase.cpp
-
     # ./include/osi/opengl.hpp
     # ./include/osi/gui.hpp
     )
diff --git a/src/gfx/include/gfx/camera.hpp b/src/gfx/include/gfx/camera.hpp
index a9de5a5..d8fbefe 100644
--- a/src/gfx/include/gfx/camera.hpp
+++ b/src/gfx/include/gfx/camera.hpp
@@ -7,7 +7,7 @@
 #include <glm/gtc/type_ptr.hpp>
 #include <memory>
 
-#include <gfx/objectbase.hpp>
+#include <common/objectbase.hpp>
 #include <common/frame.hpp>
 
 using frame_ptr = std::shared_ptr<Frame>;
diff --git a/src/gfx/include/gfx/light.hpp b/src/gfx/include/gfx/light.hpp
index 9896d63..9fad7e7 100644
--- a/src/gfx/include/gfx/light.hpp
+++ b/src/gfx/include/gfx/light.hpp
@@ -6,7 +6,7 @@
 
 #include <common/frame.hpp>
 #include <common/node.hpp>
-#include <gfx/objectbase.hpp>
+#include <common/objectbase.hpp>
 
 using frame_ptr = std::shared_ptr<Frame>;
 using frame_weak_ptr = std::weak_ptr<Frame>;
diff --git a/src/gfx/include/gfx/object.hpp b/src/gfx/include/gfx/mesh.hpp
similarity index 91%
rename from src/gfx/include/gfx/object.hpp
rename to src/gfx/include/gfx/mesh.hpp
index 89950ee..6c2f803 100644
--- a/src/gfx/include/gfx/object.hpp
+++ b/src/gfx/include/gfx/mesh.hpp
@@ -6,7 +6,7 @@
 #include <vector>
 #include <memory>
 #include <utility>
-#include <gfx/objectbase.hpp>
+#include <common/objectbase.hpp>
 #include <gfx/vao.hpp>
 #include <gfx/vbo.hpp>
 #include <gfx/ebo.hpp>
@@ -14,7 +14,7 @@
 
 using VAO_ptr = std::shared_ptr<VAO>;
 
-class Object : public ObjectBase
+class Mesh : public ObjectBase
 {
     VAO_ptr _VAO = std::make_shared<VAO>();
     glm::vec3 color;
@@ -30,7 +30,7 @@ class Object : public ObjectBase
     
 
 public:
-    Object(std::vector<float> const &_vertices, 
+    Mesh(std::vector<float> const &_vertices, 
            std::vector<unsigned int> const &_indices,
            std::vector<float> const &_normals = {},
            glm::vec3 _color = glm::vec3(1.0f, 0.5f, 0.31f),
diff --git a/src/gfx/include/gfx/render.hpp b/src/gfx/include/gfx/render.hpp
index dccfa50..0f44af5 100644
--- a/src/gfx/include/gfx/render.hpp
+++ b/src/gfx/include/gfx/render.hpp
@@ -12,7 +12,7 @@
 #include <vector>
 #include <map>
 
-using object_ptr = std::shared_ptr<Object>;
+using mesh_ptr = std::shared_ptr<Mesh>;
 using camera_ptr = std::shared_ptr<Camera>;
 using frame_ptr = std::shared_ptr<Frame>;
 using node_ptr = std::shared_ptr<Node>;
diff --git a/src/gfx/src/object.cpp b/src/gfx/src/mesh.cpp
similarity index 77%
rename from src/gfx/src/object.cpp
rename to src/gfx/src/mesh.cpp
index d39e5b7..199763e 100644
--- a/src/gfx/src/object.cpp
+++ b/src/gfx/src/mesh.cpp
@@ -1,7 +1,7 @@
-#include <gfx/object.hpp>
+#include <gfx/mesh.hpp>
 #include <vector>
 
-Object::Object(std::vector<float> const &_vertices, 
+Mesh::Mesh(std::vector<float> const &_vertices, 
                std::vector<unsigned int> const &_indices, 
                std::vector<float> const &_normals,
                glm::vec3 _color,
@@ -13,7 +13,7 @@ Object::Object(std::vector<float> const &_vertices,
     _VAO->bindBuffers();
 }
 
-void Object::sendDataToVAO(std::vector<float> const &_vertices, 
+void Mesh::sendDataToVAO(std::vector<float> const &_vertices, 
                        std::vector<unsigned int> const &_indices,
                        std::vector<float> const &_normals)
 {
diff --git a/src/gfx/src/render.cpp b/src/gfx/src/render.cpp
index 7268297..4056677 100644
--- a/src/gfx/src/render.cpp
+++ b/src/gfx/src/render.cpp
@@ -7,7 +7,7 @@
 #include <gfx/vbo.hpp>
 #include <gfx/ebo.hpp>
 #include <gfx/camera.hpp>
-#include <gfx/object.hpp>
+#include <gfx/mesh.hpp>
 #include <common/frame.hpp>
 #include <gfx/render.hpp> // Order important for compile
 #include <gfx/shader.hpp>
@@ -93,7 +93,7 @@ void draw_objects(std::map<std::string, shader_ptr> &my_shaders, std::vector<lig
     {
         for (auto &object : node->getObjects())
         {
-            auto* obj = dynamic_cast<Object*>(object.get());
+            auto* obj = dynamic_cast<Mesh*>(object.get());
             if (!obj)
                 continue;
 
diff --git a/src/studio/include/studio/simulator.hpp b/src/studio/include/studio/simulator.hpp
index aa6ece7..6f35eaa 100644
--- a/src/studio/include/studio/simulator.hpp
+++ b/src/studio/include/studio/simulator.hpp
@@ -13,8 +13,8 @@
 #include <gfx/vbo.hpp>
 #include <gfx/ebo.hpp>
 #include <gfx/camera.hpp>
-#include <gfx/objectbase.hpp>
-#include <gfx/object.hpp>
+#include <common/objectbase.hpp>
+#include <gfx/mesh.hpp>
 #include <common/frame.hpp>
 #include <gfx/light.hpp>
 #include <common/node.hpp>
@@ -29,7 +29,7 @@
 
 namespace studio {
 
-using object_ptr = std::shared_ptr<Object>;
+using mesh_ptr = std::shared_ptr<Mesh>;
 using camera_ptr = std::shared_ptr<Camera>;
 using frame_ptr = std::shared_ptr<Frame>;
 using node_ptr = std::shared_ptr<Node>;
diff --git a/src/studio/src/simulator.cpp b/src/studio/src/simulator.cpp
index 319a805..e5a3143 100644
--- a/src/studio/src/simulator.cpp
+++ b/src/studio/src/simulator.cpp
@@ -253,29 +253,29 @@ void Simulator::findCameras(const std::vector<node_ptr> &scene)
 void Simulator::createScene()
 {
     /* ADD DEFAULT CUBE */
-    Object cube(lit_cube_vertices, lit_cube_indices, lit_cube_normals);
+    Mesh cube(lit_cube_vertices, lit_cube_indices, lit_cube_normals);
     scene.emplace_back(std::make_shared<Node>(std::make_shared<Frame>(Frame{})));
-    scene.back()->addObject(std::make_shared<Object>(std::move(cube)));
+    scene.back()->addObject(std::make_shared<Mesh>(std::move(cube)));
     auto cube_ptr = scene.back()->getObjects()[0];
 
     // // AXIS OBJECT
-    // Object axis(axis_obj_vertices, axis_obj_indices, axis_obj_normals);
+    // Mesh axis(axis_obj_vertices, axis_obj_indices, axis_obj_normals);
     // axis.setShaderType("basic");
     // scene.emplace_back(std::make_shared<Node>(std::make_shared<Frame>(Frame{glm::vec3(3, 2, 0)})));
-    // scene.back()->addObject(std::make_shared<Object>(std::move(axis)));
+    // scene.back()->addObject(std::make_shared<Mesh>(std::move(axis)));
     scene.emplace_back(std::make_shared<Node>(std::make_shared<Frame>(Frame{glm::vec3(5, 1, -4)})));
     scene.back()->addObject(cube_ptr);
 
     // TRIANGLE
-    Object triangle(triangle_vertices, triangle_indices);
+    Mesh triangle(triangle_vertices, triangle_indices);
     triangle.setShaderType("basic");
     //scene.emplace_back(std::make_shared<Node>(std::make_shared<Frame>(Frame{glm::vec3(-2, 1, 0)})));
     scene.emplace_back(std::make_shared<Node>(std::make_shared<Frame>(Frame{glm::vec3(0, -0.5f, 0)})));
-    scene.back()->addObject(std::make_shared<Object>(std::move(triangle)));
+    scene.back()->addObject(std::make_shared<Mesh>(std::move(triangle)));
 
     /* ADD LIGHT CUBE AND ITS LIGHT */
     scene.emplace_back(std::make_shared<Node>(std::make_shared<Frame>(Frame{glm::vec3(1.2f, 2.0f, 2.0f)})));
-    scene.back()->addObject(std::make_shared<Object>(lit_cube_vertices, 
+    scene.back()->addObject(std::make_shared<Mesh>(lit_cube_vertices, 
                                                      lit_cube_indices, 
                                                      std::vector<float>{},
                                                      glm::vec3(1.0f, 1.0f, 1.0f), 
@@ -285,7 +285,7 @@ void Simulator::createScene()
 
     /* ADD GRID */
     scene.emplace_back(std::make_shared<Node>(std::make_shared<Frame>(glm::vec3(0, 0, 0))));
-    object_ptr grid = std::make_shared<Object>(generate_grid_vertices(100), 
+    mesh_ptr grid = std::make_shared<Mesh>(generate_grid_vertices(100), 
                                                generate_grid_indices(100), 
                                                std::vector<float>{},
                                                glm::vec3(0.5f, 0.5f, 0.5f), 
@@ -296,23 +296,23 @@ void Simulator::createScene()
 
     /* ADD DEER */
     scene.emplace_back(std::make_shared<Node>(std::make_shared<Frame>(glm::vec3(0, 2, 0))));
-    object_ptr deer = load_object("./data/models/deer.obj");
+    mesh_ptr deer = load_object("./data/models/deer.obj");
     scene.back()->getFrame()->setScale(glm::vec3(0.01f, 0.01f, 0.01f));
     scene.back()->addObject(std::move(deer));
 
     /* ADD .OBJ CUBE */
     scene.emplace_back(std::make_shared<Node>(std::make_shared<Frame>(glm::vec3(-3, 2, 0))));
-    object_ptr file_cube = load_object("./data/models/cube.obj");
+    mesh_ptr file_cube = load_object("./data/models/cube.obj");
     scene.back()->addObject(std::move(file_cube));
 
     /* ADD .OBJ VASE */
     scene.emplace_back(std::make_shared<Node>(std::make_shared<Frame>(glm::vec3(2, 1, -1))));
-    object_ptr vase = load_object("./data/models/smooth_vase.obj");
+    mesh_ptr vase = load_object("./data/models/smooth_vase.obj");
     scene.back()->addObject(std::move(vase));
 
     // /* ADD .OBJ GIRAFFE */
     // scene.emplace_back(std::make_shared<Node>(std::make_shared<Frame>(glm::vec3(-5, 1, 3))));
-    // object_ptr giraffe = load_object("./data/models/final_giraffe.obj");
+    // mesh_ptr giraffe = load_object("./data/models/final_giraffe.obj");
     // scene.back()->addObject(std::move(giraffe));
 
     /* ADD CAMERA */
@@ -347,7 +347,7 @@ void Simulator::processInput()
 
 void Simulator::addRay(glm::vec3 ray_position, glm::vec3 ray_direction)
 {
-    object_ptr ray = std::make_shared<Object>(Object{{0, 0, 0, ray_direction.x, ray_direction.y, ray_direction.z},
+    mesh_ptr ray = std::make_shared<Mesh>(Mesh{{0, 0, 0, ray_direction.x, ray_direction.y, ray_direction.z},
                                                      {0, 1}, {}, glm::vec3(0.5f, 1, 0.31f), "basic"});
     ray->setDrawMode(GL_LINES);
     ray->setSelectability(false);
@@ -363,15 +363,15 @@ void Simulator::addSelectionAABB(node_ptr node)
     selection_AABB = scene.back();
     for (auto &object : node->getObjects())
     {
-        auto obj = dynamic_pointer_cast<Object>(object);
+        auto obj = dynamic_pointer_cast<Mesh>(object);
         if (!obj)
             continue;
         
-        Object obj_bbox(obj->getAABB().getVertices(), obj->getAABB().getIndices(), 
+        Mesh obj_bbox(obj->getAABB().getVertices(), obj->getAABB().getIndices(), 
                         std::vector<float>{}, glm::vec3(0.5f, 1, 0.31f), "basic");
         obj_bbox.setSelectability(false);
         obj_bbox.setDrawMode(GL_LINES);
-        scene.back()->addObject(std::make_shared<Object>(std::move(obj_bbox)));
+        scene.back()->addObject(std::make_shared<Mesh>(std::move(obj_bbox)));
     }
 }
 
@@ -381,15 +381,15 @@ void Simulator::addPreAddAABB(node_ptr node, Frame position)
     pre_add_AABB = scene.back();
     for (auto &object : node->getObjects())
     {
-        auto obj = dynamic_pointer_cast<Object>(object);
+        auto obj = dynamic_pointer_cast<Mesh>(object);
         if (!obj)
             continue;
             
-        Object obj_bbox(obj->getAABB().getVertices(), obj->getAABB().getIndices(), 
+        Mesh obj_bbox(obj->getAABB().getVertices(), obj->getAABB().getIndices(), 
                         std::vector<float>{}, glm::vec3(0.5f, 1, 0.31f), "basic");
         obj_bbox.setSelectability(false);
         obj_bbox.setDrawMode(GL_LINES);
-        scene.back()->addObject(std::make_shared<Object>(std::move(obj_bbox)));
+        scene.back()->addObject(std::make_shared<Mesh>(std::move(obj_bbox)));
     }
 }
 
@@ -453,7 +453,7 @@ void Simulator::changeDrawMode(node_ptr node, unsigned int mode)
 {
     for (auto &object : node->getObjects())
     {
-        auto obj = dynamic_pointer_cast<Object>(object);
+        auto obj = dynamic_pointer_cast<Mesh>(object);
         if (!obj)
             continue;
         obj->setDrawMode(mode);
@@ -634,7 +634,7 @@ node_ptr find_intersection(std::vector<node_ptr> scene, glm::vec3 ray_position,
     {
         for (auto &object : node->getObjects())
         {
-            auto obj = dynamic_pointer_cast<Object>(object);
+            auto obj = dynamic_pointer_cast<Mesh>(object);
             if (!obj || !obj->isSelectable())
                 continue;
             
-- 
GitLab