summaryrefslogtreecommitdiffhomepage
path: root/tracker-easy/settings.h
blob: 8c6a2b3e3fb2e423d7656745ee639cff6f563866 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
#pragma once

#include "options/options.hpp"
#include <opencv2/calib3d.hpp>

#include <QString>


namespace EasyTracker {

    using namespace options;

#ifdef __clang__
#   pragma clang diagnostic push
#   pragma clang diagnostic ignored "-Wweak-vtables"
#endif

    struct Settings final : options::opts
    {
        using slider_value = options::slider_value;

        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> DeadzoneRectHalfEdgeSize { b, "deadzone-rect-half-edge-size", 1 };

        value<int> iFourPointsTopX{ b, "iFourPointsTopX", 0 }, iFourPointsTopY{ b, "iFourPointsTopY", 0 }, iFourPointsTopZ{ b, "iFourPointsTopZ", 0 };
        value<int> iFourPointsLeftX{ b, "iFourPointsLeftX", 0 }, iFourPointsLeftY{ b, "iFourPointsLeftY", 0 }, iFourPointsLeftZ{ b, "iFourPointsLeftZ", 0 };
        value<int> iFourPointsRightX{ b, "iFourPointsRightX", 0 }, iFourPointsRightY{ b, "iFourPointsRightY", 0 }, iFourPointsRightZ{ b, "iFourPointsRightZ", 0 };
        value<int> iFourPointsCenterX{ b, "iFourPointsCenterX", 0 }, iFourPointsCenterY{ b, "iFourPointsCenterY", 0 }, iFourPointsCenterZ{ b, "iFourPointsCenterZ", 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", 35 },
            cap_y{ b, "cap-y", 55 },
            cap_z{ b, "cap-z", 100 };

        value<int> fov{ b, "camera-fov", 56 };

        value<bool> debug{ b, "debug", false };

        value<int> PnpSolver{ b, "pnp-solver", cv::SOLVEPNP_P3P };


        explicit Settings(const QString& name) : opts(name) {}
    };

#ifdef __clang__
#   pragma clang diagnostic pop
#endif

} //