#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 static const QString module_name = "tracker-pt"; using namespace pt_module; struct pt_module_traits final : pt_runtime_traits { std::unique_ptr make_camera() const override { return std::unique_ptr(new Camera(module_name)); } std::unique_ptr make_point_extractor() const override { return std::unique_ptr(new PointExtractor(module_name)); } QString get_module_name() const override { return module_name; } std::unique_ptr make_frame() const override { return std::unique_ptr(new Frame); } std::unique_ptr make_preview(int w, int h) const override { return std::unique_ptr(new Preview(w, h)); } }; struct tracker_pt : Tracker_PT { tracker_pt() : Tracker_PT(pt_module_traits()) { } }; struct dialog_pt : TrackerDialog_PT { dialog_pt() : TrackerDialog_PT(module_name) {} }; 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; OPENTRACK_DECLARE_TRACKER(tracker_pt, dialog_pt, metadata_pt)