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-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-08-20 23:06:28 +08:00
|
|
|
};
|
|
|
|
|
|
|
|
|
|
#endif // P01_MianPage_H
|