Files
geomative/GeomativeStudio/h/AppDataCEIpCurveGraphView.h
coco df489d5640 a
2026-07-03 16:05:30 +08:00

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_)