summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorStanislaw Halik <sthalik@misaki.pl>2018-01-16 01:33:41 +0100
committerStanislaw Halik <sthalik@misaki.pl>2018-01-16 06:45:47 +0100
commit2940121b2cd87e2d259afa2226235561e69b8bd8 (patch)
treeeddbfc4a7a0a51dd44fc9283ecfb73f9f066f27c
parente655bd4e5a490c1d722691062a723fd075c9ddfa (diff)
tracker/pt: make pt_settings header-only
We'd like to change the settings without linking to the tracker-pt library.
-rw-r--r--tracker-pt/pt-api.cpp4
-rw-r--r--tracker-pt/pt-api.hpp52
-rw-r--r--tracker-pt/pt-settings.hpp57
3 files changed, 59 insertions, 54 deletions
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<QString> camera_name { b, "camera-name", "" };
- value<int> cam_res_x { b, "camera-res-width", 640 },
- cam_res_y { b, "camera-res-height", 480 },
- cam_fps { b, "camera-fps", 30 };
- value<double> min_point_size { b, "min-point-size", 2.5 },
- max_point_size { b, "max-point-size", 50 };
-
- value<int> m01_x { b, "m_01-x", 0 }, m01_y { b, "m_01-y", 0 }, m01_z { b, "m_01-z", 0 };
- value<int> m02_x { b, "m_02-x", 0 }, m02_y { b, "m_02-y", 0 }, m02_z { b, "m_02-z", 0 };
-
- value<int> 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<int> 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<int> 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<int> fov { b, "camera-fov", 56 };
-
- value<bool> dynamic_pose { b, "dynamic-pose-resolution", true };
- value<int> init_phase_timeout { b, "init-phase-timeout", 250 };
- value<bool> auto_threshold { b, "automatic-threshold", true };
- value<pt_color_type> blob_color { b, "blob-color", pt_color_natural };
-
- value<slider_value> threshold_slider { b, "threshold-slider", slider_value(128, 0, 255) };
-};
-
struct OTR_PT_EXPORT pt_runtime_traits
{
template<typename t> using pointer = std::shared_ptr<t>;
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 <QString>
+
+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<QString> camera_name { b, "camera-name", "" };
+ value<int> cam_res_x { b, "camera-res-width", 640 },
+ cam_res_y { b, "camera-res-height", 480 },
+ cam_fps { b, "camera-fps", 30 };
+ value<double> min_point_size { b, "min-point-size", 2.5 },
+ max_point_size { b, "max-point-size", 50 };
+
+ value<int> m01_x { b, "m_01-x", 0 }, m01_y { b, "m_01-y", 0 }, m01_z { b, "m_01-z", 0 };
+ value<int> m02_x { b, "m_02-x", 0 }, m02_y { b, "m_02-y", 0 }, m02_z { b, "m_02-z", 0 };
+
+ value<int> 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<int> 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<int> 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<int> fov { b, "camera-fov", 56 };
+
+ value<bool> dynamic_pose { b, "dynamic-pose-resolution", true };
+ value<int> init_phase_timeout { b, "init-phase-timeout", 250 };
+ value<bool> auto_threshold { b, "automatic-threshold", true };
+ value<pt_color_type> blob_color { b, "blob-color", pt_color_natural };
+
+ value<slider_value> threshold_slider { b, "threshold-slider", slider_value(128, 0, 255) };
+};