Files
EJM_Display/Pages/P01_MianPage.h

71 lines
2.3 KiB
C
Raw Normal View History

2025-08-20 23:06:28 +08:00
#ifndef P01_MianPage_H
#define P01_MianPage_H
#include <QWidget>
2025-09-15 22:28:43 +08:00
#include <QProgressBar>
#include <QLCDNumber>
#include <QLabel>
#include <PublicFunctions/BrushPad.h>
2025-09-28 17:14:34 +08:00
#include <PublicFunctions/ObjLoader.h>
2025-10-20 22:28:37 +08:00
#include <QTimer>
#include <QElapsedTimer>
#include <QMutex>
#include <QMap>
#include <QVariant>
2025-08-20 23:06:28 +08:00
namespace Ui {
class P01_MianPage;
}
class P01_MianPage : public QWidget
{
Q_OBJECT
public:
explicit P01_MianPage(QWidget *parent = nullptr);
~P01_MianPage();
2025-09-28 17:14:34 +08:00
2025-08-20 23:06:28 +08:00
void uiInitHaulSpeed(int Max);
void uiInitMining(int Max,int Min);
void uiInitTransportPos(int MaxX,int MaxY);
void uiSetHaulSpeed(int SpeedL,int SpeedR);
2025-09-28 17:14:34 +08:00
void uiSetMining(float CenterHeight,uint16_t Roller_Diameter_mm);
2025-08-20 23:06:28 +08:00
void uiSetTransportPos(int rx,int ry);
2025-09-15 22:28:43 +08:00
void uiRollerPosition(uint8_t Index,uint16_t aX,uint16_t aY);
void PB_Refresh(QString Dev);
void SetProgressBar(QProgressBar *PB,uint16_t Value,uint8_t ColorIndex,QStringList Color);
2025-09-28 17:14:34 +08:00
void SetStyleStr(QLabel *L,bool Status,QString TStr,QString FStr);
void SetStyleStr(QLabel *L,bool Extend,bool Shorten,QStringList StyStr);
void ProgressBar_LCD(QProgressBar *QPB,QLCDNumber *QLCD,QString NodeID,QString NodeID_Value,QStringList Colors);
2025-09-15 22:28:43 +08:00
private slots:
void UIRefreshTimeOut();
void TrailRefreshTimeOut();
2025-09-28 17:14:34 +08:00
void PageInit();
void Show3D();
void RotateDev();
2025-09-30 15:36:46 +08:00
void onPreprocessFinished(const QString& deviceName);
void onPreprocessResult(const QString& deviceName, QVector3D center, float radius);
signals:
void preprocessFinished(const QString& deviceName);
void allDevicesLoaded();
2025-08-20 23:06:28 +08:00
private:
Ui::P01_MianPage *ui;
2025-09-28 17:14:34 +08:00
QString DevName3D = "";
uint16_t mAngle = 0;
ObjLoader *mObjLoader;
2025-09-30 15:36:46 +08:00
QThread* m_workerThread;
ObjLoader* m_workerLoader;
QMap<QString, QPair<QVector3D, float>> m_modelPreprocessResults; // 存储预处理结果
QStringList m_pendingDevices; // 待加载设备队列
int m_loadingStep; // 当前加载步骤
2025-10-20 22:28:37 +08:00
// UI更新相关成员变量
QTimer* UIRefresh_Timer; // UI刷新定时器
QTimer* TrailRefresh_Timer; // 轨迹刷新定时器
bool m_isProcessingUIUpdate = false; // UI更新状态标志
QElapsedTimer m_lastUpdateTime; // 更新时间记录
QMutex m_uiUpdateMutex; // UI更新互斥锁
2025-08-20 23:06:28 +08:00
};
#endif // P01_MianPage_H