ROIRect2.h 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. #ifndef ROIRECT2_H
  2. #define ROIRECT2_H
  3. #include "HalconCpp.h"
  4. #include "ROI.h"
  5. #include<QObject>
  6. #include "showunit_global.h"
  7. using namespace HalconCpp;
  8. class ROI;
  9. class SHOWUNITSHARED_EXPORT ROIRect2:public ROI
  10. {
  11. Q_OBJECT
  12. public:
  13. ROIRect2();
  14. void createROI(double midX, double midY) override;
  15. void drawROI(HTuple winID, double scaleFactor) override;
  16. double distToClosestHandle(double x, double y) override;
  17. void displayActive(HTuple winID, double scaleFactor) override;
  18. void moveByHandle(double newX, double newY) override;
  19. QCursor showByHandle() override;
  20. HRegion getRegion() override;
  21. HTuple getROIData() override;
  22. void setROIData(HTuple) override;
  23. void save(QDataStream &dataStream) override;
  24. void load(QDataStream &dataStream)override;
  25. private:
  26. double length1;
  27. double length2;
  28. double midR;
  29. double midC;
  30. double phi;
  31. HTuple rowsInit;
  32. HTuple colsInit;
  33. HTuple rows;
  34. HTuple cols;
  35. HHomMat2D hom2D, tmp;
  36. void updateHandlePos();
  37. void checkForRange(double x, double y);
  38. };
  39. #endif // ROIRECT2_H