<commit_before>#ifndef _RESOURCE_HANDLER_H
#define _RESOURCE_HANDLER_H

#include <unordered_map>
#include <memory>
#include <vector>
#include <assimp/scene.h>
#include <glm/glm.hpp>
#include <json.hpp>

#include <Utilities/exceptions.hpp>
#include <Resources/model3d.hpp>


class IRenderObject;
class IResource;
class Texture;

class ResourceHandler {
public:
    ResourceHandler();
    ~ResourceHandler();

    void LoadResources();
    void AddResource(std::string name, IResource* resource);

    IRenderObject* GenerateModel(const nlohmann::json& obect);
    IRenderObject* GenerateModel(const nlohmann::json& object, Model3D* model);
    IRenderObject* LoadLineJSON(const nlohmann::json& object);
    Texture* LoadTexture(std::string name, bool genMipMaps);
    Model3D* LoadModel3D(std::string modelname);

    template <typename T = IRenderObject>
    T* GetResource(std::string resource) {<commit_msg>removed line<commit_after>#ifndef _RESOURCE_HANDLER_H
#define _RESOURCE_HANDLER_H

#include <unordered_map>
#include <memory>
#include <vector>
#include <assimp/scene.h>
#include <glm/glm.hpp>
#include <json.hpp>

#include <Utilities/exceptions.hpp>
#include <Resources/model3d.hpp>

class IRenderObject;
class IResource;
class Texture;

class ResourceHandler {
public:
    ResourceHandler();
    ~ResourceHandler();

    void LoadResources();
    void AddResource(std::string name, IResource* resource);

    IRenderObject* GenerateModel(const nlohmann::json& obect);
    IRenderObject* GenerateModel(const nlohmann::json& object, Model3D* model);
    IRenderObject* LoadLineJSON(const nlohmann::json& object);
    Texture* LoadTexture(std::string name, bool genMipMaps);
    Model3D* LoadModel3D(std::string modelname);

    template <typename T = IRenderObject>
    T* GetResource(std::string resource) {
{'fraction_non_alphanumeric': 0.11563876651982379, 'fraction_numerical': 0.004405286343612335, 'mean_word_length': 5.961685823754789, 'pattern_counts': {'":': 0, '<': 21, '<?xml version=': 0, '>': 21, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '1536726', 'n_tokens_mistral': 595, 'n_tokens_neox': 588, 'n_words': 135}