Loading [MathJax]/extensions/ams.js
ALMaSS  1.2 (after EcoStack, March 2024)
The Animal, Landscape and Man Simulation System
All Classes Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
PositionMap.h
Go to the documentation of this file.
1 /*
2 *******************************************************************************************************
3 Copyright (c) 2011, Christopher John Topping, Aarhus University
4 All rights reserved.
5 
6 Redistribution and use in source and binary forms, with or without modification, are permitted provided
7 that the following conditions are met:
8 
9 Redistributions of source code must retain the above copyright notice, this list of conditions and the
10 following disclaimer.
11 Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
12 the following disclaimer in the documentation and/or other materials provided with the distribution.
13 
14 THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
15 IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
16 FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS
17 BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
18 BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
19 BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
20 LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
21 SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
22 ********************************************************************************************************
23 */
33 //---------------------------------------------------------------------------
34 #ifndef PositionMapH
35 #define PositionMapH
36 //------------------------------------------------------------------------------
37 
38 //------------------------------------------------------------------------------
39 
40 
46 {
47  public:
48  bool* m_TheMap;
49  unsigned int m_maxx, m_maxy;
50  virtual bool GetMapValue(unsigned a_x, unsigned a_y)
51  {
52  return m_TheMap[a_x+a_y*m_maxx];
53  }
54 
55  virtual void SetMapValue(unsigned a_x, unsigned a_y)
56  {
57  m_TheMap[a_x+a_y*m_maxx]=true;
58  }
59 
60  virtual void ClearMapValue(unsigned a_x, unsigned a_y)
61  {
62  m_TheMap[a_x+a_y*m_maxx]=false;
63  }
64 
65  virtual int GetMapDensity(unsigned a_x, unsigned a_y, unsigned a_range)
66  {
67  int dens=0;
68  for (unsigned x = a_x; x<a_x+a_range; x++)
69  {
70  for (unsigned y = a_y; y<a_y+a_range; y++)
71  if (m_TheMap[x+y*m_maxx]) dens++;
72  }
73  return dens;
74  }
75  virtual bool GetMapPositive(unsigned a_x, unsigned a_y, unsigned a_range)
76  {
77  for (unsigned x = a_x; x<a_x+a_range; x++)
78  {
79  for (unsigned y = a_y; y<a_y+a_range; y++)
80  if (m_TheMap[x+y*m_maxx]) return true;
81  }
82  return false;
83  }
85  SimplePositionMap(unsigned a_size);
87  virtual ~SimplePositionMap();
88 };
89 
91 {
92 public:
93  vector<int> m_TheMapSpmi;
94  unsigned int m_maxx, m_maxy;
95  virtual int GetMapValue(unsigned a_x, unsigned a_y)
96  {
97  return m_TheMapSpmi[a_x + a_y * m_maxx];
98  }
99 
100  virtual void SetMapValue(unsigned a_x, unsigned a_y, int a_value)
101  {
102  m_TheMapSpmi[a_x + a_y * m_maxx] = a_value;
103  }
104 
105  virtual void ClearMapValue(unsigned a_x, unsigned a_y)
106  {
107  m_TheMapSpmi[a_x + a_y * m_maxx] = 0;
108  }
109 
110  virtual void IncMapValue(unsigned a_x, unsigned a_y)
111  {
112  m_TheMapSpmi[a_x + a_y * m_maxx]++;
113  }
114 
115  virtual void DecMapValue(unsigned a_x, unsigned a_y)
116  {
117 
118  m_TheMapSpmi[a_x + a_y * m_maxx]--;
119 
120 #ifdef Poecilus_Debug
121  if (m_TheMapSpmi[a_x + a_y * m_maxx] < 1)
122  {
123  g_msg->Warn(WARN_BUG, "SimplePositionMapInt::DecMapValue - negative value in density ", m_TheMapSpmi[a_x + a_y * m_maxx]);
124  exit(-1);
125  }
126 #endif
127  }
128 
129  virtual int GetMapDensity(unsigned a_x, unsigned a_y, unsigned a_range)
130  {
131  int dens = 0;
132  int temp_x = a_x;
133  int temp_y = a_y;
134  //int temp_x_end = a_x + a_range;
135  //if(temp_x_end > m_maxx) temp_x_end = m_maxx;
136  //int temp_y_end = a_y + a_range;c
137  //if (temp_y_end > m_maxy) temp_y_end = m_maxy;
138  //if (a_x < 0) a_x = 0;
139  //if (a_y < 0) a_y = 0;
140  for (unsigned x = a_x; x <a_x+a_range; x++)
141  {
142  temp_x = x;
143  if(x >= m_maxx) temp_x = x - m_maxx;
144  for (unsigned y = a_y; y < a_y+a_range; y++){
145  temp_y = y;
146  if(y >= m_maxy) temp_y = y - m_maxy;
147  dens += (m_TheMapSpmi[temp_x + temp_y * m_maxx]);
148  }
149  }
150  return dens;
151  }
152  virtual int GetMapDensityEdge(unsigned a_x, unsigned a_y, unsigned a_range)
153  {
154  if (a_x + a_range >= m_maxx) a_range = m_maxx - a_x;
155  if (a_y + a_range >= m_maxy) a_range = m_maxy - a_y;
156  int dens = 0;
157  for (unsigned x = a_x; x < a_x + a_range; x++)
158  {
159  for (unsigned y = a_y; y < a_y + a_range; y++)
160  dens += (m_TheMapSpmi[x + y * m_maxx]);
161  }
162  return dens;
163  }
164  virtual bool GetMapPositive(unsigned a_x, unsigned a_y, unsigned a_range)
165  {
166  for (unsigned x = a_x; x < a_x + a_range; x++)
167  {
168  for (unsigned y = a_y; y < a_y + a_range; y++)
169  if (m_TheMapSpmi[x + y * m_maxx]>0) return true;
170  }
171  return false;
172  }
173 
174 
175  virtual int SumMap()
176  {
178  int nos = 0;
179  const unsigned sz = m_maxy * m_maxx;
180  for (unsigned i = 0; i < sz; i++) nos += m_TheMapSpmi[i];
181  return nos;
182  }
185  virtual ~SimplePositionMapInt();
186 };
187 
188 template<typename AnimalTypes>
190 {
191 public:
192  vector<vector<AnimalTypes*>*> m_TheMapSpmi;
193  unsigned int m_maxx{}, m_maxy{};
194 
195  virtual int GetMapValue(unsigned a_x, unsigned a_y)
196  {
197  return m_TheMapSpmi[a_x + a_y * m_maxx]->size();
198  }
199 
200  virtual void AddMapValue(unsigned a_x, unsigned a_y, AnimalTypes* a_value)
201  {
202 
203  m_TheMapSpmi[a_x + a_y * m_maxx]->push_back(a_value);
204 
205  }
206  virtual void ClearMapValue(unsigned a_x, unsigned a_y)
207  {
208 
209  m_TheMapSpmi[a_x + a_y * m_maxx] = {};
210 
211  }
212 
213  virtual AnimalTypes* DecMapValue(unsigned a_x, unsigned a_y)
214  {
215  AnimalTypes* val;
216 
217  if (m_TheMapSpmi[a_x + a_y * m_maxx]->size() > 0) { // can happen that there is nobody here because of parallel threads, so gracefully ignore this
218  val = (m_TheMapSpmi[a_x + a_y * m_maxx]->back());
219  m_TheMapSpmi[a_x + a_y * m_maxx]->pop_back();
220  }
221 
222  return (val);
223  }
224 
225  virtual bool RemoveMapValue(unsigned a_x, unsigned a_y, AnimalTypes* a_value)
226  {
227  bool res = false;
228 
229  auto an = std::find(m_TheMapSpmi[a_x + a_y * m_maxx]->begin(), m_TheMapSpmi[a_x + a_y * m_maxx]->end(), a_value);
230  if (an != m_TheMapSpmi[a_x + a_y * m_maxx]->end()) {
231  m_TheMapSpmi[a_x + a_y * m_maxx]->erase(an);
232  res = true;
233  }
234  return res;
235  }
236 
237  virtual bool IsMapValue(unsigned a_x, unsigned a_y, AnimalTypes* a_value)
238  {
239  bool res = false;
240 
241  auto an = std::find(m_TheMapSpmi[a_x + a_y * m_maxx]->begin(), m_TheMapSpmi[a_x + a_y * m_maxx]->end(), a_value);
242  if (an != m_TheMapSpmi[a_x + a_y * m_maxx]->end()) res = true;
243 
244  return res;
245  }
246 
247  virtual int GetMapDensity(unsigned a_x, unsigned a_y, unsigned a_range)
248  {
249  int dens = 0;
250  for (unsigned x = a_x; x < a_x + a_range; x++)
251  {
252  for (unsigned y = a_y; y < a_y + a_range; y++)
253  dens += (m_TheMapSpmi[x + y * m_maxx]->size());
254  }
255  return dens;
256  }
257  virtual int GetMapDensityEdge(unsigned a_x, unsigned a_y, unsigned a_range)
258  {
259  if (a_x + a_range >= m_maxx) a_range = m_maxx - a_x;
260  if (a_y + a_range >= m_maxy) a_range = m_maxy - a_y;
261  int dens = 0;
262  for (unsigned x = a_x; x < a_x + a_range; x++)
263  {
264  for (unsigned y = a_y; y < a_y + a_range; y++)
265  dens += (m_TheMapSpmi[x + y * m_maxx]->size());
266  }
267  return dens;
268  }
269  virtual bool GetMapPositive(unsigned a_x, unsigned a_y, unsigned a_range)
270  {
271  for (unsigned x = a_x; x < a_x + a_range; x++)
272  {
273  for (unsigned y = a_y; y < a_y + a_range; y++)
274  if (m_TheMapSpmi[x + y * m_maxx]->size() > 0) return true;
275  }
276  return false;
277  }
278 
279 
280  virtual int SumMap()
281  {
283  int nos = 0;
284  const unsigned sz = m_maxy * m_maxx;
285  for (unsigned i = 0; i < sz; i++) nos += m_TheMapSpmi[i]->size();
286  return nos;
287  }
289  explicit SimplePositionMapPointers(Landscape* a_l);
290  virtual ~SimplePositionMapPointers();
291 };
292 
293 template <typename AnimalTypes>
295 }
296 template <typename AnimalTypes>
298  m_maxx = a_l->SupplySimAreaWidth();
299  m_maxy = a_l->SupplySimAreaHeight();
300  m_TheMapSpmi.resize(m_maxx * m_maxy);
301  for (unsigned y = 0; y < m_maxy; y++)
302  {
303  for (unsigned x = 0; x < m_maxx; x++)
304  {
305  m_TheMapSpmi[x + y * m_maxx] = new vector<AnimalTypes*>();
306  }
307  }
308 }
309 template <typename AnimalTypes>
311  for (unsigned y = 0; y < m_maxy; y++)
312  {
313  for (unsigned x = 0; x < m_maxx; x++)
314  {
315  delete m_TheMapSpmi[x + y * m_maxx];
316  }
317  }
318 }
319 
325 {
326  protected:
329  public:
330  ScalablePositionMap(Landscape* L, int a_ScaleFactor);
332 
334  bool GetMapValue(unsigned a_x, unsigned a_y)
335  {
343  a_x = a_x >> m_ScaleFactor;
344  a_y = a_y >> m_ScaleFactor;
345  return m_TheMap[a_x+a_y*m_maxx];
346  }
347  void SetMapValue(unsigned a_x, unsigned a_y)
348  {
349  a_x = a_x >> m_ScaleFactor;
350  a_y = a_y >> m_ScaleFactor;
351  m_TheMap[a_x+a_y*m_maxx]=true;
352  }
353  void ClearMapValue(unsigned a_x, unsigned a_y)
354  {
355  a_x = a_x >> m_ScaleFactor;
356  a_y = a_y >> m_ScaleFactor;
357  m_TheMap[a_x+a_y*m_maxx]=false;
358  }
359  int GetMapDensity(unsigned a_x, unsigned a_y, unsigned a_range)
360  {
361  int dens=0;
362  a_x = a_x >> m_ScaleFactor;
363  a_y = a_y >> m_ScaleFactor;
364  a_range = a_range >> m_ScaleFactor;
365  for (unsigned x = a_x; x<a_x+a_range; x++)
366  {
367  for (unsigned y = a_y; y<a_y+a_range; y++)
368  if (m_TheMap[x+y*m_maxx]) dens++;
369  }
370  return dens;
371  }
372  bool GetMapPositive(unsigned a_x, unsigned a_y, unsigned a_range)
373  {
374  a_x = a_x >> m_ScaleFactor;
375  a_y = a_y >> m_ScaleFactor;
376  a_range = a_range >> m_ScaleFactor;
377  for (unsigned x = a_x; x<a_x+a_range; x++)
378  {
379  for (unsigned y = a_y; y<a_y+a_range; y++)
380  if (m_TheMap[x+y*m_maxx]) return true;
381  }
382  return false;
383  }
384 };
385 //-------------------------------------------------------------------------------
386 
392 {
393  public:
396  PointerInt m_TheBitMaskArray[65]; // for 64-bit
398  int GetMapValue(unsigned x, unsigned y);
399  void SetMapValue(unsigned x, unsigned y);
400  void ClearMapValue(unsigned x, unsigned y);
401  int GetMapDensity(unsigned x, unsigned y);
402  int GetMapDensity(unsigned x, unsigned y, unsigned range);
403  bool GetMapPositive(unsigned x, unsigned y, unsigned range);
404  bool GetMapPositiveB(unsigned x, unsigned y, unsigned range);
405  int GetMapDensity5x5(unsigned x, unsigned y);
406  bool GetMapDensity32(unsigned x, unsigned y);
407  int GetTotalSpace(int x, int y);
408  int GetTotalN(int x, int y);
409  PositionMap(unsigned a_size);
410  PositionMap(Landscape * L);
411  ~PositionMap();
412  protected:
414  void Init();
415 
416 
417 // Inline function for speed
419  unsigned int nCount=0 ;
420  for(; n; n&=(n-1)){
421  nCount++;
422  }
423  return nCount ;
424 }
425 
426 };
427 //------------------------------------------------------------------------------
428 
429 
430 
431 //---------------------------------------------------------------------------
432 #endif
ScalablePositionMap::~ScalablePositionMap
~ScalablePositionMap()
Definition: PositionMap.cpp:568
ScalablePositionMap::m_ScaleFactor
int m_ScaleFactor
A binary scaling factor ( 1 = 2x2m 2=4x4m 3 =8x8m etc.. )
Definition: PositionMap.h:328
SimplePositionMapInt::m_maxx
unsigned int m_maxx
Definition: PositionMap.h:94
PositionMap::GetMapDensity5x5
int GetMapDensity5x5(unsigned x, unsigned y)
Definition: PositionMap.cpp:416
PositionMap::SetMapValue
void SetMapValue(unsigned x, unsigned y)
Definition: PositionMap.cpp:184
PositionMap::ClearMapValue
void ClearMapValue(unsigned x, unsigned y)
Definition: PositionMap.cpp:197
SimplePositionMapInt::GetMapDensity
virtual int GetMapDensity(unsigned a_x, unsigned a_y, unsigned a_range)
Definition: PositionMap.h:129
PositionMap::GetTotalSpace
int GetTotalSpace(int x, int y)
Definition: PositionMap.cpp:221
SimplePositionMapInt::GetMapValue
virtual int GetMapValue(unsigned a_x, unsigned a_y)
Definition: PositionMap.h:95
PositionMap::m_TheMap
PointerInt * m_TheMap
Definition: PositionMap.h:394
__3264minus1
#define __3264minus1
Definition: PositionMap.cpp:45
PositionMap::PositionMap
PositionMap(unsigned a_size)
Definition: PositionMap.cpp:137
SimplePositionMap
Used to map locations of individuals for density estimates - space inefficient but good for testing.
Definition: PositionMap.h:45
SimplePositionMap::~SimplePositionMap
virtual ~SimplePositionMap()
Definition: PositionMap.cpp:91
SimplePositionMapInt::DecMapValue
virtual void DecMapValue(unsigned a_x, unsigned a_y)
Definition: PositionMap.h:115
ScalablePositionMap::ScalablePositionMap
ScalablePositionMap(Landscape *L, int a_ScaleFactor)
Definition: PositionMap.cpp:549
SimplePositionMapInt::m_maxy
unsigned int m_maxy
Definition: PositionMap.h:94
SimplePositionMapPointers::~SimplePositionMapPointers
virtual ~SimplePositionMapPointers()
Definition: PositionMap.h:310
SimplePositionMapInt::GetMapDensityEdge
virtual int GetMapDensityEdge(unsigned a_x, unsigned a_y, unsigned a_range)
Definition: PositionMap.h:152
PositionMap::GetMapPositive
bool GetMapPositive(unsigned x, unsigned y, unsigned range)
Definition: PositionMap.cpp:348
SimplePositionMap::ClearMapValue
virtual void ClearMapValue(unsigned a_x, unsigned a_y)
Definition: PositionMap.h:60
ScalablePositionMap::GetMapPositive
bool GetMapPositive(unsigned a_x, unsigned a_y, unsigned a_range)
Definition: PositionMap.h:372
SimplePositionMap::SetMapValue
virtual void SetMapValue(unsigned a_x, unsigned a_y)
Definition: PositionMap.h:55
SimplePositionMapPointers
Definition: PositionMap.h:189
SimplePositionMapPointers::GetMapDensity
virtual int GetMapDensity(unsigned a_x, unsigned a_y, unsigned a_range)
Definition: PositionMap.h:247
SimplePositionMapPointers::GetMapValue
virtual int GetMapValue(unsigned a_x, unsigned a_y)
Definition: PositionMap.h:195
PositionMap::Init
void Init()
Definition: PositionMap.cpp:156
PositionMap::GetMapDensity32
bool GetMapDensity32(unsigned x, unsigned y)
Definition: PositionMap.cpp:484
__3264minus0
#define __3264minus0
Definition: PositionMap.cpp:46
SimplePositionMapPointers::IsMapValue
virtual bool IsMapValue(unsigned a_x, unsigned a_y, AnimalTypes *a_value)
Definition: PositionMap.h:237
PositionMap
Used to map locations of individuals for density estimates.
Definition: PositionMap.h:391
ScalablePositionMap::ClearMapValue
void ClearMapValue(unsigned a_x, unsigned a_y)
Definition: PositionMap.h:353
SimplePositionMapPointers::m_TheMapSpmi
vector< vector< AnimalTypes * > * > m_TheMapSpmi
Definition: PositionMap.h:192
SimplePositionMapInt::SetMapValue
virtual void SetMapValue(unsigned a_x, unsigned a_y, int a_value)
Definition: PositionMap.h:100
__3264divide
#define __3264divide
Definition: PositionMap.cpp:47
PointerInt
uint64 PointerInt
Definition: ALMaSS_Setup.h:43
SimplePositionMapPointers::SumMap
virtual int SumMap()
Definition: PositionMap.h:280
Landscape
The landscape class containing all environmental and topographical data.
Definition: Landscape.h:142
ScalablePositionMap::GetMapDensity
int GetMapDensity(unsigned a_x, unsigned a_y, unsigned a_range)
Definition: PositionMap.h:359
SimplePositionMap::GetMapValue
virtual bool GetMapValue(unsigned a_x, unsigned a_y)
Definition: PositionMap.h:50
PositionMap::m_TheBitMaskArray
PointerInt m_TheBitMaskArray[65]
Definition: PositionMap.h:396
PositionMap::GetMapValue
int GetMapValue(unsigned x, unsigned y)
Definition: PositionMap.cpp:209
Landscape::SupplySimAreaHeight
int SupplySimAreaHeight(void)
Gets the simulation landscape height.
Definition: Landscape.h:2302
Landscape::SupplySimAreaWidth
int SupplySimAreaWidth(void)
Gets the simulation landscape width.
Definition: Landscape.h:2297
SimplePositionMapInt::GetMapPositive
virtual bool GetMapPositive(unsigned a_x, unsigned a_y, unsigned a_range)
Definition: PositionMap.h:164
PositionMap::GetTotalN
int GetTotalN(int x, int y)
Definition: PositionMap.cpp:237
PositionMap::m_maxy
PointerInt m_maxy
Definition: PositionMap.h:395
PositionMap::m_TheBitMaskArray2
PointerInt m_TheBitMaskArray2[65]
Definition: PositionMap.h:397
SimplePositionMapInt::m_TheMapSpmi
vector< int > m_TheMapSpmi
Definition: PositionMap.h:93
SimplePositionMapPointers::ClearMapValue
virtual void ClearMapValue(unsigned a_x, unsigned a_y)
Definition: PositionMap.h:206
MapErrorMsg::Warn
void Warn(MapErrorState a_level, std::string a_msg1, std::string a_msg2)
Definition: MapErrorMsg.cpp:69
PositionMap::m_xmaxx
PointerInt m_xmaxx
Definition: PositionMap.h:395
SimplePositionMapInt
Definition: PositionMap.h:90
SimplePositionMapInt::~SimplePositionMapInt
virtual ~SimplePositionMapInt()
Definition: PositionMap.cpp:119
PositionMap::BitCount
PointerInt BitCount(PointerInt n)
Definition: PositionMap.h:418
ScalablePositionMap::SetMapValue
void SetMapValue(unsigned a_x, unsigned a_y)
Definition: PositionMap.h:347
SimplePositionMapPointers::AddMapValue
virtual void AddMapValue(unsigned a_x, unsigned a_y, AnimalTypes *a_value)
Definition: PositionMap.h:200
ScalablePositionMap
Used to map locations of individuals for density estimates. Each cell can only contain one value (it ...
Definition: PositionMap.h:324
SimplePositionMapPointers::SimplePositionMapPointers
SimplePositionMapPointers()
Definition: PositionMap.h:294
SimplePositionMap::SimplePositionMap
SimplePositionMap()
Definition: PositionMap.cpp:55
SimplePositionMapInt::ClearMapValue
virtual void ClearMapValue(unsigned a_x, unsigned a_y)
Definition: PositionMap.h:105
SimplePositionMapPointers::RemoveMapValue
virtual bool RemoveMapValue(unsigned a_x, unsigned a_y, AnimalTypes *a_value)
Definition: PositionMap.h:225
PositionMap::GetMapDensity
int GetMapDensity(unsigned x, unsigned y)
Definition: PositionMap.cpp:253
ScalablePositionMap::GetMapValue
bool GetMapValue(unsigned a_x, unsigned a_y)
Get the value a x,y.
Definition: PositionMap.h:334
PositionMap::GetMapPositiveB
bool GetMapPositiveB(unsigned x, unsigned y, unsigned range)
Definition: PositionMap.cpp:520
PositionMap::~PositionMap
~PositionMap()
Definition: PositionMap.cpp:149
g_msg
MapErrorMsg * g_msg
Definition: MapErrorMsg.cpp:41
SimplePositionMap::m_maxx
unsigned int m_maxx
Definition: PositionMap.h:49
SimplePositionMapInt::SimplePositionMapInt
SimplePositionMapInt()
Definition: PositionMap.cpp:98
PositionMap::m_ALandscape
Landscape * m_ALandscape
Definition: PositionMap.h:413
SimplePositionMapInt::IncMapValue
virtual void IncMapValue(unsigned a_x, unsigned a_y)
Definition: PositionMap.h:110
PositionMap::m_maxx
PointerInt m_maxx
Definition: PositionMap.h:395
SimplePositionMap::m_TheMap
bool * m_TheMap
Definition: PositionMap.h:48
SimplePositionMap::m_maxy
unsigned int m_maxy
Definition: PositionMap.h:49
SimplePositionMapPointers::GetMapPositive
virtual bool GetMapPositive(unsigned a_x, unsigned a_y, unsigned a_range)
Definition: PositionMap.h:269
SimplePositionMap::GetMapDensity
virtual int GetMapDensity(unsigned a_x, unsigned a_y, unsigned a_range)
Definition: PositionMap.h:65
SimplePositionMapPointers::m_maxx
unsigned int m_maxx
Definition: PositionMap.h:193
SimplePositionMap::GetMapPositive
virtual bool GetMapPositive(unsigned a_x, unsigned a_y, unsigned a_range)
Definition: PositionMap.h:75
SimplePositionMapInt::SumMap
virtual int SumMap()
Definition: PositionMap.h:175
SimplePositionMapPointers::DecMapValue
virtual AnimalTypes * DecMapValue(unsigned a_x, unsigned a_y)
Definition: PositionMap.h:213
WARN_BUG
Definition: MapErrorMsg.h:34
ALMaSS_Setup.h
SimplePositionMapPointers::GetMapDensityEdge
virtual int GetMapDensityEdge(unsigned a_x, unsigned a_y, unsigned a_range)
Definition: PositionMap.h:257
SimplePositionMapPointers::m_maxy
unsigned int m_maxy
Definition: PositionMap.h:193