Skip to content
Snippets Groups Projects
Code owners
Assign users and groups as approvers for specific file changes. Learn more.
IModelAreaDescriptor.h 917 B
#pragma once

#include "IModel.h"
#include <string.h>
#include <opencv2/opencv.hpp>

class BT_INTERFACES_API IModelAreaDescriptor : public IModel
{
    Q_OBJECT

public:
    IModelAreaDescriptor(QObject* parent = 0)
    : IModel(parent){};
    //~IModelAreaDescriptor();

public:
    virtual bool inTrackingArea(cv::Point2f point_cm) = 0;

    /**
     * Transform the provided pixel coordinates into world coordinates and
     * return world coordinates.
     * @param: pixelCoords, a list of points.
     * @return: world coordinates in as a list.
     */
    virtual cv::Point2f pxToCm(cv::Point point_px) = 0;

    /**
     * Transform the provided pixel point into world coordinates and return
     * world point.
     * @param: point, a pixel point, used opencv point
     * @return: world point.
     */
    virtual cv::Point2f cmToPx(cv::Point2f point_cm) = 0;

public:
};