match_view.hpp 1.45 KB
Newer Older
1 2 3 4 5 6 7
#ifndef CVVISUAL_MATCH_VIEW_HPP
#define CVVISUAL_MATCH_VIEW_HPP

#include <QString>
#include <QWidget>
#include <vector>

Maksim Shabunin's avatar
Maksim Shabunin committed
8 9
#include <opencv2/core.hpp>
#include <opencv2/features2d.hpp>
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 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87

#include "../impl/match_call.hpp"

namespace cvv
{
namespace view
{

/**
 * @brief interface over visualizations of match operations.
 */
class MatchView : public QWidget
{
	Q_OBJECT

signals:

	/**
	 * @brief update left Footer.
	 * Signal to update the left side of the footer with newText.
	 * @param newText to update the footer with.
	 */
	void updateLeftFooter(QString newText);

	/**
	 * @brief update right Footer.
	 * Signal to update the right side of the footer with newText.
	 * @param newText to update the footer with.
	 */
	void updateRightFoooter(QString newText);

      public:
	/**
	 * @brief default constructor
	 */
	MatchView() : MatchView{ 0 }
	{
	}

	/**
	 * @brief default destructor.
	 */
	virtual ~MatchView() = default;

	virtual std::vector<cv::DMatch> getMatchSelection()
	{
		return std::vector<cv::DMatch>{};
	}

	virtual std::vector<cv::KeyPoint> getKeyPointSelection()
	{
		return std::vector<cv::KeyPoint>{};
	}

      public
slots:

	virtual void setMatchSelection(std::vector<cv::DMatch>)
	{
	}

	virtual void setKeyPointSelection(std::vector<cv::KeyPoint>)
	{
	}

      protected:
	/**
	 * @brief constructor of QWidget(parent).
	 * @param parent the parent of this view.
	 **/
	MatchView(QWidget *parent) : QWidget{ parent }
	{
	}
};
}
} // namespaces

#endif