FOUND
Loading...
Searching...
No Matches
edge-filters.hpp
1#ifndef SRC_DISTANCE_EDGE_FILTERS_HPP_
2#define SRC_DISTANCE_EDGE_FILTERS_HPP_
3
4#include <memory>
5#include <optional>
6#include <utility>
7
8#include "command-line/parsing/options.hpp"
9#include "common/pipeline/pipelines.hpp"
10#include "distance/edge.hpp"
11
12namespace found {
13
14typedef ModifyingPipeline<Points> EdgeFilteringAlgorithms;
15
20class EdgeFilteringAlgorithm : public ModifyingStage<Points> {
21 public:
22 EdgeFilteringAlgorithm() = default;
23 virtual ~EdgeFilteringAlgorithm() = default;
24};
25
34class NoOpEdgeFilter : public ModifyingStage<Points> {
35 public:
36 NoOpEdgeFilter() = default;
37 ~NoOpEdgeFilter() override = default;
38
46 void Run(Points &pts) override {
47 // intentionally no-op
48 (void)pts;
49 }
50};
51
52} // namespace found
53
54#endif // SRC_DISTANCE_EDGE_FILTERS_HPP_
Abstract superclass for edge-filtering algorithms.
Definition edge-filters.hpp:20
ModifyingStage is a stage that modifies a resource.
Definition stages.hpp:106
NoOpEdgeFilter.
Definition edge-filters.hpp:34
void Run(Points &pts) override
Run.
Definition edge-filters.hpp:46