95 lines
2.7 KiB
C++
95 lines
2.7 KiB
C++
#if !defined(AFX_APPDATACEIPCURVEGRAPHVIEW_H__0A16334E_CF93_4AED_B33F_2F74F1592666__INCLUDED_)
|
|
#define AFX_APPDATACEIPCURVEGRAPHVIEW_H__0A16334E_CF93_4AED_B33F_2F74F1592666__INCLUDED_
|
|
|
|
#if _MSC_VER > 1000
|
|
#pragma once
|
|
#endif // _MSC_VER > 1000
|
|
// AppDataCEIpCurveGraphView.h : header file
|
|
//
|
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
// CAppDataCEIpCurveGraphView view
|
|
#define MAX_DISCHARGE_PT 50
|
|
#define FILL_TIMEWIN_NUM 8
|
|
class CAppDataCEIpCurveGraphView : public CView
|
|
{
|
|
protected:
|
|
CAppDataCEIpCurveGraphView(); // protected constructor used by dynamic creation
|
|
DECLARE_DYNCREATE(CAppDataCEIpCurveGraphView)
|
|
|
|
// Attributes
|
|
public:
|
|
float m_fMaxAbsV;
|
|
CStringArray m_saOrgDataOne;
|
|
CStringArray m_saOrgDataTwo;
|
|
double m_dPeriodInfo;
|
|
std::vector<STSigTWInfo> m_vtTimeWin;
|
|
// Operations
|
|
public:
|
|
|
|
// Overrides
|
|
// ClassWizard generated virtual function overrides
|
|
//{{AFX_VIRTUAL(CAppDataCEIpCurveGraphView)
|
|
public:
|
|
virtual void OnInitialUpdate();
|
|
protected:
|
|
virtual void OnDraw(CDC* pDC); // overridden to draw this view
|
|
//}}AFX_VIRTUAL
|
|
|
|
// Implementation
|
|
protected:
|
|
virtual ~CAppDataCEIpCurveGraphView();
|
|
#ifdef _DEBUG
|
|
virtual void AssertValid() const;
|
|
virtual void Dump(CDumpContext& dc) const;
|
|
#endif
|
|
|
|
// Generated message map functions
|
|
protected:
|
|
//{{AFX_MSG(CAppDataCEIpCurveGraphView)
|
|
// NOTE - the ClassWizard will add and remove member functions here.
|
|
afx_msg int OnMouseActivate(CWnd* pDesktopWnd, UINT nHitTest, UINT message);
|
|
//}}AFX_MSG
|
|
DECLARE_MESSAGE_MAP()
|
|
private:
|
|
void CalculateIpCurve();
|
|
void DrawLine(CDC* const pDC);
|
|
void DrawEX(CDC* const pDC);
|
|
void DrawLY(CDC* const pDC);
|
|
|
|
int CoordinateMapping(float fValue, float fMappingRange, int MappingFactor);
|
|
|
|
void CalculateMaxScale();
|
|
void CalculatePointCoo();
|
|
|
|
void ClearPoint();
|
|
//m_iCXOffset和m_iCYOffset所确定的是左上角的一个起点,用来画X轴和Y轴的,也就是Y轴的最高点
|
|
//中心点的坐标(m_iCXOffset-1, m_iCYOffset+150),Y轴上下长度为150
|
|
int m_iCXOffset;
|
|
int m_iCYOffset;
|
|
|
|
int m_iMaxXScale;
|
|
int m_iMaxYScale;
|
|
|
|
POINT* m_pPoint;
|
|
POINT* m_pPointTwo;
|
|
POINT* m_pFillTWPt1;
|
|
POINT* m_pFillTWPt2;
|
|
int m_iPtNum;
|
|
double m_dChrVoltage1; //第一次充电的电压
|
|
double m_dCoffient1[MAX_DISCHARGE_PT];
|
|
double m_dX1Average;
|
|
double m_dChrVoltage2; //第二次充电电压
|
|
double m_dCoffient2[MAX_DISCHARGE_PT];
|
|
double m_dX2Average;
|
|
|
|
// int m_iPtNumTwo;
|
|
};
|
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
|
|
//{{AFX_INSERT_LOCATION}}
|
|
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.
|
|
|
|
#endif // !defined(AFX_APPDATACEIPCURVEGRAPHVIEW_H__0A16334E_CF93_4AED_B33F_2F74F1592666__INCLUDED_)
|