Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
// BlurMatrix.h: interface for the CBlurMatrix class.
Toshihiro Shimizu 890ddd
//
Toshihiro Shimizu 890ddd
//////////////////////////////////////////////////////////////////////
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
#if !defined(AFX_BLURMATRIX_H__8298C171_0035_11D6_B94F_0040F674BE6A__INCLUDED_)
Toshihiro Shimizu 890ddd
#define AFX_BLURMATRIX_H__8298C171_0035_11D6_B94F_0040F674BE6A__INCLUDED_
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
#if _MSC_VER > 1000
Toshihiro Shimizu 890ddd
#pragma once
Toshihiro Shimizu 890ddd
#endif // _MSC_VER > 1000
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
#include <vector></vector>
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
#include "SError.h"
Toshihiro Shimizu 890ddd
#include "SDef.h"
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
using namespace std;
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
#define NBRS 10 //  Number of Random Samples
Toshihiro Shimizu 890ddd
typedef vector<sxyd> BLURSECTION;</sxyd>
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
class CBlurMatrix
Toshihiro Shimizu 890ddd
{
Toshihiro Shimizu 890ddd
public:
Toshihiro Shimizu 890ddd
	bool m_isSAC; // Stop At Contour
Toshihiro Shimizu 890ddd
	bool m_isRS;  // Random Sampling
Toshihiro Shimizu 890ddd
	vector<blursection> m_m[NBRS];</blursection>
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
	CBlurMatrix() : m_isSAC(false), m_isRS(false){};
Toshihiro Shimizu 890ddd
	CBlurMatrix(const CBlurMatrix &m); //throw(SBlurMatrixError);
Toshihiro Shimizu 890ddd
	CBlurMatrix(const double d, const int nb, const bool isSAC, const bool isRS);
Toshihiro Shimizu 890ddd
	//	throw(SBlurMatrixError) ;
Toshihiro Shimizu 890ddd
	virtual ~CBlurMatrix();
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
	void createRandom(const double d, const int nb); // throw(SBlurMatrixError);
Toshihiro Shimizu 890ddd
	void createEqual(const double d, const int nb);  // throw(SBlurMatrixError);
Toshihiro Shimizu 890ddd
	void addPath(vector<blursection>::iterator pBS); // throw(exception);</blursection>
Toshihiro Shimizu 890ddd
	void addPath();									 // throw(SBlurMatrixError);
Toshihiro Shimizu 890ddd
	void print() const;
Toshihiro Shimizu 890ddd
	bool isIn(const vector<blursection> &m, const SXYD &xyd) const;</blursection>
Toshihiro Shimizu 890ddd
};
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
#endif // !defined(AFX_BLURMATRIX_H__8298C171_0035_11D6_B94F_0040F674BE6A__INCLUDED_)