#pragma once

#include "blobx.h"
//#include <cali\blobextractor.h"

class BLOBX_API  CParticleCounter :	public   CAreaCal
{
public:
	CParticleCounter(void);
	virtual ~CParticleCounter(void);

	virtual RV_BOOL Inspect(int* pErrCode=NULL)  ;

	virtual BOOL Serialize(HANDLE device, BOOL bIn ) ;
    virtual CUCObj* Clone(  CUCObj *twin) ;
	virtual void Show(CDelegate* pDelegate,int mode, BOOL bForce) ;

	int     GetParticleCount();

	//外部程序不能删除
	const RvBox2D* GetParticleAt(int index);

	virtual void Reset() ;

public:
	virtual void OnEndTrack(CDelegate* pDelegate,HGPD hCur,  GPoint point, int type)  ;
public:
	int     m_nMinSize;
	int     m_nMaxSize;    //保留
	BOOL    m_bInnerRange; //保留：最小区间
	float   m_nCircularRate;    //保留：圆度
 
protected :
	void ReleaseAllMarks();

	RV_HANDLE DrawPosMarks(HGDC dc, RV_HANDLE hStroke);
	RvSequence m_seq;
};

