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