FOUND
Loading...
Searching...
No Matches
found::DistancePipelineExecutor Class Reference

DistancePipelineExecutor is the pipeline executor for the distance determination pipeline. More...

#include <executors.hpp>

Inheritance diagram for found::DistancePipelineExecutor:
Collaboration diagram for found::DistancePipelineExecutor:

Public Member Functions

 ~DistancePipelineExecutor ()
 Destroys this and all distance determination pipeline resources.
 
 DistancePipelineExecutor (DistanceOptions &&options, std::unique_ptr< EdgeDetectionAlgorithm > edgeDetectionAlgorithm, std::unique_ptr< DistanceDeterminationAlgorithm > distanceAlgorithm, std::unique_ptr< VectorGenerationAlgorithm > vectorizationAlgorithm)
 Constructs a DistancePipelineExecutor (no edge-filters)
 
 DistancePipelineExecutor (DistanceOptions &&options, std::unique_ptr< EdgeDetectionAlgorithm > edgeDetectionAlgorithm, std::unique_ptr< EdgeFilteringAlgorithms > filters, std::unique_ptr< DistanceDeterminationAlgorithm > distanceAlgorithm, std::unique_ptr< VectorGenerationAlgorithm > vectorizationAlgorithm)
 Constructs a DistancePipelineExecutor with an edge-filtering pipeline.
 
void ExecutePipeline () override
 Executes the relavent Pipeline.
 
void OutputResults () override
 Outputs the results of the Pipeline in some format.
 
- Public Member Functions inherited from found::PipelineExecutor
virtual ~PipelineExecutor ()=default
 Destroys this.
 

Private Attributes

const DistanceOptions options_
 The DistanceOptions being used.
 
DistancePipeline pipeline_
 The Distance pipeline being used.
 

Detailed Description

DistancePipelineExecutor is the pipeline executor for the distance determination pipeline.

Constructor & Destructor Documentation

◆ DistancePipelineExecutor() [1/2]

found::DistancePipelineExecutor::DistancePipelineExecutor ( DistanceOptions &&  options,
std::unique_ptr< EdgeDetectionAlgorithm edgeDetectionAlgorithm,
std::unique_ptr< DistanceDeterminationAlgorithm distanceAlgorithm,
std::unique_ptr< VectorGenerationAlgorithm vectorizationAlgorithm 
)
explicit

Constructs a DistancePipelineExecutor (no edge-filters)

Parameters
optionsThe DistanceOptions to configure the pipeline
edgeDetectionAlgorithmThe EdgeDetectionAlgorithm used by the pipeline (moved into the executor)
distanceAlgorithmThe DistanceDeterminationAlgorithm used by the pipeline (moved into the executor)
vectorizationAlgorithmThe VectorGenerationAlgorithm used by the pipeline (moved into the executor)
Precondition
edgeDetectionAlgorithm, distanceAlgorithm, and vectorizationAlgorithm are non-null and already configured to operate on (Image -> Points -> PositionVector) in that order.
Each provided stage is already "ready" (e.g., pipelines passed in were Completed) before transfer.

◆ DistancePipelineExecutor() [2/2]

found::DistancePipelineExecutor::DistancePipelineExecutor ( DistanceOptions &&  options,
std::unique_ptr< EdgeDetectionAlgorithm edgeDetectionAlgorithm,
std::unique_ptr< EdgeFilteringAlgorithms filters,
std::unique_ptr< DistanceDeterminationAlgorithm distanceAlgorithm,
std::unique_ptr< VectorGenerationAlgorithm vectorizationAlgorithm 
)
explicit

Constructs a DistancePipelineExecutor with an edge-filtering pipeline.

Parameters
optionsThe DistanceOptions to configure the pipeline (moved into the executor)
edgeDetectionAlgorithmThe EdgeDetectionAlgorithm used by the pipeline (moved into the executor)
filtersA pipeline of edge filtering stages; ownership is transferred to the executor
distanceAlgorithmThe DistanceDeterminationAlgorithm used by the pipeline (moved into the executor)
vectorizationAlgorithmThe VectorGenerationAlgorithm used by the pipeline (moved into the executor)
Precondition
edgeDetectionAlgorithm, filters, distanceAlgorithm, and vectorizationAlgorithm are non-null.
filters has been completed (ready) prior to being passed in so it can run as a stage.
Stage input/output types align with the Distance pipeline: Image -> Points -> Points -> PositionVector.

Member Function Documentation

◆ ExecutePipeline()

void found::DistancePipelineExecutor::ExecutePipeline ( )
overridevirtual

Executes the relavent Pipeline.

Implements found::PipelineExecutor.

◆ OutputResults()

void found::DistancePipelineExecutor::OutputResults ( )
overridevirtual

Outputs the results of the Pipeline in some format.

Implements found::PipelineExecutor.


The documentation for this class was generated from the following files: