#pragma once #include <stdafx.h> #include "Camera.h" #include "Model.h" #include "Light.h" namespace fpr { class Scene { std::vector<std::shared_ptr<Model>> m_models; std::vector<PointLight> m_lights; public: static constexpr const char* SCENE_FILE_EXT = ".scene"; Scene(const char* file_name); [[nodiscard]] const std::vector<std::shared_ptr<Model>>& GetModels() const FPR_NOEXCEPT; [[nodiscard]] const std::vector<PointLight>& GetLights() const FPR_NOEXCEPT; void AddModel(std::shared_ptr<Model>& new_model); void AddModels(std::vector<std::shared_ptr<Model>>& new_models); void AddLight(PointLight new_light); void AddLights(std::vector<PointLight>& new_lights); }; } // namespace fpr