GCC Code Coverage Report


Directory: ./
File: tasks/paramonov_v_bin_img_conv_hul/seq/include/ops_seq.hpp
Date: 2026-04-02 17:12:27
Exec Total Coverage
Lines: 0 1 0.0%
Functions: 0 0 -%
Branches: 0 6 0.0%

Line Branch Exec Source
1 #pragma once
2
3 #include <cstddef>
4 #include <cstdint>
5 #include <vector>
6
7 #include "paramonov_v_bin_img_conv_hul/common/include/common.hpp"
8 #include "task/include/task.hpp"
9
10 namespace paramonov_v_bin_img_conv_hul {
11
12 class ConvexHullSequential : public HullTaskBase {
13 public:
14 static constexpr ppc::task::TypeOfTask StaticTaskType() {
15 return ppc::task::TypeOfTask::kSEQ;
16 }
17
18 explicit ConvexHullSequential(const InputType &input);
19
20 private:
21 bool ValidationImpl() override;
22 bool PreProcessingImpl() override;
23 bool RunImpl() override;
24 bool PostProcessingImpl() override;
25
26 void BinarizeImage(uint8_t threshold = 128);
27 void ExtractConnectedComponents();
28
29 [[nodiscard]] static std::vector<PixelPoint> ComputeConvexHull(const std::vector<PixelPoint> &points);
30 [[nodiscard]] static int64_t Orientation(const PixelPoint &p, const PixelPoint &q, const PixelPoint &r);
31 static size_t PixelIndex(int row, int col, int cols) {
32 return (static_cast<size_t>(row) * static_cast<size_t>(cols)) + static_cast<size_t>(col);
33 }
34
35 void FloodFill(int start_row, int start_col, std::vector<bool> &visited, std::vector<PixelPoint> &component) const;
36
37 InputType working_image_;
38 };
39
40 } // namespace paramonov_v_bin_img_conv_hul
41