Files
Z3D/include/assets/dynamic_data_loaders/dynamic_point_cloud_loader.hpp
2024-12-22 16:58:40 +01:00

47 lines
1.2 KiB
C++

#pragma once
#include <filesystem>
#include <system_error>
#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{};
};