Shinya Kitaoka 810553
#pragma once
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
#include <vector></vector>
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
#include "SError.h"
Toshihiro Shimizu 890ddd
#include "SDef.h"
Toshihiro Shimizu 890ddd
Shinya Kitaoka 120a6e
#define NBRS 10  //  Number of Random Samples
Shinya Kitaoka 2148c8
typedef std::vector<sxyd> BLURSECTION;</sxyd>
Toshihiro Shimizu 890ddd
Shinya Kitaoka 120a6e
class CBlurMatrix {
Toshihiro Shimizu 890ddd
public:
Shinya Kitaoka 120a6e
  bool m_isSAC;  // Stop At Contour
Shinya Kitaoka 120a6e
  bool m_isRS;   // Random Sampling
Shinya Kitaoka 120a6e
  std::vector<blursection> m_m[NBRS];</blursection>
Shinya Kitaoka 120a6e
Shinya Kitaoka 120a6e
  CBlurMatrix() : m_isSAC(false), m_isRS(false){};
Shinya Kitaoka 120a6e
  CBlurMatrix(const CBlurMatrix &m);  // throw(SBlurMatrixError);
Shinya Kitaoka 120a6e
  CBlurMatrix(const double d, const int nb, const bool isSAC, const bool isRS);
Shinya Kitaoka 120a6e
  //	throw(SBlurMatrixError) ;
Shinya Kitaoka 120a6e
  virtual ~CBlurMatrix();
Shinya Kitaoka 120a6e
Shinya Kitaoka 120a6e
  void createRandom(const double d, const int nb);  // throw(SBlurMatrixError);
Shinya Kitaoka 120a6e
  void createEqual(const double d, const int nb);   // throw(SBlurMatrixError);
Shinya Kitaoka 120a6e
  void addPath(std::vector<blursection>::iterator pBS);  // throw(exception);</blursection>
Shinya Kitaoka 120a6e
  void addPath();  // throw(SBlurMatrixError);
Shinya Kitaoka 120a6e
  void print() const;
Shinya Kitaoka 120a6e
  bool isIn(const std::vector<blursection> &m, const SXYD &xyd) const;</blursection>
Toshihiro Shimizu 890ddd
};
Toshihiro Shimizu 890ddd
Shinya Kitaoka 120a6e
#endif  // !defined(AFX_BLURMATRIX_H__8298C171_0035_11D6_B94F_0040F674BE6A__INCLUDED_)