Wafer.h 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. #ifndef WAFER_H
  2. #define WAFER_H
  3. #pragma once
  4. #include <QWidget>
  5. #include <vector>
  6. #include <QMenu>
  7. #include "WaferGraphicsView.h"
  8. #include "DieItem.h"
  9. #include <CWaferMatrix.h>
  10. #include <CViewInterface.h>
  11. enum OperateMode {
  12. ModeImage, // 显示图片
  13. ModeView // 显示 view
  14. };
  15. class Wafer : public QWidget
  16. {
  17. Q_OBJECT
  18. public:
  19. explicit Wafer(int flag, QWidget *parent = nullptr);
  20. void UpdataGenerateTestData();
  21. /**晶圆
  22. */
  23. void UpdataVal(const std::vector<ns_mat::WAFER_MATRIX_POINT_INFO_STRUCT>& veWafer);
  24. void initFrom(QWidget *parent);
  25. void paintInitFrom(QWidget *parent);
  26. QPixmap getGlobalPixmap() const;
  27. QColor getColorByStatus(ns_mat::PICK_DIE_STATUS status);
  28. void setWaferInfo(ns_module::CViewInterface* CViewInterface);
  29. typedef struct {
  30. int maxRow;
  31. int maxCol;
  32. double minX;
  33. double minY;
  34. double maxX;
  35. double maxY;
  36. }MaxRow_Col;
  37. signals:
  38. void sendCoordinates(int x, int y);
  39. private:
  40. int Flag;
  41. QVector<ns_mat::WAFER_MATRIX_POINT_INFO_STRUCT> waferData;
  42. //int rows, cols;
  43. int m_dieLong;
  44. int m_dieWide;
  45. double m_centerX, m_centerY;
  46. double m_radius;
  47. /**接口指针
  48. */
  49. ns_module::CViewInterface* m_pCViewInterface;
  50. QMenu *contextMenu = nullptr;
  51. QPixmap globalPixmap;
  52. QMap<UINT, MaxRow_Col> maxRow_Colmap;
  53. public:
  54. QGraphicsScene* scene = nullptr;
  55. WaferGraphicsView* view = nullptr;
  56. };
  57. #endif // WAFER_H