ReUseX  0.0.5
3D Point Cloud Processing for Building Reuse
Loading...
Searching...
No Matches
model_factory.hpp
Go to the documentation of this file.
1// SPDX-FileCopyrightText: 2026 Povl Filip Sonne-Frederiksen
2//
3// SPDX-License-Identifier: GPL-3.0-or-later
4//
5// Backend/model creation from a filesystem path, compiled INSIDE the vision
6// module. BackendFactory gates each backend behind a compile define
7// (REUSEX_USE_TENSORRT, ...) that is PRIVATE to the vision library, so callers
8// outside the library (apps, tests) must not invoke BackendFactory directly —
9// they would see every backend as "not compiled". This entry point does the
10// creation where the defines are set and returns a ready IModel.
11
12#pragma once
13
14#include "reusex/vision/IModel.hpp"
15
16#include <filesystem>
17#include <memory>
18
19namespace reusex::vision {
20
23std::unique_ptr<IModel>
24create_model_from_path(const std::filesystem::path &modelPath, bool use_cuda);
25
26} // namespace reusex::vision
std::unique_ptr< IModel > create_model_from_path(const std::filesystem::path &modelPath, bool use_cuda)
Detect the backend + model kind from modelPath and build the model.