DYTSrouce/src/ui/chartPlot/DYTChart.h

81 lines
2.5 KiB
C
Raw Normal View History

2025-01-04 04:12:51 +00:00
#pragma once
#include <QtWidgets/QMainWindow>
#include "ui/Dialog.h"
#include "ui_DYTChart.h"
class FitCurveDialog;
class SurfaceDialog;
class DYTChart : public Dialog
{
Q_OBJECT
public:
DYTChart(int iType , QWidget *parent = Q_NULLPTR);
QVariant GetChart();
void InitChartData(QVariant var);
protected:
void InitChart(int iType); // <20><>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD>ͼ<EFBFBD><CDBC><EFBFBD><EFBFBD>1<EFBFBD><31>ά<EFBFBD><CEAC><EFBFBD><EFBFBD> 2<><32>ά<EFBFBD><CEAC><EFBFBD>ߣ<EFBFBD>y<EFBFBD><79><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>3<EFBFBD><33>ά<EFBFBD><CEAC><EFBFBD><EFBFBD>
void InitConnect(); // <20>źŲ<C5BA><C5B2><EFBFBD><EFBFBD><EFBFBD>
void ParseAnimationPath(const QString& strFile, std::vector<std::vector<float>>& vecAnimationPath); // <20><><EFBFBD><EFBFBD><EFBFBD>˶<EFBFBD><CBB6><EFBFBD>ļ<EFBFBD>
void ParseTimeStep(const QString& strFile, std::vector<float>& vecTime); // <20><><EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD><E4B2BD><EFBFBD>ļ<EFBFBD>
void ParseAntennaPatternFile(const QString& strFile, std::vector<std::vector<float>>& vecAntennaPattern);
void ParseBeamPointFile(const QString& strFile, std::vector<std::vector<float>>& vecBeamPoint);
void ParseRD(const QString& strFile, std::vector<std::vector<float>>& vecRDPoint, int iRowCount=64);
void ParseWave(const QString& strFile, std::vector<std::vector<float>>& vecWavePoint, int iRowCount = 50);
void InitXTable(const QString& strFilePath);
void InitYTable(const QString& strFilePath);
void InitZTable(const QString& strFilePath);
void UpdateRDCurve(int iTime, int iSelRowCount = 64);
void Clear();
protected slots:
void slotSelXFile(); // ѡ<><D1A1>X<EFBFBD><58><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD>
void slotSelYFile(); // ѡ<><D1A1>Y<EFBFBD><59><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD>
void slotSelZFile(); // ѡ<><D1A1>Z<EFBFBD><5A><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD>
void slotCurveChanged(int iIndex); // <20>л<EFBFBD><D0BB><EFBFBD><EFBFBD><EFBFBD>ͼ<EFBFBD><CDBC><EFBFBD><EFBFBD>
void slotChangeAddedCurve(int iIndex); // <20><><EFBFBD><EFBFBD><EFBFBD>ӵ<EFBFBD><D3B5><EFBFBD><EFBFBD><EFBFBD>
void slotChangedColor(); // <20>޸<EFBFBD><DEB8><EFBFBD>ɫ
void slotAdd(); // <20><><EFBFBD><EFBFBD>
void slotUpdate(); // <20><><EFBFBD><EFBFBD>
void slotDel(); // ɾ<><C9BE>
void slotUpdateTime(double iTime);
signals:
void signalUpdateData(QVariant var); // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
void signalUpdateColor(QColor color); // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɫ
void signalAddCurve(QVariant varCurve); // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
void signalDelCurve(int iID); // ɾ<><C9BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
void signalAddLgCurve(QVariant varCurve); // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
void signalDelLgCurve(int iID); // ɾ<><C9BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
void signalAddSurfaceCurve(QVariant varCurve); // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
private:
Ui::DYTChartClass ui;
int m_iCurveID = 0; // <20><><EFBFBD><EFBFBD>ͼID
int m_iCurSelID = 0; // <20><>ǰѡ<C7B0><D1A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ID
int m_iCurveType = 0; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 1<><31>ά<EFBFBD><CEAC><EFBFBD><EFBFBD> 2<><32>ά<EFBFBD><CEAC><EFBFBD>ߣ<EFBFBD>y<EFBFBD><79><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>3<EFBFBD><33>ά<EFBFBD><CEAC><EFBFBD><EFBFBD>
FitCurveDialog* m_p2DCurve = NULL; // <20><>ά<EFBFBD><CEAC><EFBFBD><EFBFBD>
FitCurveDialog* m_p2DLgCurve = NULL; // <20><>ά<EFBFBD><CEAC><EFBFBD>ߣ<EFBFBD>y<EFBFBD><79><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
SurfaceDialog* m_p3DSuf = NULL; // <20><>ά<EFBFBD><CEAC><EFBFBD><EFBFBD>
QVariantMap m_varCur3DParamMap;
int m_iCurTime = 0;
};