#pragma once #include "generic/base_dynamic_loader.hpp" #include #include "assets/data/mesh_data.hpp" #include "assets/data_stores/mesh_store.hpp" #include "assets/file_parsers/obj_loader.hpp" #include "assets/file_parsers/stl_loader.hpp" #include "assets/prefetch_lookups/mesh_prefetch_lookup.hpp" namespace assets { class mesh_loader : public base_dynamic_loader< mesh_vertex_components::flags, obj_loader, stl_loader > { public: [[nodiscard]] std::error_code prefetch( loader_id_type loader_id, const ztu::string_list& directories, prefetch_queue& queue ); [[nodiscard]] std::error_code load( loader_id_type loader_id, const ztu::string_list& directories, mesh_store& store, mesh_prefetch_lookup& id_lookup, bool pedantic = false ); private: mesh_data m_buffer{}; }; }