Добавил конструктор фильтров

This commit is contained in:
2026-04-22 17:10:25 +03:00
parent c8e553e953
commit e0f72ba288
60 changed files with 4041 additions and 379 deletions
+35
View File
@@ -0,0 +1,35 @@
#ifndef PIPELINE_EXECUTOR_H
#define PIPELINE_EXECUTOR_H
#include <memory>
#include "pipeline_stage.h"
namespace core
{
class PipelineExecutor
{
public:
void addPreprocessStage(const std::shared_ptr<IPreprocessStage> &stage);
void addTransformStage(const std::shared_ptr<ITransformStage> &stage);
void addRegistrationStage(const std::shared_ptr<IRegistrationStage> &stage);
void addLocalizationStage(const std::shared_ptr<ILocalizationStage> &stage);
void addSegmentationStage(const std::shared_ptr<ISegmentationStage> &stage);
void addMappingStage(const std::shared_ptr<IMappingStage> &stage);
void addPlanningStage(const std::shared_ptr<IPlanningStage> &stage);
void setReconstructionStage(const std::shared_ptr<IReconstructionStage> &stage);
PipelineResult run(const PointCloudFrame &input) const;
private:
QVector<std::shared_ptr<IPreprocessStage> > m_preprocessStages;
QVector<std::shared_ptr<ITransformStage> > m_transformStages;
QVector<std::shared_ptr<IRegistrationStage> > m_registrationStages;
QVector<std::shared_ptr<ILocalizationStage> > m_localizationStages;
QVector<std::shared_ptr<ISegmentationStage> > m_segmentationStages;
QVector<std::shared_ptr<IMappingStage> > m_mappingStages;
QVector<std::shared_ptr<IPlanningStage> > m_planningStages;
std::shared_ptr<IReconstructionStage> m_reconstructionStage;
};
} // namespace core
#endif // PIPELINE_EXECUTOR_H