DYTSrouce/src/ui/chartPlot/FitCurveDialog.h

81 lines
2.4 KiB
C++
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#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:
bool ParseWave(const QString& strFile, std::vector < std::vector<std::vector<float>>>& vecWavePoint, int iRowCount = 50);
bool ParseReport(const QString& strFile, std::vector<std::vector<std::vector<float>>>& vecReportPoint, int iRowCount = 50);
void OnWorkSpaceChanged(class WorkSpace*);
void OnTimestepChanged(class Timestep*);
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><C3B5>x<EFBFBD><EFBFBD><E1B8A8><EFBFBD><EFBFBD>
//QSplineSeries* yGuideSeries; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>λ<EFBFBD>õ<EFBFBD><C3B5>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><D7A7><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;
QString m_titleText;
class DockTitleBar* m_pDockTitleBar { nullptr };
};
#endif // FITCURVEDIALOG_H