12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879 |
- #ifndef ROICONTROLLER_H
- #define ROICONTROLLER_H
- #include "showunit_global.h"
- #include <QObject>
- #include "ROI.h"
- #include<QList>
- #include "QHalconWindow.h"
- using namespace HalconCpp;
- enum class SHOWUNITSHARED_EXPORT ViewMessage
- {
- UpdateROI = 50,
- ChangedROISign,
- MovingROI,
- DeletedActROI,
- DelectedAllROIs,
- ActivatedROI,
- MouseMove,
- CreatedROI,
- UpdateImage,
- ErrReadingImage,
- ErrDefiningGC
- };
- class QHalconWindow;
- class SHOWUNITSHARED_EXPORT ROIController: public QObject
- {
- Q_OBJECT
- public:
- ROIController();
- ~ROIController();
- QList<ROI*> ROIList;
- void setViewController(QHalconWindow * view);
- HRegion getModelRegion(){ return modelROI; }
- ROI* getActiveROI();
- int getActiveROIidx(){ return activeROIidx; }
- int getDelROIIdx() { return deletedIdx; }
- void setROIShape(ROI *r);
- void setROIShapeNoOperator(ROI *r);
- void setROISign(ROIOperation mode);
- void setActiveROIidx(const int &index);
- void removeActive();
- bool defineModelROI();
- void reset();
- void paintData(const HTuple &winID, int handleWidth, double zoomWndFactor);
- int mouseDownAction(const double &imgX, const double &imgY);
- void mouseMoveAction(const double &newX, const double &newY);
- void tiggerROINotifySignals(const ViewMessage &sign);
- QCursor GetCursor();
- void save(QDataStream& ar);
- void load(QDataStream& ar);
- signals:
- void ROIChange(const ViewMessage &sign);
- private:
- ROI *roiSeed;
- HRegion modelROI;
- ROIOperation stateROIOperation = ROIOperation::Positive;
- double currX, currY;
- int activeROIidx;
- int deletedIdx;
- HTuple activeCol = "green";
- HTuple activeHdlCol = "red";
- HTuple inactiveCol = "yellow";
- HTuple serachRegionCol = "blue";
- QHalconWindow *viewController;
- };
- Q_DECLARE_METATYPE(ViewMessage)
- #endif // ROICONTROLLER_H
|