From 2940121b2cd87e2d259afa2226235561e69b8bd8 Mon Sep 17 00:00:00 2001 From: Stanislaw Halik Date: Tue, 16 Jan 2018 01:33:41 +0100 Subject: tracker/pt: make pt_settings header-only We'd like to change the settings without linking to the tracker-pt library. --- tracker-pt/pt-api.cpp | 4 ---- tracker-pt/pt-api.hpp | 52 ++---------------------------------------- tracker-pt/pt-settings.hpp | 57 ++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 59 insertions(+), 54 deletions(-) create mode 100644 tracker-pt/pt-settings.hpp diff --git a/tracker-pt/pt-api.cpp b/tracker-pt/pt-api.cpp index f64b1d81..d86ef0c6 100644 --- a/tracker-pt/pt-api.cpp +++ b/tracker-pt/pt-api.cpp @@ -21,10 +21,6 @@ double pt_camera_info::get_focal_length() const //static bool once = false; if (!once) { once = true; qDebug() << "f" << ret << "fov" << (fov * 180/M_PI); } } -pt_settings::pt_settings(const QString& name) : opts(name) -{ -} - pt_camera::pt_camera() { } diff --git a/tracker-pt/pt-api.hpp b/tracker-pt/pt-api.hpp index 0156fdd7..f2a200d6 100644 --- a/tracker-pt/pt-api.hpp +++ b/tracker-pt/pt-api.hpp @@ -2,6 +2,8 @@ #include "export.hpp" +#include "pt-settings.hpp" + #include "cv/numeric.hpp" #include "options/options.hpp" @@ -28,16 +30,6 @@ struct OTR_PT_EXPORT pt_camera_info final enum pt_camera_open_status : unsigned { cam_open_error, cam_open_ok_no_change, cam_open_ok_change }; -enum pt_color_type -{ - // explicit values, gotta preserve the numbering in .ini - // don't reuse when removing some of the modes - pt_color_natural = 2, - pt_color_red_only = 3, - pt_color_average = 5, - pt_color_blue_only = 6, -}; - struct OTR_PT_EXPORT pt_frame { pt_frame(); @@ -106,46 +98,6 @@ struct OTR_PT_EXPORT pt_point_extractor : pt_pixel_pos_mixin static double threshold_radius_value(int w, int h, int threshold); }; -struct OTR_PT_EXPORT pt_settings final : options::opts -{ - using slider_value = options::slider_value; - - pt_settings(const QString& name); - - value camera_name { b, "camera-name", "" }; - value cam_res_x { b, "camera-res-width", 640 }, - cam_res_y { b, "camera-res-height", 480 }, - cam_fps { b, "camera-fps", 30 }; - value min_point_size { b, "min-point-size", 2.5 }, - max_point_size { b, "max-point-size", 50 }; - - value m01_x { b, "m_01-x", 0 }, m01_y { b, "m_01-y", 0 }, m01_z { b, "m_01-z", 0 }; - value m02_x { b, "m_02-x", 0 }, m02_y { b, "m_02-y", 0 }, m02_z { b, "m_02-z", 0 }; - - value t_MH_x { b, "model-centroid-x", 0 }, - t_MH_y { b, "model-centroid-y", 0 }, - t_MH_z { b, "model-centroid-z", 0 }; - - value clip_ty { b, "clip-ty", 40 }, - clip_tz { b, "clip-tz", 30 }, - clip_by { b, "clip-by", 70 }, - clip_bz { b, "clip-bz", 80 }; - - value active_model_panel { b, "active-model-panel", 0 }, - cap_x { b, "cap-x", 40 }, - cap_y { b, "cap-y", 60 }, - cap_z { b, "cap-z", 100 }; - - value fov { b, "camera-fov", 56 }; - - value dynamic_pose { b, "dynamic-pose-resolution", true }; - value init_phase_timeout { b, "init-phase-timeout", 250 }; - value auto_threshold { b, "automatic-threshold", true }; - value blob_color { b, "blob-color", pt_color_natural }; - - value threshold_slider { b, "threshold-slider", slider_value(128, 0, 255) }; -}; - struct OTR_PT_EXPORT pt_runtime_traits { template using pointer = std::shared_ptr; diff --git a/tracker-pt/pt-settings.hpp b/tracker-pt/pt-settings.hpp new file mode 100644 index 00000000..471bb941 --- /dev/null +++ b/tracker-pt/pt-settings.hpp @@ -0,0 +1,57 @@ +#pragma once + +#include "export.hpp" +#include "options/options.hpp" + +#include + +enum pt_color_type +{ + // explicit values, gotta preserve the numbering in .ini + // don't reuse when removing some of the modes + pt_color_natural = 2, + pt_color_red_only = 3, + pt_color_average = 5, + pt_color_blue_only = 6, +}; + +struct pt_settings final : options::opts +{ + using slider_value = options::slider_value; + + pt_settings(const QString& name) : opts(name) {} + ~pt_settings() {} + + value camera_name { b, "camera-name", "" }; + value cam_res_x { b, "camera-res-width", 640 }, + cam_res_y { b, "camera-res-height", 480 }, + cam_fps { b, "camera-fps", 30 }; + value min_point_size { b, "min-point-size", 2.5 }, + max_point_size { b, "max-point-size", 50 }; + + value m01_x { b, "m_01-x", 0 }, m01_y { b, "m_01-y", 0 }, m01_z { b, "m_01-z", 0 }; + value m02_x { b, "m_02-x", 0 }, m02_y { b, "m_02-y", 0 }, m02_z { b, "m_02-z", 0 }; + + value t_MH_x { b, "model-centroid-x", 0 }, + t_MH_y { b, "model-centroid-y", 0 }, + t_MH_z { b, "model-centroid-z", 0 }; + + value clip_ty { b, "clip-ty", 40 }, + clip_tz { b, "clip-tz", 30 }, + clip_by { b, "clip-by", 70 }, + clip_bz { b, "clip-bz", 80 }; + + value active_model_panel { b, "active-model-panel", 0 }, + cap_x { b, "cap-x", 40 }, + cap_y { b, "cap-y", 60 }, + cap_z { b, "cap-z", 100 }; + + value fov { b, "camera-fov", 56 }; + + value dynamic_pose { b, "dynamic-pose-resolution", true }; + value init_phase_timeout { b, "init-phase-timeout", 250 }; + value auto_threshold { b, "automatic-threshold", true }; + value blob_color { b, "blob-color", pt_color_natural }; + + value threshold_slider { b, "threshold-slider", slider_value(128, 0, 255) }; +}; -- cgit v1.2.3