12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061 |
- #ifndef ROI_H
- #define ROI_H
- #include "showunit_global.h"
- #include <QDataStream>
- #include "HalconCpp.h"
- #include <QCursor>
- #include<QObject>
- #include <QDebug>
- using namespace HalconCpp;
- enum class SHOWUNITSHARED_EXPORT ROIType
- {
- Line = 10, Circle, CircleArc, Rectangle1, Rectangle2, Rect2, Point
- };
- enum class SHOWUNITSHARED_EXPORT ROIOperation
- {
- Positive = 21, Negative, None,
- };
- class SHOWUNITSHARED_EXPORT ROI:public QObject
- {
- Q_OBJECT
- public:
- ROI();
- ROIType getType(void) { return roiType; }
- ROIOperation getOperatorFlag(void) { return operatorFlag; }
- void setOperatorFlag(ROIOperation flag);
- void setTitle(QString tiale);
- void setHandleWidth(int width);
- virtual void createROI(double midX, double midY)=0;
- virtual void drawROI(HTuple winID, double scaleFactor)=0;
- virtual double distToClosestHandle(double x, double y)=0;
- virtual void displayActive(HTuple winID, double scaleFactor)=0;
- virtual void moveByHandle(double newX, double newY)=0;
- virtual QCursor showByHandle()=0;
- virtual HRegion getRegion()=0;
- virtual HTuple getROIData()=0;
- virtual void setROIData(HTuple) =0;
- virtual void save(QDataStream &dataStream);
- virtual void load(QDataStream &dataStream);
- int getNumHandles(){ return numHandles; }
- int getActHandleIdx() { return activeHandleIdx; }
- HTuple getFlagLineStyle(){ return flagLineStyle; }
- QString getTitle() { return m_strTitle; }
- SHOWUNITSHARED_EXPORT friend QDataStream & operator << (QDataStream &dataStream, ROI &roi);
- SHOWUNITSHARED_EXPORT friend QDataStream & operator >> (QDataStream &dataStream, ROI **roi);
- protected:
- int numHandles;
- int activeHandleIdx;
- int handleWidth=10;
- ROIType roiType;
- ROIOperation operatorFlag;
- QString m_strTitle;
- HTuple flagLineStyle;
- };
- #endif // ROI_H
|