summaryrefslogtreecommitdiffhomepage
path: root/tracker-points/pt-api.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'tracker-points/pt-api.hpp')
-rw-r--r--tracker-points/pt-api.hpp128
1 files changed, 0 insertions, 128 deletions
diff --git a/tracker-points/pt-api.hpp b/tracker-points/pt-api.hpp
deleted file mode 100644
index 81a52f7f..00000000
--- a/tracker-points/pt-api.hpp
+++ /dev/null
@@ -1,128 +0,0 @@
-#pragma once
-
-#include "pt-settings.hpp"
-
-#include "cv/numeric.hpp"
-#include "options/options.hpp"
-#include "video/camera.hpp"
-
-#include <tuple>
-#include <type_traits>
-#include <memory>
-
-#include <opencv2/core.hpp>
-
-#include <QImage>
-#include <QString>
-
-#ifdef __clang__
-# pragma clang diagnostic push
-# pragma clang diagnostic ignored "-Wweak-vtables"
-#endif
-
-const int KPointCount = 3;
-
-struct pt_camera_info final
-{
- using f = numeric_types::f;
-
- pt_camera_info();
- static f get_focal_length(f fov, int res_x, int res_y);
-
- f fov = 0;
- f fps = 0;
-
- int res_x = 0;
- int res_y = 0;
- QString name;
-};
-
-struct pt_pixel_pos_mixin
-{
- using f = numeric_types::f;
-
- static std::tuple<f, f> to_pixel_pos(f x, f y, int w, int h);
- static std::tuple<f, f> to_screen_pos(f px, f py, int w, int h);
-};
-
-struct pt_frame : pt_pixel_pos_mixin
-{
- pt_frame();
- virtual ~pt_frame();
-
- template<typename t>
- t* as() &
- {
- return static_cast<t*>(this);
- }
-
- template<typename t>
- t const* as_const() const&
- {
- return static_cast<t const*>(this);
- }
-};
-
-struct pt_preview : pt_frame
-{
- virtual pt_preview& operator=(const pt_frame&) = 0;
- virtual QImage get_bitmap() = 0;
- virtual void draw_head_center(f x, f y) = 0;
-};
-
-struct pt_camera
-{
- using result = std::tuple<bool, pt_camera_info>;
- using f = numeric_types::f;
-
- pt_camera();
- virtual ~pt_camera();
-
- [[nodiscard]] virtual bool start(const QString& name, int fps, int res_x, int res_y) = 0;
- virtual void stop() = 0;
-
- virtual result get_frame(pt_frame& frame) = 0;
- virtual result get_info() const = 0;
- virtual pt_camera_info get_desired() const = 0;
-
- virtual QString get_desired_name() const = 0;
- virtual QString get_active_name() const = 0;
-
- virtual void set_fov(f value) = 0;
- virtual void show_camera_settings() = 0;
-
- video::impl::camera::info info;
-};
-
-struct pt_point_extractor : pt_pixel_pos_mixin
-{
- using vec2 = numeric_types::vec2;
- using f = numeric_types::f;
-
- pt_point_extractor();
- virtual ~pt_point_extractor();
- virtual void extract_points(const pt_frame& image, pt_preview& preview_frame, std::vector<vec2>& points, std::vector<vec2>& imagePoints) = 0;
-
- static f threshold_radius_value(int w, int h, int threshold);
-};
-
-struct pt_runtime_traits
-{
- template<typename t> using pointer = std::shared_ptr<t>;
-
- pt_runtime_traits();
- virtual ~pt_runtime_traits();
-
- virtual pointer<pt_camera> make_camera() const = 0;
- virtual pointer<pt_point_extractor> make_point_extractor() const = 0;
- virtual pointer<pt_frame> make_frame() const = 0;
- virtual pointer<pt_preview> make_preview(int w, int h) const = 0;
- virtual QString get_module_name() const = 0;
-};
-
-template<typename t>
-using pt_pointer = typename pt_runtime_traits::pointer<t>;
-
-#ifdef __clang__
-# pragma clang diagnostic pop
-#endif