You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

52 lines
1.4 KiB
C

1 month ago
//////////////////////////////////////////////////////////////////////////////
//<2F>ļ<EFBFBD> HistogramStat.h
//<2F><>Ҫ<EFBFBD><D2AA><EFBFBD><EFBFBD>:
// ͳ<><CDB3>һϵ<D2BB><CFB5><EFBFBD><EFBFBD><EFBFBD>ݣ<EFBFBD>Ȼ<EFBFBD><C8BB><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE>ͳ<EFBFBD><CDB3><EFBFBD><EFBFBD>״ͼ
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>д: 2011-12-01
/////////////////////////////////////////////////////////////////////////////
#pragma once
#include "ColorBase.h"
class AFX_EXT_CLASS CHistogramStat
{
public:
CHistogramStat(void);
~CHistogramStat(void);
//<2F><><EFBFBD><EFBFBD>ָ<EFBFBD><D6B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڴ棬<DAB4><E6A3AC>ʼ<EFBFBD><CABC>ͳ<EFBFBD>Ʋ<EFBFBD><C6B2><EFBFBD>
bool CreateStat(double vmin, double vmax, int num);
//<2F><><EFBFBD><EFBFBD>ָ<EFBFBD><D6B8>ͳ<EFBFBD>ƵĽ<C6B5><C4BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Сֵ
bool AttachStat(double *pz, int* pn, int num);
void SetValueRange(double vmin, double vmax);
int PositionValueIndex(double val);//<2F><>λһ<CEBB><D2BB>ֵ<EFBFBD><D6B5>ͳ<EFBFBD><CDB3><EFBFBD>б<EFBFBD><D0B1>е<EFBFBD><D0B5><EFBFBD><EFBFBD><EFBFBD>ֵ
void StatAdd(double& val); //ͳ<><CDB3>һ<EFBFBD><D2BB>ֵ
void Stat(double *v, int num); //ͳ<><CDB3>ָ<EFBFBD><D6B8><EFBFBD><EFBFBD>ֵ
void ClearStatState();
int GetSize() { return m_num; }
void EnableAutoDelete(bool bEnable) { m_bAutoDelete = bEnable; }
void Clear(void);
//<2F><>ͳ<EFBFBD><CDB3>ͼ<EFBFBD><CDBC>ʾ<EFBFBD><CABE>ָ<EFBFBD><D6B8><EFBFBD><EFBFBD>DC<44><43>ָ<EFBFBD><D6B8><EFBFBD>ķ<EFBFBD>Χ<EFBFBD><CEA7>
void Draw(CDC* pDC, CColorBase* pColorBar, CRect rect);
void SetPenWidth(int width) { m_penWidth = width; }
//<2F><><EFBFBD><EFBFBD>ͳ<EFBFBD>Ƹ<EFBFBD><C6B8><EFBFBD><EFBFBD>е<EFBFBD><D0B5><EFBFBD><EFBFBD><EFBFBD>ֵ
int GetMaxStatCount();
//<2F><><EFBFBD>²<EFBFBD><C2B2><EFBFBD>һ<EFBFBD>㲻Ҫֱ<D2AA>ӵ<EFBFBD><D3B5><EFBFBD><EFBFBD>޸<EFBFBD>
public:
double* m_pz; //<2F><><EFBFBD><EFBFBD>ͳ<EFBFBD>Ʒ<EFBFBD>Χֵ
int * m_pn; //<2F><><EFBFBD><EFBFBD>ͳ<EFBFBD>Ƶĸ<C6B5><C4B8><EFBFBD>
int m_num; //ָ<><D6B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
int m_penWidth; //<2F><>ʾ<EFBFBD>ıʵ<C4B1><CAB5>߿<EFBFBD>
double m_delt; //<2F><><EFBFBD><EFBFBD>
double zmin;
double zmax;
bool m_bAutoDelete; //<2F>Ƿ<EFBFBD><C7B7>Զ<EFBFBD>ɾ<EFBFBD><C9BE>ָ<EFBFBD><D6B8><EFBFBD>ڴ<EFBFBD>
};