/* * @author: Gustavo Lopez 10-21-17 * * @version: 1.0 */ #pragma once #include #include #include #include class Brenderable; class BrenderManager { private: static bool instanceFlag; static BrenderManager *manager; int frame; std::string EXPORT_DIR; std::vector > brenderables; BrenderManager() { //private constructor EXPORT_DIR = "."; frame = 0; } public: static BrenderManager* getInstance(); void setExportDir(std::string export_dir); int getFrame() const; void exportBrender(double time = 0.0); void add(std::shared_ptr brenderable); ~BrenderManager() { instanceFlag = false; } };