#ifndef ROIRECT2_H #define ROIRECT2_H #include "HalconCpp.h" #include "ROI.h" #include #include "showunit_global.h" using namespace HalconCpp; class ROI; class SHOWUNITSHARED_EXPORT ROIRect2:public ROI { Q_OBJECT public: ROIRect2(); void createROI(double midX, double midY) override; void drawROI(HTuple winID, double scaleFactor) override; double distToClosestHandle(double x, double y) override; void displayActive(HTuple winID, double scaleFactor) override; void moveByHandle(double newX, double newY) override; QCursor showByHandle() override; HRegion getRegion() override; HTuple getROIData() override; void setROIData(HTuple) override; void save(QDataStream &dataStream) override; void load(QDataStream &dataStream)override; private: double length1; double length2; double midR; double midC; double phi; HTuple rowsInit; HTuple colsInit; HTuple rows; HTuple cols; HHomMat2D hom2D, tmp; void updateHandlePos(); void checkForRange(double x, double y); }; #endif // ROIRECT2_H