#pragma once #include #include #include "assets/prefetch_queue.hpp" #include "generic/base_dynamic_loader.hpp" #include "assets/dynamic_read_buffers/dynamic_point_cloud_buffer.hpp" #include "assets/dynamic_data_stores/dynamic_point_cloud_store.hpp" #include "assets/data_loaders/kitti_loader.hpp" #include "assets/data_loaders/uos_loader.hpp" #include "assets/data_loaders/uos_normal_loader.hpp" #include "assets/data_loaders/uos_rgb_loader.hpp" #include "assets/data_loaders/uosr_loader.hpp" #include "assets/prefetch_lookups/point_cloud_prefetch_lookup.hpp" #include "util/string_list.hpp" class dynamic_point_cloud_loader : public base_dynamic_loader< components::point_cloud_vertex::flags, kitti_loader, uos_loader, uos_normal_loader, uos_rgb_loader, uos_loader, uosr_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, dynamic_point_cloud_store& store, point_cloud_prefetch_lookup& id_lookup, bool pedantic = false ); private: dynamic_point_cloud_buffer m_buffer{}; };