18 void resize(
int ixmin,
int iymin,
int ixmax,
int iymax);
22 inline const Cell&
cell(
int x,
int y)
const;
23 inline Cell&
cell(
int x,
int y);
34 inline void setActiveArea(
const PointSet&,
bool patchCoords=
false);
58 for (
int x=0; x<this->
m_xsize; x++){
60 for (
int y=0; y<this->
m_ysize; y++)
72 for (
int x=0; x<xsize; x++){
74 for (
int y=0; y<ysize; y++){
78 int dx= xmin < 0 ? 0 : xmin;
79 int dy= ymin < 0 ? 0 : ymin;
82 for (
int x=dx; x<Dx; x++){
83 for (
int y=dy; y<Dy; y++){
84 newcells[x-xmin][y-ymin]=this->
m_cells[x][y];
98 for (
int i=0; i<this->
m_xsize; i++)
104 for (
int i=0; i<this->
m_xsize; i++)
107 for (
int x=0; x<this->
m_xsize; x++)
108 for (
int y=0; y<this->
m_ysize; y++)
118 template <
class Cell>
121 for (PointSet::const_iterator it= aa.begin(); it!=aa.end(); ++it) {
131 template <
class Cell>
137 template <
class Cell>
148 template <
class Cell>
162 template <
class Cell>
169 template <
class Cell>
176 template <
class Cell>
189 template <
class Cell>
std::set< point< int >, pointcomparator< int > > PointSet
AccessibilityState cellState(const IntPoint &p) const
Cell & cell(const IntPoint &p)
void resize(int ixmin, int iymin, int ixmax, int iymax)
virtual Array2D< Cell > * createPatch(const IntPoint &p) const
const PointSet & getActiveArea() const
HierarchicalArray2D & operator=(const HierarchicalArray2D &hg)
const Cell & cell(int x, int y) const
bool isAllocated(int x, int y) const
void setActiveArea(const PointSet &, bool patchCoords=false)
virtual ~HierarchicalArray2D()
IntPoint patchIndexes(int x, int y) const
int getPatchMagnitude() const
const Cell & cell(const IntPoint &p) const
bool isAllocated(const IntPoint &p) const
HierarchicalArray2D(int xsize, int ysize, int patchMagnitude=5)
AccessibilityState cellState(int x, int y) const
bool isInside(int x, int y) const
autoptr< Array2D< Cell > > ** m_cells
IntPoint patchIndexes(const IntPoint &p) const