1#ifndef SRC_PROVIDERS_FACTORY_HPP_
2#define SRC_PROVIDERS_FACTORY_HPP_
8#include "command-line/execution/executors.hpp"
9#include "providers/stage-providers.hpp"
10#include "distance/edge-filters.hpp"
21inline std::unique_ptr<CalibrationPipelineExecutor> CreateCalibrationPipelineExecutor(
CalibrationOptions &&options) {
22 return std::make_unique<CalibrationPipelineExecutor>(std::move(options),
23 ProvideCalibrationAlgorithm(std::forward<const CalibrationOptions&&>(options)));
33inline std::unique_ptr<DistancePipelineExecutor> CreateDistancePipelineExecutor(
DistanceOptions &&options) {
34 std::unique_ptr<EdgeDetectionAlgorithm> edgeAlg = ProvideEdgeDetectionAlgorithm(
35 std::forward<const DistanceOptions&&>(options));
36 std::unique_ptr<EdgeFilteringAlgorithms> filtersOpt = ProvideEdgeFilteringAlgorithm(
37 std::forward<const DistanceOptions&&>(options));
38 std::unique_ptr<DistanceDeterminationAlgorithm> distAlg = ProvideDistanceDeterminationAlgorithm(
39 std::forward<const DistanceOptions&&>(options));
40 std::unique_ptr<VectorGenerationAlgorithm> vecAlg = ProvideVectorGenerationAlgorithm(
41 std::forward<const DistanceOptions&&>(options));
44 return std::make_unique<DistancePipelineExecutor>(std::move(options),
46 std::move(filtersOpt),
50 return std::make_unique<DistancePipelineExecutor>(std::move(options),
Definition options.hpp:87
Definition options.hpp:95