|
|
|
|
|
//////////////////////////////////////////////////////////////////////////////
|
|
|
|
|
|
//<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>
|
|
|
|
|
|
};
|
|
|
|
|
|
|