diff options
author | Stanislaw Halik <sthalik@misaki.pl> | 2018-01-18 09:40:23 +0100 |
---|---|---|
committer | Stanislaw Halik <sthalik@misaki.pl> | 2018-01-18 09:40:46 +0100 |
commit | a7a60c8f5328d8d1b6dbb2d73635ab64aa480d41 (patch) | |
tree | 2394df68f8cb40825ef6afcb89afbc81ec88f4f8 /tracker-pt/module.cxx | |
parent | 0d32aec11d09f1ac1088b05a214432b6be4b534b (diff) |
tracker/pt: split impl and algorithm
Issue: #718
Diffstat (limited to 'tracker-pt/module.cxx')
-rw-r--r-- | tracker-pt/module.cxx | 69 |
1 files changed, 69 insertions, 0 deletions
diff --git a/tracker-pt/module.cxx b/tracker-pt/module.cxx new file mode 100644 index 00000000..5c298ca5 --- /dev/null +++ b/tracker-pt/module.cxx @@ -0,0 +1,69 @@ +#include "ftnoir_tracker_pt.h" +#include "api/plugin-api.hpp" + +#include "camera.h" +#include "frame.hpp" +#include "point_extractor.h" +#include "ftnoir_tracker_pt_dialog.h" + +#include "pt-api.hpp" + +#include <memory> + +static const QString module_name = "tracker-pt"; + +using namespace pt_module; + +struct pt_module_traits final : pt_runtime_traits +{ + pointer<pt_camera> make_camera() const override + { + return pointer<pt_camera>(new Camera(module_name)); + } + + pointer<pt_point_extractor> make_point_extractor() const override + { + return pointer<pt_point_extractor>(new PointExtractor(module_name)); + } + + QString get_module_name() const override + { + return module_name; + } + + pointer<pt_frame> make_frame() const override + { + return pointer<pt_frame>(new Frame); + } + + pointer<pt_preview> make_preview(int w, int h) const override + { + return pointer<pt_preview>(new Preview(w, h)); + } +}; + +struct tracker_pt : Tracker_PT +{ + tracker_pt() : Tracker_PT(pointer<pt_runtime_traits>(new pt_module_traits)) + { + } +}; + +struct dialog_pt : TrackerDialog_PT +{ + dialog_pt(); +}; + +class metadata_pt : public Metadata +{ + QString name() { return _("PointTracker 1.1"); } + QIcon icon() { return QIcon(":/Resources/Logo_IR.png"); } +}; + +// ns pt_module + +using namespace pt_module; + +dialog_pt::dialog_pt() : TrackerDialog_PT(module_name) {} + +OPENTRACK_DECLARE_TRACKER(tracker_pt, dialog_pt, metadata_pt) |