.. _program_listing_file_Src_GraphicsEngineVulkan_scene_Scene.hpp: Program Listing for File Scene.hpp ================================== |exhale_lsh| :ref:`Return to documentation for file ` (``Src/GraphicsEngineVulkan/scene/Scene.hpp``) .. |exhale_lsh| unicode:: U+021B0 .. UPWARDS ARROW WITH TIP LEFTWARDS .. code-block:: cpp #pragma once #include #include #include #include #include #include #include #include #include #include #include "Model.hpp" #include "gui/GUI.hpp" #include "scene/GUISceneSharedVars.hpp" #include "scene/Mesh.hpp" #include "SceneConfig.hpp" namespace Kataglyphis { class Scene { public: Scene(); void update_user_input(Kataglyphis::Frontend::GUI *gui); void update_model_matrix(glm::mat4 model_matrix, int model_id); const GUISceneSharedVars &getGuiSceneSharedVars() { return guiSceneSharedVars; }; std::vector &getTextures(int model_index) { return model_list[model_index]->getTextures(); }; std::vector &getTextureSampler(int model_index) { return model_list[model_index]->getTextureSamplers(); }; uint32_t getTextureCount(int model_index) { return model_list[model_index]->getTextureCount(); }; uint32_t getModelCount() { return static_cast(model_list.size()); }; glm::mat4 getModelMatrix(int model_index) { return model_list[model_index]->getModel(); }; uint32_t getMeshCount(int model_index) { return static_cast(model_list[model_index]->getMeshCount()); }; VkBuffer getVertexBuffer(int model_index, int mesh_index) { return model_list[model_index]->getMesh(mesh_index)->getVertexBuffer(); }; VkBuffer getIndexBuffer(int model_index, int mesh_index) { return model_list[model_index]->getMesh(mesh_index)->getIndexBuffer(); }; uint32_t getIndexCount(int model_index, int mesh_index) { return model_list[model_index]->getMesh(mesh_index)->getIndexCount(); }; uint32_t getNumberObjectDescriptions() { return static_cast(object_descriptions.size()); }; uint32_t getNumberMeshes(); std::vector getObjectDescriptions() { return object_descriptions; }; std::vector> const &get_model_list() { return model_list; }; void loadModel(VulkanDevice *device, VkCommandPool commandPool); void add_model(std::shared_ptr model); void add_object_description(ObjectDescription object_description); void cleanUp(); ~Scene(); private: std::vector object_descriptions; std::vector> model_list; GUISceneSharedVars guiSceneSharedVars; }; }// namespace Kataglyphis