Waffle.h 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. #ifndef WAFFLE_H
  2. #define WAFFLE_H
  3. #include <QWidget>
  4. #include <vector>
  5. #include <QMenu>
  6. #include "WaffleGraphicsView.h"
  7. #include "DieItem.h"
  8. #include "CMatrixCommon.h"
  9. #include "CWafflePackMatrix.h"
  10. class Waffle : public QWidget
  11. {
  12. public:
  13. Waffle(int flag, QWidget *parent = nullptr);
  14. void UpdataGenerateTestData();
  15. /**更新华夫台
  16. */
  17. void UpdataVal(const std::vector<ns_mat::WAFFLE_MATRIX_POINT_STRUCT>& veWaffle);
  18. void initFrom(QWidget *parent);
  19. void paintInitFrom(QWidget *parent);
  20. QPixmap getGlobalPixmap() const;
  21. private:
  22. // 华夫台的参数
  23. int gridSize; // 每个格子的大小
  24. int gap; // 格子之间的间隙
  25. int rows = 3; // 华夫台的行数
  26. int cols = 3; // 华夫台的列数
  27. // 华夫盒的参数
  28. int boxRows = 3; // 华夫盒的行数
  29. int boxCols = 4; // 华夫盒的列数
  30. int boxGap; // 华夫台之间的间隙
  31. QVector<ns_mat::WAFFLE_MATRIX_POINT_STRUCT> m_vWaffleData;
  32. int centerX, centerY;
  33. QPixmap globalPixmap;
  34. QPointF maxPoint;
  35. QPointF minPoint;
  36. ns_module::CViewInterface* m_pCViewInterface;
  37. QVector<WAFFLE_MATRIX_POINT_STRUCT> m_vminMatrixPoints;
  38. QVector<WAFFLE_MATRIX_POINT_STRUCT> m_vmaxMatrixPoints;
  39. QVector<WAFFLE_MATRIX_POINT_STRUCT> m_vminPackMatrixPoints;
  40. QVector<WAFFLE_MATRIX_POINT_STRUCT> m_vmaxPackMatrixPoints;
  41. public:
  42. QGraphicsScene* scene = nullptr;
  43. WaffleGraphicsView* view = nullptr;
  44. };
  45. #endif // WAFFLE_H