77 lines
2.1 KiB
C
77 lines
2.1 KiB
C
|
#ifndef FITCURVEDIALOG_H
|
|||
|
#define FITCURVEDIALOG_H
|
|||
|
|
|||
|
#include <QDialog>
|
|||
|
#include "FitCurveChartView.h"
|
|||
|
|
|||
|
#include "ui_FitCurveDialog.h"
|
|||
|
|
|||
|
namespace Ui {
|
|||
|
class FitCurveDialog;
|
|||
|
}
|
|||
|
|
|||
|
class FitCurveDialog : public QDialog
|
|||
|
{
|
|||
|
Q_OBJECT
|
|||
|
|
|||
|
public:
|
|||
|
explicit FitCurveDialog(int iType=1, QWidget* parent = nullptr);
|
|||
|
~FitCurveDialog();
|
|||
|
|
|||
|
void AttachDock(class DockWidget* dockWidget);
|
|||
|
|
|||
|
void initQChartView();
|
|||
|
void updateXYGuideLine();
|
|||
|
void resetZoomAndScroll();
|
|||
|
QVector<int> getAxisRanges();
|
|||
|
|
|||
|
void InitWaveFile(const QString& strFile, int iBatchCount = 50);
|
|||
|
void InitReportFile(const QString& strFile, int iBatchCount = 50);
|
|||
|
|
|||
|
protected:
|
|||
|
void ParseWave(const QString& strFile, std::vector < std::vector<std::vector<float>>>& vecWavePoint, int iRowCount = 50);
|
|||
|
void ParseReport(const QString& strFile, std::vector<std::vector<std::vector<float>>>& vecReportPoint, int iRowCount = 50);
|
|||
|
|
|||
|
public slots:
|
|||
|
void theSlotMouseEvent(int eventId, QMouseEvent* event);
|
|||
|
void theSlotWheelEvent(QWheelEvent* event);
|
|||
|
|
|||
|
void slotAddSeries(QVariant varSeriesData);
|
|||
|
|
|||
|
void slotDelCurve(int iID); // ɾ<><C9BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
|||
|
void slotInserKeyPoint(int iID,float xValue, float yValue);
|
|||
|
|
|||
|
void slotUpdateTime(double dTime);
|
|||
|
|
|||
|
private:
|
|||
|
Ui::FitCurveDialog* ui;
|
|||
|
FitCurveChartView* curveChartView;
|
|||
|
QChart* curveChart;
|
|||
|
|
|||
|
//QSplineSeries* fitPointsSeriesS; //Ҫ<><D2AA>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ԭʼ<D4AD><CABC><EFBFBD><EFBFBD>
|
|||
|
//QScatterSeries* tipSeries;
|
|||
|
//QSplineSeries* xGuideSeries; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>λ<EFBFBD>õ<EFBFBD><C3B5><EFBFBD>x<EFBFBD>Ḩ<EFBFBD><E1B8A8><EFBFBD><EFBFBD>
|
|||
|
//QSplineSeries* yGuideSeries; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>λ<EFBFBD>õ<EFBFBD><C3B5><EFBFBD>y<EFBFBD>Ḩ<EFBFBD><E1B8A8><EFBFBD><EFBFBD>
|
|||
|
bool isPressed = false; //ͼ<><CDBC><EFBFBD>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD>ק<EFBFBD><D7A7>
|
|||
|
QPoint pressedPoint; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ק<EFBFBD><D7A7><EFBFBD><EFBFBD>
|
|||
|
|
|||
|
int m_iType; // y<><79><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
|||
|
QValueAxis* m_pAxisX = NULL;
|
|||
|
QValueAxis* m_pAxisY = NULL;
|
|||
|
QLogValueAxis* m_pLgAxisY = NULL;
|
|||
|
float m_iXMax;
|
|||
|
float m_iXMin;
|
|||
|
float m_iYMax;
|
|||
|
float m_iYMin;
|
|||
|
|
|||
|
QMap<int, QSplineSeries*> m_seriesIDMap;
|
|||
|
|
|||
|
std::vector<std::vector<std::vector<float>>> m_vecWavePoint;
|
|||
|
std::vector<std::vector<std::vector<float>>> m_vecReportPoint;
|
|||
|
|
|||
|
int m_iID = 1;
|
|||
|
};
|
|||
|
|
|||
|
#endif // FITCURVEDIALOG_H
|