File failed to load: https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/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
Vole_toletoc.h File Reference
#include "../Landscape/ls.h"

Go to the source code of this file.

Functions

int vole_tole_move_quality (Landscape *m_TheLandscape, int x, int y)
 
int vole_tole_init_optimal (Landscape *m_TheLandscape, int x, int y)
 
int vole_tole_init_friendly (Landscape *m_TheLandscape, int x, int y)
 
double vole_toletoc_asses_habitat_score (Landscape *m_TheLandscape, int p_Polyref)
 
bool vole_tole_assess_barrier (Landscape *m_TheLandscape, int p_Polyref)
 

Function Documentation

◆ vole_tole_assess_barrier()

bool vole_tole_assess_barrier ( Landscape m_TheLandscape,
int  p_Polyref 
)
814 {
816  Elem = m_TheLandscape->SupplyElementType(p_Polyref);
817 
818  switch (Elem) {
819 // Roads, stream, garden, churchyards etc. and all types of forest
820  case tole_Churchyard:
821  case tole_Saltmarsh:
822  case tole_Stream:
823  case tole_HeritageSite:
824  case tole_LargeRoad:
825  case tole_Airport:
826  case tole_Portarea:
827  case tole_Coast:
829  case tole_OFarmForest:
830  case tole_FarmForest:
835  case tole_ChristmasTrees: //Jordan
836  case tole_MontadoCorkOak:
837  case tole_MontadoHolmOak:
838  case tole_MontadoMixed:
839  case tole_CorkOakForest:
840  case tole_HolmOakForest:
841  case tole_OtherOakForest:
842  case tole_ChestnutForest:
843  case tole_MixedForest: //Jordan
844  case tole_InvasiveForest:
845  case tole_SwampForest:
846  case tole_Railway: //Jordan
847  case tole_SmallRoad: //Jordan
848  case tole_UrbanNoVeg: //Jordan
849  case tole_UrbanVeg:
850  case tole_UrbanPark:
851  case tole_Garden: //11
852  case tole_Track: // 123
853  case tole_AmenityGrass:
854  case tole_Building:
855  case tole_Canal:
856  case tole_Copse:
858  case tole_FishFarm:
859  case tole_Freshwater:
860  case tole_Pond:
861  case tole_River:
862  case tole_Saltwater:
864  case tole_WindTurbine:
865  case tole_RefuseSite:
866  return false;
867 
868  case tole_ActivePit:
870  case tole_AsparagusPerm:
871  case tole_BareRock:
872  case tole_BeetleBank:
874  case tole_BushFruit:
875  case tole_Carpark:
876  case tole_Chameleon:
877  case tole_DrainageDitch:
878  case tole_EnergyCrop:
879  case tole_FarmBufferZone:
882  case tole_Fence:
883  case tole_Field:
884  case tole_FieldBoundary:
885  case tole_FlowersPerm:
886  case tole_FlowerStrip:
888  case tole_Foobar:
889  case tole_ForestAisle:
890  case tole_GreenFallow:
891  case tole_Heath:
892  case tole_HedgeBank:
893  case tole_Hedges:
894  case tole_IndividualTree:
895  case tole_Marsh:
896  case tole_MetalledPath:
897  case tole_Missing:
898  case tole_MownGrassStrip:
899  case tole_MushroomPerm:
903  case tole_OAsparagusPerm:
904  case tole_OBushFruit:
905  case tole_OEnergyCrop:
907  case tole_OliveGrove:
908  case tole_OOrchard:
909  case tole_OPermPasture:
912  case tole_Orchard:
913  case tole_OrchardBand:
914  case tole_OtherPermCrop:
915  case tole_Parkland:
917  case tole_PermPasture:
922  case tole_Pipeline:
923  case tole_PitDisused:
924  case tole_PlantNursery:
925  case tole_Pylon:
926  case tole_RiceField:
927  case tole_RiverBed:
929  case tole_RiversideTrees:
930  case tole_RoadsideSlope:
931  case tole_RoadsideVerge:
932  case tole_Saltpans:
933  case tole_SandDune:
934  case tole_Scrub:
935  case tole_SolarPanel:
936  case tole_StoneWall:
937  case tole_UnknownGrass:
939  case tole_Vildtager:
940  case tole_Vineyard:
942  case tole_Wasteland:
944  case tole_WoodlandMargin:
946  case tole_YoungForest:
947 
948  return true;
949 
950  default:
951  // Unknown crop type
952  g_msg->Warn("bool vole_tole_assess_barrier - Unknown tole type: ", static_cast<int>(Elem));
953  exit(1);
954 
955 
956  }
957 
958 
959 
960 }

References g_msg, Landscape::SupplyElementType(), tole_ActivePit, tole_AgroForestrySystem, tole_Airport, tole_AlmondPlantation, tole_AmenityGrass, tole_AsparagusPerm, tole_BareRock, tole_BeetleBank, tole_Building, tole_BuiltUpWithParkland, tole_BushFruit, tole_Canal, tole_Carpark, tole_Chameleon, tole_ChestnutForest, tole_ChristmasTrees, tole_Churchyard, tole_Coast, tole_ConiferousForest, tole_Copse, tole_CorkOakForest, tole_DeciduousForest, tole_DrainageDitch, tole_EnergyCrop, tole_EucalyptusForest, tole_FarmBufferZone, tole_FarmFeedingGround, tole_FarmForest, tole_FarmYoungForest, tole_Fence, tole_Field, tole_FieldBoundary, tole_FishFarm, tole_FlowersPerm, tole_FlowerStrip, tole_FlowerStripWithRotation, tole_Foobar, tole_ForestAisle, tole_Freshwater, tole_Garden, tole_GreenFallow, tole_Heath, tole_HedgeBank, tole_Hedges, tole_HeritageSite, tole_HolmOakForest, tole_IndividualTree, tole_InvasiveForest, tole_LargeRoad, tole_MaritimePineForest, tole_Marsh, tole_MetalledPath, tole_Missing, tole_MixedForest, tole_MontadoCorkOak, tole_MontadoHolmOak, tole_MontadoMixed, tole_MownGrassStrip, tole_MushroomPerm, tole_NaturalFarmGrass, tole_NaturalGrassDry, tole_NaturalGrassWet, tole_OAsparagusPerm, tole_OBushFruit, tole_OChristmasTrees, tole_OEnergyCrop, tole_OFarmForest, tole_OFarmYoungForest, tole_OliveGrove, tole_OOrchard, tole_OPermPasture, tole_OPermPastureLowYield, tole_OPermPasturePigs, tole_Orchard, tole_OrchardBand, tole_OtherOakForest, tole_OtherPermCrop, tole_Parkland, tole_PermanentSetaside, tole_PermPasture, tole_PermPastureLowYield, tole_PermPasturePigs, tole_PermPastureTussocky, tole_PermPastureTussockyWet, tole_Pipeline, tole_PitDisused, tole_PlantNursery, tole_Pond, tole_Portarea, tole_Pylon, tole_Railway, tole_RefuseSite, tole_RiceField, tole_River, tole_RiverBed, tole_RiversidePlants, tole_RiversideTrees, tole_RoadsideSlope, tole_RoadsideVerge, tole_Saltmarsh, tole_Saltpans, tole_Saltwater, tole_SandDune, tole_Scrub, tole_SmallRoad, tole_SolarPanel, tole_StonePineForest, tole_StoneWall, tole_Stream, tole_SwampForest, tole_Track, tole_UnknownGrass, tole_UnsprayedFieldMargin, tole_UrbanNoVeg, tole_UrbanPark, tole_UrbanVeg, tole_Vildtager, tole_Vineyard, tole_WalnutPlantation, tole_Wasteland, tole_WaterBufferZone, tole_WindTurbine, tole_WoodlandMargin, tole_WoodyEnergyCrop, tole_YoungForest, and MapErrorMsg::Warn().

Referenced by Vole_Population_Manager::BarrierSearch().

◆ vole_tole_init_friendly()

int vole_tole_init_friendly ( Landscape m_TheLandscape,
int  x,
int  y 
)
382 {
383 
384  TTypesOfLandscapeElement tole = m_TheLandscape->SupplyElementType(x, y);
385 
386  switch (tole)
387  {
388  case tole_Orchard:
389  case tole_Vineyard:
390  case tole_OliveGrove:
391  case tole_OrchardBand:
392  case tole_MownGrassStrip:
393  case tole_RoadsideVerge:
394  case tole_RoadsideSlope:
395  case tole_Railway:
396  case tole_FlowerStrip: //commented out because they are also in init_optimal - can/should they be in both places? - Both
398  case tole_FieldBoundary:
399  case tole_Scrub:
400  case tole_Field:
405  case tole_PermPasture:
408  case tole_PitDisused:
409  case tole_YoungForest:
411  case tole_Garden:
412  case tole_HedgeBank:
413  case tole_BeetleBank:
414  case tole_SolarPanel:
415  case tole_BushFruit: //Jordan
416  case tole_Churchyard: //Jordan
417  case tole_Copse: //Jordan
418  case tole_ForestAisle: //Jordan
419  case tole_GreenFallow: //Jordan
420  case tole_Heath: //Jordan
421  case tole_Hedges: //Jordan
422  case tole_IndividualTree: //Jordan
423  case tole_OBushFruit: //Jordan
424  case tole_OChristmasTrees: //Jordan
425  case tole_ChristmasTrees:
426  case tole_OEnergyCrop: //Jordan
427  case tole_OOrchard: //Jordan
428  case tole_OPermPasture: //Jordan
429  case tole_OtherPermCrop: //Jordan
430  case tole_Parkland: //Jordan
431  case tole_PermPastureTussockyWet: //Jordan
432  case tole_RiversidePlants: //Jordan
433  case tole_RiversideTrees: //Jordan
434  case tole_UnknownGrass: //Jordan
435  case tole_UnsprayedFieldMargin: //Jordan
436  case tole_Wasteland: //Jordan
437  case tole_WaterBufferZone: //Jordan
438  case tole_WoodlandMargin: //Jordan
439  case tole_Saltmarsh: // 95
440  case tole_Marsh: // 95
441  case tole_Vildtager:
442  case tole_FarmBufferZone:
443  return true;
444  default:
445  return false;
446  }
447 
448 }

References Landscape::SupplyElementType(), tole_BeetleBank, tole_BushFruit, tole_ChristmasTrees, tole_Churchyard, tole_Copse, tole_FarmBufferZone, tole_FarmYoungForest, tole_Field, tole_FieldBoundary, tole_FlowerStrip, tole_FlowerStripWithRotation, tole_ForestAisle, tole_Garden, tole_GreenFallow, tole_Heath, tole_HedgeBank, tole_Hedges, tole_IndividualTree, tole_Marsh, tole_MownGrassStrip, tole_NaturalGrassDry, tole_NaturalGrassWet, tole_OBushFruit, tole_OChristmasTrees, tole_OEnergyCrop, tole_OliveGrove, tole_OOrchard, tole_OPermPasture, tole_OPermPastureLowYield, tole_Orchard, tole_OrchardBand, tole_OtherPermCrop, tole_Parkland, tole_PermanentSetaside, tole_PermPasture, tole_PermPastureLowYield, tole_PermPastureTussocky, tole_PermPastureTussockyWet, tole_PitDisused, tole_Railway, tole_RiversidePlants, tole_RiversideTrees, tole_RoadsideSlope, tole_RoadsideVerge, tole_Saltmarsh, tole_Scrub, tole_SolarPanel, tole_UnknownGrass, tole_UnsprayedFieldMargin, tole_Vildtager, tole_Vineyard, tole_Wasteland, tole_WaterBufferZone, tole_WoodlandMargin, and tole_YoungForest.

Referenced by Vole_Population_Manager::SuitableStartingLocation().

◆ vole_tole_init_optimal()

int vole_tole_init_optimal ( Landscape m_TheLandscape,
int  x,
int  y 
)
343 {
344  TTypesOfLandscapeElement tole = m_TheLandscape->SupplyElementType(x, y);
345  switch (tole)
346  {
347  case tole_FieldBoundary:
354  case tole_PermPasture:
355  case tole_OPermPasture:
356  case tole_YoungForest:
359  case tole_OrchardBand:
360  case tole_FlowerStrip:
362  case tole_FlowersPerm:
365  //case tole_RoadsideVerge: /*\todo some were already commented out */
366  //case tole_Railway:
367  //case tole_Scrub:
368  //case tole_PitDisused:
369  //case tole_OFarmForest://Jordans
370  //case tole_FarmForest://Jordans
371  //case tole_Garden:
372  //case tole_HedgeBank:
373  case tole_BeetleBank:
374  return true;
375 
376  default:
377  return false;
378  }
379 }

References Landscape::SupplyElementType(), tole_BeetleBank, tole_FarmYoungForest, tole_FieldBoundary, tole_FlowersPerm, tole_FlowerStrip, tole_FlowerStripWithRotation, tole_NaturalFarmGrass, tole_NaturalGrassDry, tole_NaturalGrassWet, tole_OFarmYoungForest, tole_OPermPasture, tole_OPermPastureLowYield, tole_OrchardBand, tole_PermanentSetaside, tole_PermPasture, tole_PermPastureLowYield, tole_PermPastureTussocky, tole_PermPastureTussockyWet, and tole_YoungForest.

Referenced by Vole_Population_Manager::SuitableStartingLocation().

◆ vole_tole_move_quality()

int vole_tole_move_quality ( Landscape m_TheLandscape,
int  x,
int  y 
)

todo Should the orchards be here?

6 {
7  int poly_index = m_TheLandscape->SupplyPolyRefIndex(x, y);
8  int score = -9999;
9  TTypesOfLandscapeElement tole = m_TheLandscape->SupplyElementTypeFromVector(poly_index);
10  switch (tole)
11  {
12  case tole_NaturalGrassDry: // 110
13  case tole_NaturalGrassWet: // 110
14  case tole_UnknownGrass:
15  case tole_GreenFallow:
16  case tole_BeetleBank:
17  score = 4;
18  break;
19  case tole_PermPasture: // 35
20  case tole_OPermPasture:
21  case tole_PermPastureLowYield: // 35
26  case tole_OtherPermCrop:
27  if (m_TheLandscape->SupplyGrazingPressureVector(poly_index) > 0) score = 1; else score = 4;
28  break;
31  if (m_TheLandscape->SupplyGrazingPressureVector(poly_index) > 0) score = 2; else score = 4;
32  break;
33  case tole_Orchard: // 56
34  case tole_OOrchard:
35  case tole_BushFruit:
36  case tole_OBushFruit:
37  case tole_Vineyard:
38  case tole_OliveGrove:
42  // Quality depends on when it was mown
43  if (m_TheLandscape->SupplyJustMownVector(poly_index)) score = 0; else score = 4;
44  break;
45  case tole_MownGrassStrip: // 58
46  // Quality depends on when it was mown
47  if (m_TheLandscape->SupplyJustMownVector(poly_index)) score = 1; else score = 4;
48  break;
49  case tole_OrchardBand: // 57
50  score = 4 - (int)(0.6 * m_TheLandscape->SupplyJustSprayedVector(poly_index));
51  break;
52  case tole_RoadsideSlope:
53  case tole_Railway: // 118
54  case tole_Pipeline:
55  case tole_FieldBoundary: // 160
56  case tole_WoodlandMargin:
57  case tole_FlowerStrip:
59  case tole_RoadsideVerge: // 13
60  case tole_HedgeBank:
62  case tole_YoungForest: // 60
65  case tole_Vildtager:
66  case tole_Wasteland:
67  case tole_ForestAisle:
68  case tole_SolarPanel:
69  case tole_FlowersPerm:
72  score = 4;
73  break;
74  case tole_Saltmarsh: // 95
75  case tole_Marsh: // 95
76  case tole_Scrub: // 70
77  case tole_Heath:
78  case tole_Hedges: // 130 (internal ALMaSS representation for Hedges)
79  case tole_RiversidePlants: // 98
80  case tole_RiceField:
81  case tole_AsparagusPerm:
82  case tole_OAsparagusPerm:
83  case tole_PitDisused: // 75
84  case tole_MixedForest: // 60
85  case tole_DeciduousForest: // 40
88  case tole_MontadoMixed:
90  case tole_FarmForest:
91  case tole_OFarmForest:
92  case tole_CorkOakForest:
93  case tole_HolmOakForest:
98  case tole_SwampForest:
99  case tole_Copse:
100  score = 3;
101  break;
102  case tole_RiversideTrees: // 97
103  case tole_ConiferousForest: // 50
105  case tole_ChristmasTrees:
108  case tole_Parkland:
109  case tole_AmenityGrass:
111  case tole_OEnergyCrop:
112  case tole_EnergyCrop:
113  case tole_IndividualTree:
114  score = 2;
115  break;
116  case tole_Garden: //11
117  case tole_Track: // 123
118  case tole_SmallRoad: // 122
119  case tole_LargeRoad: // 121
120  case tole_BareRock:
121  case tole_Saltpans:
122  case tole_UrbanNoVeg:
123  case tole_UrbanVeg:
124  case tole_PlantNursery:
125  case tole_UrbanPark:
126  case tole_SandDune:
127  case tole_Churchyard: //204
128  case tole_Airport:
129  case tole_Portarea:
130  case tole_Stream:
131  score = 1;
132  break;
133  case tole_MetalledPath:
134  case tole_Carpark:
135  case tole_HeritageSite:
136  case tole_Building: // 5
137  case tole_ActivePit: // 115
138  case tole_RefuseSite:
139  case tole_Freshwater: // 90
140  case tole_FishFarm:
141  case tole_Pond:
142  case tole_River: // 96
143  case tole_RiverBed:
144  case tole_Saltwater: // 80
145  case tole_Coast: // 100
146  case tole_StoneWall: // 15
147  case tole_Fence: //225
148  case tole_WindTurbine:
149  case tole_Pylon:
150  case tole_DrainageDitch:
151  case tole_Canal:
153  case tole_MushroomPerm:
154  case tole_Chameleon:
155  case tole_Missing:
156 
157  score = -1;
158  break;
159  case tole_Field: // 20 & 30
161  {
162  TTypesOfCrops CType = m_TheLandscape->SupplyCropType(poly_index);
163  switch (CType) {
167  case toc_OSetAside:
168  case toc_SetAside:
170  case toc_YoungForestCrop:
171  case toc_OYoungForestCrop:
172  score = 4;
173  break;
174  case toc_OSeedGrass1:
175  case toc_SeedGrass1:
176  case toc_OSeedGrass2:
177  case toc_SeedGrass2:
185  case toc_GrassGrazed1:
186  case toc_GrassGrazed2:
188  case toc_GrassGrazedLast:
191  score = 3 - m_TheLandscape->SupplyGrazingPressureVector(poly_index);
192  break;
194  case toc_Beans:
195  case toc_Beans_Whole:
196  case toc_Beet:
197  case toc_BushFruit:
198  case toc_Cabbage:
199  case toc_CabbageSpring:
200  case toc_Carrots:
201  case toc_CarrotsSpring:
202  case toc_CatchCropPea:
203  case toc_CorkOak:
205  case toc_FarmForest:
206  case toc_FieldPeas:
207  case toc_FieldPeasSilage:
209  case toc_FodderBeet:
210  case toc_FodderGrass:
211  case toc_FodderLucerne1:
212  case toc_FodderLucerne2:
214  case toc_GrazingPigs:
215  case toc_Horticulture:
216  case toc_Maize:
217  case toc_MaizeSilage:
218  case toc_MaizeSpring:
219  case toc_MaizeStrigling:
220  case toc_MixedVeg:
222  case toc_Oats:
224  case toc_OBeans:
225  case toc_OBeans_Whole:
226  case toc_OBushFruit:
227  case toc_OCabbage:
228  case toc_OCarrots:
229  case toc_OFarmForest:
230  case toc_OFieldPeas:
233  case toc_OFodderBeet:
234  case toc_OFodderGrass:
235  case toc_OGrazingPigs:
236  case toc_OLentils:
237  case toc_OliveGrove:
238  case toc_OLupines:
239  case toc_OMaize:
240  case toc_OMaizeSilage:
241  case toc_OMixedVeg:
242  case toc_OOats:
243  case toc_OOrchApple:
244  case toc_OOrchardCrop:
245  case toc_OOrchCherry:
246  case toc_OOrchOther:
247  case toc_OOrchPear:
248  case toc_OPotatoes:
250  case toc_OPotatoesSeed:
251  case toc_OrchApple:
252  case toc_OrchardCrop:
253  case toc_OrchCherry:
254  case toc_OrchOther:
255  case toc_OrchPear:
256  case toc_ORyeGrass:
257  case toc_OSBarleySilage:
259  case toc_OSpringBarley:
265  case toc_OSpringRape:
266  case toc_OSpringRye:
267  case toc_OSpringWheat:
268  case toc_OStarchPotato:
269  case toc_OSugarBeet:
270  case toc_OTriticale:
271  case toc_OVegSeeds:
272  case toc_OWinterBarley:
274  case toc_OWinterRape:
275  case toc_OWinterRye:
276  case toc_OWinterWheat:
279  case toc_PlantNursery:
280  case toc_Potatoes:
282  case toc_PotatoesSeed:
283  case toc_PotatoesSpring:
284  case toc_Ryegrass:
285  case toc_ORyegrass:
286  case toc_Sorghum:
287  case toc_SpringBarley:
292  case toc_SpringRape:
293  case toc_SpringRye:
294  case toc_SpringWheat:
295  case toc_StarchPotato:
296  case toc_SugarBeet:
297  case toc_Sunflower:
298  case toc_Triticale:
299  case toc_Tulips:
300  case toc_Turnip:
301  case toc_VegSeeds:
302  case toc_Vineyards:
303  case toc_WinterBarley:
304  case toc_WinterRape:
305  case toc_WinterRye:
306  case toc_WinterTriticale:
307  case toc_WinterWheat:
308  case toc_YellowLupin:
309  case toc_Fallow:
310  case toc_Unmanaged:
311  {
312  double cover = m_TheLandscape->SupplyVegCoverVector(poly_index);
313  double height = m_TheLandscape->SupplyVegHeightVector(poly_index);
314  if ((cover > 0.80) && (height > 40)) score = 3;
315  else if ((cover < 0.50) || (height < 10)) score = 0;
316  else score = 2;
317  }
318  break;
319 
320  case toc_Foobar:
321  case toc_None:
322  default:
323  // Unknown crop type
324  g_msg->Warn("vole_tole_move_quality - Unknown toc type: ", static_cast<int>(CType));
325  exit(1);
326  break;
327  }
328  }
329  break;
330  case tole_Foobar: // 999 !! type unknown - should not happen
331  default:
332  static char errornum[20];
333  sprintf(errornum, "%d", m_TheLandscape->SupplyElementTypeFromVector(poly_index));
334  m_TheLandscape->Warn("Vole_Base:MoveQuality: Unknown tole_type",
335  errornum);
336  exit(1);
337 
338  }
339  return score;
340 }

References g_msg, Landscape::SupplyCropType(), Landscape::SupplyElementTypeFromVector(), Landscape::SupplyGrazingPressureVector(), Landscape::SupplyJustMownVector(), Landscape::SupplyJustSprayedVector(), Landscape::SupplyPolyRefIndex(), Landscape::SupplyVegCoverVector(), Landscape::SupplyVegHeightVector(), toc_AsparagusEstablishedPlantation, toc_Beans, toc_Beans_Whole, toc_Beet, toc_BushFruit, toc_Cabbage, toc_CabbageSpring, toc_Carrots, toc_CarrotsSpring, toc_CatchCropPea, toc_CloverGrassGrazed1, toc_CloverGrassGrazed2, toc_CloverGrassGrazed3, toc_CorkOak, toc_DummyCropPestTesting, toc_Fallow, toc_FarmForest, toc_FieldPeas, toc_FieldPeasSilage, toc_FieldPeasStrigling, toc_FodderBeet, toc_FodderGrass, toc_FodderLucerne1, toc_FodderLucerne2, toc_Foobar, toc_GenericCatchCrop, toc_GrassGrazed1, toc_GrassGrazed2, toc_GrassGrazedExtensive, toc_GrassGrazedLast, toc_GrazingPigs, toc_Horticulture, toc_Maize, toc_MaizeSilage, toc_MaizeSpring, toc_MaizeStrigling, toc_MixedVeg, toc_None, toc_OAsparagusEstablishedPlantation, toc_Oats, toc_OBarleyPeaCloverGrass, toc_OBeans, toc_OBeans_Whole, toc_OBushFruit, toc_OCabbage, toc_OCarrots, toc_OCloverGrassGrazed1, toc_OCloverGrassGrazed2, toc_OCloverGrassGrazed3, toc_OCloverGrassSilage1, toc_OFarmForest, toc_OFieldPeas, toc_OFieldPeasSilage, toc_OFirstYearDanger, toc_OFodderBeet, toc_OFodderGrass, toc_OGrazingPigs, toc_OLentils, toc_OliveGrove, toc_OLupines, toc_OMaize, toc_OMaizeSilage, toc_OMixedVeg, toc_OOats, toc_OOrchApple, toc_OOrchardCrop, toc_OOrchCherry, toc_OOrchOther, toc_OOrchPear, toc_OPermanentGrassGrazed, toc_OPermanentGrassLowYield, toc_OPotatoes, toc_OPotatoesIndustry, toc_OPotatoesSeed, toc_OrchApple, toc_OrchardCrop, toc_OrchCherry, toc_OrchOther, toc_OrchPear, toc_ORyeGrass, toc_ORyegrass, toc_OSBarleySilage, toc_OSeedGrass1, toc_OSeedGrass2, toc_OSetAside, toc_OSetAside_Flower, toc_OSpringBarley, toc_OSpringBarleyCloverGrass, toc_OSpringBarleyExtensive, toc_OSpringBarleyPeaCloverGrass, toc_OSpringBarleyPigs, toc_OSpringBarleySilage, toc_OSpringRape, toc_OSpringRye, toc_OSpringWheat, toc_OStarchPotato, toc_OSugarBeet, toc_OTriticale, toc_OVegSeeds, toc_OWinterBarley, toc_OWinterBarleyExtensive, toc_OWinterRape, toc_OWinterRye, toc_OWinterWheat, toc_OWinterWheatUndersown, toc_OWinterWheatUndersownExtensive, toc_OYoungForestCrop, toc_PermanentGrassGrazed, toc_PermanentGrassLowYield, toc_PermanentGrassTussocky, toc_PermanentSetAside, toc_PlantNursery, toc_Potatoes, toc_PotatoesIndustry, toc_PotatoesSeed, toc_PotatoesSpring, toc_Ryegrass, toc_SeedGrass1, toc_SeedGrass2, toc_SetAside, toc_Sorghum, toc_SpringBarley, toc_SpringBarleyCloverGrass, toc_SpringBarleyPeaCloverGrass, toc_SpringBarleySeed, toc_SpringBarleySilage, toc_SpringRape, toc_SpringRye, toc_SpringWheat, toc_StarchPotato, toc_SugarBeet, toc_Sunflower, toc_Triticale, toc_Tulips, toc_Turnip, toc_Unmanaged, toc_VegSeeds, toc_Vineyards, toc_WinterBarley, toc_WinterRape, toc_WinterRye, toc_WinterTriticale, toc_WinterWheat, toc_YellowLupin, toc_YoungForestCrop, tole_ActivePit, tole_AgroForestrySystem, tole_Airport, tole_AlmondPlantation, tole_AmenityGrass, tole_AsparagusPerm, tole_BareRock, tole_BeetleBank, tole_Building, tole_BuiltUpWithParkland, tole_BushFruit, tole_Canal, tole_Carpark, tole_Chameleon, tole_ChestnutForest, tole_ChristmasTrees, tole_Churchyard, tole_Coast, tole_ConiferousForest, tole_Copse, tole_CorkOakForest, tole_DeciduousForest, tole_DrainageDitch, tole_EnergyCrop, tole_EucalyptusForest, tole_FarmBufferZone, tole_FarmFeedingGround, tole_FarmForest, tole_FarmYoungForest, tole_Fence, tole_Field, tole_FieldBoundary, tole_FishFarm, tole_FlowersPerm, tole_FlowerStrip, tole_FlowerStripWithRotation, tole_Foobar, tole_ForestAisle, tole_Freshwater, tole_Garden, tole_GreenFallow, tole_Heath, tole_HedgeBank, tole_Hedges, tole_HeritageSite, tole_HolmOakForest, tole_IndividualTree, tole_InvasiveForest, tole_LargeRoad, tole_MaritimePineForest, tole_Marsh, tole_MetalledPath, tole_Missing, tole_MixedForest, tole_MontadoCorkOak, tole_MontadoHolmOak, tole_MontadoMixed, tole_MownGrassStrip, tole_MushroomPerm, tole_NaturalFarmGrass, tole_NaturalGrassDry, tole_NaturalGrassWet, tole_OAsparagusPerm, tole_OBushFruit, tole_OChristmasTrees, tole_OEnergyCrop, tole_OFarmForest, tole_OFarmYoungForest, tole_OliveGrove, tole_OOrchard, tole_OPermPasture, tole_OPermPastureLowYield, tole_OPermPasturePigs, tole_Orchard, tole_OrchardBand, tole_OtherOakForest, tole_OtherPermCrop, tole_Parkland, tole_PermanentSetaside, tole_PermPasture, tole_PermPastureLowYield, tole_PermPasturePigs, tole_PermPastureTussocky, tole_PermPastureTussockyWet, tole_Pipeline, tole_PitDisused, tole_PlantNursery, tole_Pond, tole_Portarea, tole_Pylon, tole_Railway, tole_RefuseSite, tole_RiceField, tole_River, tole_RiverBed, tole_RiversidePlants, tole_RiversideTrees, tole_RoadsideSlope, tole_RoadsideVerge, tole_Saltmarsh, tole_Saltpans, tole_Saltwater, tole_SandDune, tole_Scrub, tole_SmallRoad, tole_SolarPanel, tole_StonePineForest, tole_StoneWall, tole_Stream, tole_SwampForest, tole_Track, tole_UnknownGrass, tole_UnsprayedFieldMargin, tole_UrbanNoVeg, tole_UrbanPark, tole_UrbanVeg, tole_Vildtager, tole_Vineyard, tole_WalnutPlantation, tole_Wasteland, tole_WaterBufferZone, tole_WindTurbine, tole_WoodlandMargin, tole_WoodyEnergyCrop, tole_YoungForest, MapErrorMsg::Warn(), and Landscape::Warn().

Referenced by Vole_Base::MoveQuality().

◆ vole_toletoc_asses_habitat_score()

double vole_toletoc_asses_habitat_score ( Landscape m_TheLandscape,
int  p_Polyref 
)
452 {
453  TTypesOfLandscapeElement ElementType = m_TheLandscape->SupplyElementTypeFromVector(p_Polyref);
454  double score = -9999;
455  double Cover;
456 
457  switch (ElementType)
458  {
459  case tole_Railway: // 118
460  case tole_FlowerStrip:
462  case tole_FlowersPerm: //Jordan
463  case tole_FieldBoundary: // 160
464  case tole_RoadsideVerge: // 13
465  case tole_RoadsideSlope:
466  case tole_HedgeBank:
467  case tole_Hedges: // 130 (internal ALMaSS representation for Hedges)
468  case tole_BeetleBank:
470  case tole_NaturalFarmGrass: //Jordan
471  case tole_SolarPanel: //Jordan
472  case tole_WaterBufferZone: //Jordan
473  case tole_NaturalGrassDry: // 110
474  case tole_FarmBufferZone:
475  if (m_TheLandscape->SupplyVegHeightVector(p_Polyref) <= 5.0) score = 2.25;
476  else score = 3.0;
477  break;
478  case tole_OtherPermCrop:
479  case tole_PermPasture: // 35
480  case tole_OPermPasture:
483  if (m_TheLandscape->SupplyGrazingPressureVector(p_Polyref) > 0) score = 2.0; else score = 2.7;
484  break;
487  if (m_TheLandscape->SupplyGrazingPressureVector(p_Polyref) > 0) score = 2.1; else score = 2.8;
488  break;
490  case tole_PermPastureTussockyWet: //Jordan
491  if (m_TheLandscape->SupplyGrazingPressureVector(p_Polyref) > 0) score = 2.25; else score = 3.0;
492  break;
493  case tole_Orchard: // 56
494  case tole_OOrchard: //Jordan
495  case tole_BushFruit:
496  case tole_OBushFruit:
497  case tole_Vineyard:
498  case tole_OliveGrove:
501 
502  // Quality depends on when it was mown
503  {
504  if (m_TheLandscape->SupplyVegCoverVector(p_Polyref) < 0.8) score = 2.5;
505  else if (m_TheLandscape->SupplyVegHeightVector(p_Polyref) <= 40) score = 2.5;
506  else score = 3.0;
507  }
508  if (m_TheLandscape->SupplyJustMownVector(p_Polyref)) score = 2.0;
509  break;
510  case tole_MownGrassStrip: // 58
511  // Quality depends on when it was mown
512  if (m_TheLandscape->SupplyJustMownVector(p_Polyref)) score = 1.0; else score = 1.5;
513  break;
514  case tole_OrchardBand: // 57
515  // If spraying herbicide then quality depends on time since spraying. SupplyJustSprayed returns a counter that counts down to zero after spraying.
516  // score = 3.0 - (0.5*m_TheLandscape->SupplyJustSprayedVector(p_Polyref)); // For herbicide
517  score = 3.0;
518  break;
520  case tole_YoungForest: // 60
521  case tole_FarmYoungForest://Jordans
523  case tole_ForestAisle:
524  score = 2.2;
525  break;
526  case tole_Marsh: // 95
527  case tole_Scrub: // 70
528  case tole_Vildtager:
529  case tole_Heath:
530  case tole_RiversidePlants: // 98
531  case tole_RiceField:
532  case tole_PitDisused: // 75
533  case tole_UnknownGrass:
534  case tole_GreenFallow:
535  case tole_Wasteland:
536  case tole_AsparagusPerm:
537  case tole_OAsparagusPerm:
538  score = 1.5;
539  break;
540  case tole_MixedForest: // 60
541  case tole_DeciduousForest: // 40
542  case tole_MontadoCorkOak:
543  case tole_MontadoHolmOak:
544  case tole_MontadoMixed:
546  case tole_OFarmForest:
547  case tole_FarmForest:
548  case tole_CorkOakForest:
549  case tole_HolmOakForest:
550  case tole_OtherOakForest:
551  case tole_ChestnutForest:
553  case tole_InvasiveForest:
554  case tole_SwampForest:
555  case tole_RiversideTrees: // 97
556  case tole_ConiferousForest: // 50
557  case tole_ChristmasTrees:
562  case tole_Parkland:
563  case tole_Copse:
564  case tole_AmenityGrass:
565  case tole_MetalledPath: //202
566  case tole_WoodyEnergyCrop:// 59
567  case tole_EnergyCrop:
568  case tole_OEnergyCrop:
569  case tole_WoodlandMargin:
570  case tole_IndividualTree:
571  score = 1;
572  break;
573  case tole_Garden: //11
574  case tole_Track: // 123
575  case tole_SmallRoad: // 122
576  case tole_LargeRoad: // 121
577  case tole_BareRock:
578  case tole_UrbanNoVeg:
579  case tole_UrbanPark:
580  case tole_UrbanVeg:
581  case tole_SandDune:
582  case tole_Churchyard:
583  case tole_HeritageSite:
584  case tole_Saltmarsh:
585  case tole_PlantNursery:
586  case tole_WindTurbine:
587  case tole_Pylon:
588  case tole_Saltpans:
589  case tole_Pipeline:
590  score = 0;
591  break;
592  case tole_Building: // 5
593  case tole_Carpark:
594  case tole_ActivePit: // 115
595  case tole_Freshwater: // 90
596  case tole_Pond:
597  case tole_Stream:
598  case tole_Saltwater: // 80
599  case tole_Coast: // 100
600  case tole_StoneWall: // 15
601  case tole_Fence: //225
602  case tole_DrainageDitch:
603  case tole_RefuseSite:
604  case tole_Canal:
605  case tole_River:
606  case tole_Airport:
607  case tole_Portarea:
608  case tole_MushroomPerm:
609  case tole_Missing:
610  case tole_FishFarm:
611  case tole_RiverBed:
612  case tole_Chameleon:
614  score = -1;
615  break;
616  case tole_Field: // 20 & 30
618  {
619  TTypesOfCrops CType = m_TheLandscape->SupplyCropType(p_Polyref);
620  Cover = m_TheLandscape->SupplyVegCoverVector(p_Polyref);
621  if (Cover < 0.20) score = 0;
622  else switch (CType)
623  {
624  case toc_SeedGrass1:
625  case toc_SeedGrass2:
626  case toc_OSeedGrass1:
627  case toc_OSeedGrass2:
628  case toc_ORyeGrass:
629  case toc_ORyegrass:
630  score = 2.25;
631  break;
632  case toc_Beans_Whole:
633  case toc_OBeans:
634  case toc_Beans:
635  case toc_OBeans_Whole:
638  case toc_CatchCropPea:
639  case toc_FieldPeas:
641  case toc_OLentils:
642  case toc_FieldPeasSilage:
643  case toc_WinterBarley:
644  case toc_OWinterBarley:
645  case toc_WinterRye:
646  case toc_OWinterRye:
647  case toc_OSpringRye:
648  case toc_Ryegrass:
649  case toc_SpringRye:
654  case toc_OSpringRape:
655  case toc_Sorghum:
656  case toc_OSpringWheat:
657  case toc_OStarchPotato:
658  case toc_OSugarBeet:
659  case toc_OVegSeeds:
662  case toc_Oats:
663  case toc_WinterWheat:
664  case toc_Triticale:
665  case toc_WinterTriticale:
666  case toc_OTriticale:
667  case toc_WinterRape:
668  case toc_SpringRape:
669  case toc_OSpringBarley:
670  case toc_SpringBarley:
675  case toc_SpringWheat:
677  case toc_OSBarleySilage:
679  case toc_OWinterWheat:
680  case toc_OFieldPeas:
683  case toc_OWinterRape:
684  case toc_Maize:
685  case toc_OMaize:
686  case toc_MaizeSpring:
687  case toc_MaizeStrigling:
688  case toc_MaizeSilage:
689  case toc_OMaizeSilage:
690  case toc_OOats:
692  score = 1;
693  break;
694  case toc_OGrazingPigs:
695  case toc_Beet:
696  case toc_FodderBeet:
697  case toc_SugarBeet:
698  case toc_OFodderBeet:
699  case toc_Carrots:
700  case toc_OCarrots:
701  case toc_CarrotsSpring:
702  case toc_Potatoes:
703  case toc_OPotatoes:
706  case toc_OPotatoesSeed:
707  case toc_PotatoesSeed:
708  case toc_VegSeeds:
709  case toc_PotatoesSpring:
710  case toc_StarchPotato:
711  case toc_OMixedVeg:
712  case toc_MixedVeg:
713  case toc_Turnip:
714  case toc_OCabbage:
715  case toc_Cabbage:
716  case toc_CabbageSpring:
717  case toc_Sunflower:
718  case toc_Tulips:
719  case toc_OLupines:
720  case toc_YellowLupin:
721  case toc_PlantNursery:
722  case toc_Horticulture:
725  case toc_Fallow:
726  score = 0;
727  break;
728  // Needs some more thought
730  case toc_FodderGrass:
737  case toc_OFodderGrass:
738  case toc_FodderLucerne1:
739  case toc_FodderLucerne2:
740  case toc_GrassGrazed1:
741  case toc_GrassGrazed2:
743  case toc_GrassGrazedLast:
744  case toc_GrazingPigs:
745  if (m_TheLandscape->SupplyGrazingPressureVector(p_Polyref) > 0) score = 1;
746  else score = 2;
747  break;
752  if (m_TheLandscape->SupplyGrazingPressureVector(p_Polyref) > 0) score = 2.2;
753  else score = 2.6;
754  break;
756  if (m_TheLandscape->SupplyGrazingPressureVector(p_Polyref) > 0) score = 2.25;
757  else score = 3.0;
758  break;
761  case toc_OSetAside:
762  case toc_SetAside:
763  case toc_Unmanaged:
764  score = 3.0;
765  break;
766  case toc_OBushFruit:
767  case toc_BushFruit:
768  case toc_OrchardCrop:
769  case toc_CorkOak:
770  case toc_OFarmForest:
771  case toc_FarmForest:
772  case toc_OliveGrove:
773  case toc_OOrchApple:
774  case toc_OrchApple:
775  case toc_OOrchardCrop:
776  case toc_OOrchCherry:
777  case toc_OrchCherry:
778  case toc_OOrchOther:
779  case toc_OrchOther:
780  case toc_OOrchPear:
781  case toc_OrchPear:
782  case toc_Vineyards:
783  case toc_YoungForestCrop:
785  // Quality depends on when it was mown
786  if (m_TheLandscape->SupplyVegCoverVector(p_Polyref) < 0.8) score = 2.5;
787  else if (m_TheLandscape->SupplyVegHeightVector(p_Polyref) <= 40) score = 2.5;
788  else score = 3.0;
789  break;
790  case toc_Foobar:
791  case toc_None:
792  default:
793  // Unknown crop type
794  g_msg->Warn("vole_toletoc_asses_habitat_score - Unknown toc type: ", static_cast<int>(CType) );
795  exit(1);
796  break;
797  }
798  }
799  break;
800 
801  case tole_Foobar: // 999 !! type unknown - should not happen
802  default: // NOLINT(clang-diagnostic-covered-switch-default)
803  static char errornum[20];
804  sprintf(errornum, "%d", ElementType);
805  m_TheLandscape->Warn("vole_toletoc_asses_habitat_score - Unknown tole_type: ", errornum);
806  exit(1);
807  }
808 
809  return score;
810 
811 }

References g_msg, Landscape::SupplyCropType(), Landscape::SupplyElementTypeFromVector(), Landscape::SupplyGrazingPressureVector(), Landscape::SupplyJustMownVector(), Landscape::SupplyVegCoverVector(), Landscape::SupplyVegHeightVector(), toc_AsparagusEstablishedPlantation, toc_Beans, toc_Beans_Whole, toc_Beet, toc_BushFruit, toc_Cabbage, toc_CabbageSpring, toc_Carrots, toc_CarrotsSpring, toc_CatchCropPea, toc_CloverGrassGrazed1, toc_CloverGrassGrazed2, toc_CloverGrassGrazed3, toc_CorkOak, toc_DummyCropPestTesting, toc_Fallow, toc_FarmForest, toc_FieldPeas, toc_FieldPeasSilage, toc_FieldPeasStrigling, toc_FodderBeet, toc_FodderGrass, toc_FodderLucerne1, toc_FodderLucerne2, toc_Foobar, toc_GenericCatchCrop, toc_GrassGrazed1, toc_GrassGrazed2, toc_GrassGrazedExtensive, toc_GrassGrazedLast, toc_GrazingPigs, toc_Horticulture, toc_Maize, toc_MaizeSilage, toc_MaizeSpring, toc_MaizeStrigling, toc_MixedVeg, toc_None, toc_OAsparagusEstablishedPlantation, toc_Oats, toc_OBarleyPeaCloverGrass, toc_OBeans, toc_OBeans_Whole, toc_OBushFruit, toc_OCabbage, toc_OCarrots, toc_OCloverGrassGrazed1, toc_OCloverGrassGrazed2, toc_OCloverGrassGrazed3, toc_OCloverGrassSilage1, toc_OFarmForest, toc_OFieldPeas, toc_OFieldPeasSilage, toc_OFirstYearDanger, toc_OFodderBeet, toc_OFodderGrass, toc_OGrazingPigs, toc_OLentils, toc_OliveGrove, toc_OLupines, toc_OMaize, toc_OMaizeSilage, toc_OMixedVeg, toc_OOats, toc_OOrchApple, toc_OOrchardCrop, toc_OOrchCherry, toc_OOrchOther, toc_OOrchPear, toc_OPermanentGrassGrazed, toc_OPermanentGrassLowYield, toc_OPotatoes, toc_OPotatoesIndustry, toc_OPotatoesSeed, toc_OrchApple, toc_OrchardCrop, toc_OrchCherry, toc_OrchOther, toc_OrchPear, toc_ORyeGrass, toc_ORyegrass, toc_OSBarleySilage, toc_OSeedGrass1, toc_OSeedGrass2, toc_OSetAside, toc_OSetAside_Flower, toc_OSpringBarley, toc_OSpringBarleyCloverGrass, toc_OSpringBarleyExtensive, toc_OSpringBarleyPeaCloverGrass, toc_OSpringBarleyPigs, toc_OSpringBarleySilage, toc_OSpringRape, toc_OSpringRye, toc_OSpringWheat, toc_OStarchPotato, toc_OSugarBeet, toc_OTriticale, toc_OVegSeeds, toc_OWinterBarley, toc_OWinterBarleyExtensive, toc_OWinterRape, toc_OWinterRye, toc_OWinterWheat, toc_OWinterWheatUndersown, toc_OWinterWheatUndersownExtensive, toc_OYoungForestCrop, toc_PermanentGrassGrazed, toc_PermanentGrassLowYield, toc_PermanentGrassTussocky, toc_PermanentSetAside, toc_PlantNursery, toc_Potatoes, toc_PotatoesIndustry, toc_PotatoesSeed, toc_PotatoesSpring, toc_Ryegrass, toc_SeedGrass1, toc_SeedGrass2, toc_SetAside, toc_Sorghum, toc_SpringBarley, toc_SpringBarleyCloverGrass, toc_SpringBarleyPeaCloverGrass, toc_SpringBarleySeed, toc_SpringBarleySilage, toc_SpringRape, toc_SpringRye, toc_SpringWheat, toc_StarchPotato, toc_SugarBeet, toc_Sunflower, toc_Triticale, toc_Tulips, toc_Turnip, toc_Unmanaged, toc_VegSeeds, toc_Vineyards, toc_WinterBarley, toc_WinterRape, toc_WinterRye, toc_WinterTriticale, toc_WinterWheat, toc_YellowLupin, toc_YoungForestCrop, tole_ActivePit, tole_AgroForestrySystem, tole_Airport, tole_AlmondPlantation, tole_AmenityGrass, tole_AsparagusPerm, tole_BareRock, tole_BeetleBank, tole_Building, tole_BuiltUpWithParkland, tole_BushFruit, tole_Canal, tole_Carpark, tole_Chameleon, tole_ChestnutForest, tole_ChristmasTrees, tole_Churchyard, tole_Coast, tole_ConiferousForest, tole_Copse, tole_CorkOakForest, tole_DeciduousForest, tole_DrainageDitch, tole_EnergyCrop, tole_EucalyptusForest, tole_FarmBufferZone, tole_FarmFeedingGround, tole_FarmForest, tole_FarmYoungForest, tole_Fence, tole_Field, tole_FieldBoundary, tole_FishFarm, tole_FlowersPerm, tole_FlowerStrip, tole_FlowerStripWithRotation, tole_Foobar, tole_ForestAisle, tole_Freshwater, tole_Garden, tole_GreenFallow, tole_Heath, tole_HedgeBank, tole_Hedges, tole_HeritageSite, tole_HolmOakForest, tole_IndividualTree, tole_InvasiveForest, tole_LargeRoad, tole_MaritimePineForest, tole_Marsh, tole_MetalledPath, tole_Missing, tole_MixedForest, tole_MontadoCorkOak, tole_MontadoHolmOak, tole_MontadoMixed, tole_MownGrassStrip, tole_MushroomPerm, tole_NaturalFarmGrass, tole_NaturalGrassDry, tole_NaturalGrassWet, tole_OAsparagusPerm, tole_OBushFruit, tole_OChristmasTrees, tole_OEnergyCrop, tole_OFarmForest, tole_OFarmYoungForest, tole_OliveGrove, tole_OOrchard, tole_OPermPasture, tole_OPermPastureLowYield, tole_OPermPasturePigs, tole_Orchard, tole_OrchardBand, tole_OtherOakForest, tole_OtherPermCrop, tole_Parkland, tole_PermanentSetaside, tole_PermPasture, tole_PermPastureLowYield, tole_PermPasturePigs, tole_PermPastureTussocky, tole_PermPastureTussockyWet, tole_Pipeline, tole_PitDisused, tole_PlantNursery, tole_Pond, tole_Portarea, tole_Pylon, tole_Railway, tole_RefuseSite, tole_RiceField, tole_River, tole_RiverBed, tole_RiversidePlants, tole_RiversideTrees, tole_RoadsideSlope, tole_RoadsideVerge, tole_Saltmarsh, tole_Saltpans, tole_Saltwater, tole_SandDune, tole_Scrub, tole_SmallRoad, tole_SolarPanel, tole_StonePineForest, tole_StoneWall, tole_Stream, tole_SwampForest, tole_Track, tole_UnknownGrass, tole_UnsprayedFieldMargin, tole_UrbanNoVeg, tole_UrbanPark, tole_UrbanVeg, tole_Vildtager, tole_Vineyard, tole_WalnutPlantation, tole_Wasteland, tole_WaterBufferZone, tole_WindTurbine, tole_WoodlandMargin, tole_WoodyEnergyCrop, tole_YoungForest, MapErrorMsg::Warn(), and Landscape::Warn().

Referenced by Vole_Population_Manager::AssessHabitat().

Landscape::SupplyVegCoverVector
double SupplyVegCoverVector(unsigned int a_index)
Returns the vegetation cover proportion of the vegetation using the polygon index to Landscape::m_ele...
Definition: Landscape.h:1677
toc_None
Definition: LandscapeFarmingEnums.h:925
tole_SolarPanel
Definition: LandscapeFarmingEnums.h:151
toc_Potatoes
Definition: LandscapeFarmingEnums.h:891
toc_OFodderGrass
Definition: LandscapeFarmingEnums.h:835
tole_OtherOakForest
Definition: LandscapeFarmingEnums.h:142
toc_Oats
Definition: LandscapeFarmingEnums.h:819
tole_SandDune
Definition: LandscapeFarmingEnums.h:103
toc_Cabbage
Definition: LandscapeFarmingEnums.h:787
toc_OSetAside
Definition: LandscapeFarmingEnums.h:863
toc_OWinterBarleyExtensive
Definition: LandscapeFarmingEnums.h:879
tole_Pylon
Definition: LandscapeFarmingEnums.h:118
toc_OPotatoesIndustry
Definition: LandscapeFarmingEnums.h:852
tole_OtherPermCrop
Definition: LandscapeFarmingEnums.h:177
tole_SwampForest
Definition: LandscapeFarmingEnums.h:135
toc_OrchardCrop
Definition: LandscapeFarmingEnums.h:855
toc_FodderGrass
Definition: LandscapeFarmingEnums.h:803
toc_OCloverGrassGrazed1
Definition: LandscapeFarmingEnums.h:826
tole_Portarea
Definition: LandscapeFarmingEnums.h:132
toc_WinterTriticale
Definition: LandscapeFarmingEnums.h:921
toc_OOrchPear
Definition: LandscapeFarmingEnums.h:848
toc_SpringBarleySeed
Definition: LandscapeFarmingEnums.h:904
tole_InvasiveForest
Definition: LandscapeFarmingEnums.h:145
toc_OMaizeSilage
Definition: LandscapeFarmingEnums.h:841
toc_OPotatoes
Definition: LandscapeFarmingEnums.h:851
toc_OSeedGrass2
Definition: LandscapeFarmingEnums.h:862
toc_CarrotsSpring
Definition: LandscapeFarmingEnums.h:790
toc_PermanentGrassLowYield
Definition: LandscapeFarmingEnums.h:887
toc_OrchOther
Definition: LandscapeFarmingEnums.h:857
toc_OWinterWheatUndersownExtensive
Definition: LandscapeFarmingEnums.h:884
toc_OFirstYearDanger
Definition: LandscapeFarmingEnums.h:833
Landscape::SupplyElementType
TTypesOfLandscapeElement SupplyElementType(int a_polyref)
Returns the landscape type of the polygon using the polygon reference number a_polyref or coordinates...
Definition: Landscape.h:1732
toc_OYoungForestCrop
Definition: LandscapeFarmingEnums.h:885
tole_Churchyard
Definition: LandscapeFarmingEnums.h:108
tole_UnsprayedFieldMargin
Definition: LandscapeFarmingEnums.h:94
toc_SpringRape
Definition: LandscapeFarmingEnums.h:906
toc_WinterRye
Definition: LandscapeFarmingEnums.h:920
tole_Missing
Definition: LandscapeFarmingEnums.h:181
tole_AmenityGrass
Definition: LandscapeFarmingEnums.h:98
toc_OSpringBarleySilage
Definition: LandscapeFarmingEnums.h:870
Landscape::SupplyVegHeightVector
double SupplyVegHeightVector(unsigned int a_index)
Returns the height of the vegetation using the index to Landscape::m_elems.
Definition: Landscape.h:1522
toc_OSetAside_Flower
Definition: LandscapeFarmingEnums.h:864
tole_CorkOakForest
Definition: LandscapeFarmingEnums.h:140
toc_OOrchOther
Definition: LandscapeFarmingEnums.h:847
toc_OAsparagusEstablishedPlantation
Definition: LandscapeFarmingEnums.h:818
toc_OCloverGrassSilage1
Definition: LandscapeFarmingEnums.h:829
tole_Foobar
Definition: LandscapeFarmingEnums.h:183
toc_GrassGrazed1
Definition: LandscapeFarmingEnums.h:807
tole_FarmBufferZone
Definition: LandscapeFarmingEnums.h:170
toc_YellowLupin
Definition: LandscapeFarmingEnums.h:923
tole_StoneWall
Definition: LandscapeFarmingEnums.h:78
toc_OFarmForest
Definition: LandscapeFarmingEnums.h:830
toc_VegSeeds
Definition: LandscapeFarmingEnums.h:917
toc_OWinterWheat
Definition: LandscapeFarmingEnums.h:882
tole_Hedges
Definition: LandscapeFarmingEnums.h:59
tole_BareRock
Definition: LandscapeFarmingEnums.h:97
toc_ORyegrass
Definition: LandscapeFarmingEnums.h:896
toc_OOrchApple
Definition: LandscapeFarmingEnums.h:844
tole_Carpark
Definition: LandscapeFarmingEnums.h:107
toc_OOrchCherry
Definition: LandscapeFarmingEnums.h:846
tole_IndividualTree
Definition: LandscapeFarmingEnums.h:115
toc_SpringWheat
Definition: LandscapeFarmingEnums.h:908
toc_Maize
Definition: LandscapeFarmingEnums.h:813
Landscape::SupplyJustMownVector
bool SupplyJustMownVector(unsigned int a_index)
Returns the whether the vegetation was mown for the polygon referenced the index to Landscape::m_elem...
Definition: Landscape.h:1875
tole_OrchardBand
Definition: LandscapeFarmingEnums.h:95
toc_CorkOak
Definition: LandscapeFarmingEnums.h:795
toc_CabbageSpring
Definition: LandscapeFarmingEnums.h:788
toc_SpringBarleyPeaCloverGrass
Definition: LandscapeFarmingEnums.h:903
tole_NaturalGrassWet
Definition: LandscapeFarmingEnums.h:109
toc_Beans
Definition: LandscapeFarmingEnums.h:783
toc_OCarrots
Definition: LandscapeFarmingEnums.h:825
tole_PermPastureTussockyWet
Definition: LandscapeFarmingEnums.h:122
tole_MetalledPath
Definition: LandscapeFarmingEnums.h:106
tole_Wasteland
Definition: LandscapeFarmingEnums.h:114
toc_Turnip
Definition: LandscapeFarmingEnums.h:914
tole_OOrchard
Definition: LandscapeFarmingEnums.h:153
tole_WindTurbine
Definition: LandscapeFarmingEnums.h:119
tole_WalnutPlantation
Definition: LandscapeFarmingEnums.h:169
tole_MixedForest
Definition: LandscapeFarmingEnums.h:75
toc_SeedGrass2
Definition: LandscapeFarmingEnums.h:898
tole_OChristmasTrees
Definition: LandscapeFarmingEnums.h:157
toc_ORyeGrass
Definition: LandscapeFarmingEnums.h:859
toc_YoungForestCrop
Definition: LandscapeFarmingEnums.h:924
tole_Saltmarsh
Definition: LandscapeFarmingEnums.h:110
tole_MontadoCorkOak
Definition: LandscapeFarmingEnums.h:136
toc_CloverGrassGrazed3
Definition: LandscapeFarmingEnums.h:794
toc_PermanentGrassTussocky
Definition: LandscapeFarmingEnums.h:888
tole_WaterBufferZone
Definition: LandscapeFarmingEnums.h:130
toc_OWinterRye
Definition: LandscapeFarmingEnums.h:881
toc_OLentils
Definition: LandscapeFarmingEnums.h:838
tole_OEnergyCrop
Definition: LandscapeFarmingEnums.h:159
toc_Beet
Definition: LandscapeFarmingEnums.h:785
tole_SmallRoad
Definition: LandscapeFarmingEnums.h:82
tole_Airport
Definition: LandscapeFarmingEnums.h:131
toc_GrazingPigs
Definition: LandscapeFarmingEnums.h:811
Landscape::SupplyJustSprayedVector
int SupplyJustSprayedVector(unsigned int a_index)
Returns whether the polygon referenced by an index to Landscape::m_elems has been sprayed in the last...
Definition: Landscape.h:1885
tole_BuiltUpWithParkland
Definition: LandscapeFarmingEnums.h:102
tole_ChestnutForest
Definition: LandscapeFarmingEnums.h:143
tole_ChristmasTrees
Definition: LandscapeFarmingEnums.h:156
toc_OCloverGrassGrazed2
Definition: LandscapeFarmingEnums.h:827
toc_PotatoesSeed
Definition: LandscapeFarmingEnums.h:893
toc_OTriticale
Definition: LandscapeFarmingEnums.h:876
toc_Horticulture
Definition: LandscapeFarmingEnums.h:812
tole_PermanentSetaside
Definition: LandscapeFarmingEnums.h:68
toc_FodderLucerne1
Definition: LandscapeFarmingEnums.h:804
toc_WinterRape
Definition: LandscapeFarmingEnums.h:919
toc_OFieldPeasSilage
Definition: LandscapeFarmingEnums.h:832
toc_OSBarleySilage
Definition: LandscapeFarmingEnums.h:860
tole_UrbanNoVeg
Definition: LandscapeFarmingEnums.h:100
toc_OSpringBarleyCloverGrass
Definition: LandscapeFarmingEnums.h:866
toc_Triticale
Definition: LandscapeFarmingEnums.h:912
tole_Chameleon
Definition: LandscapeFarmingEnums.h:182
tole_OAsparagusPerm
Definition: LandscapeFarmingEnums.h:178
toc_PlantNursery
Definition: LandscapeFarmingEnums.h:890
tole_MontadoHolmOak
Definition: LandscapeFarmingEnums.h:137
tole_UnknownGrass
Definition: LandscapeFarmingEnums.h:113
toc_GenericCatchCrop
Definition: LandscapeFarmingEnums.h:806
toc_SpringBarley
Definition: LandscapeFarmingEnums.h:901
toc_Fallow
Definition: LandscapeFarmingEnums.h:797
tole_AlmondPlantation
Definition: LandscapeFarmingEnums.h:168
toc_OWinterWheatUndersown
Definition: LandscapeFarmingEnums.h:883
toc_MaizeSpring
Definition: LandscapeFarmingEnums.h:815
tole_FishFarm
Definition: LandscapeFarmingEnums.h:124
TTypesOfLandscapeElement
TTypesOfLandscapeElement
Values that represent the types of landscape polygon that are represented in ALMaSS.
Definition: LandscapeFarmingEnums.h:57
tole_Railway
Definition: LandscapeFarmingEnums.h:61
tole_Parkland
Definition: LandscapeFarmingEnums.h:99
toc_OMixedVeg
Definition: LandscapeFarmingEnums.h:842
toc_SetAside
Definition: LandscapeFarmingEnums.h:899
toc_OSpringBarleyExtensive
Definition: LandscapeFarmingEnums.h:867
toc_WinterBarley
Definition: LandscapeFarmingEnums.h:918
Landscape::SupplyGrazingPressureVector
int SupplyGrazingPressureVector(unsigned int a_index)
Returns the grazing pressure of the polygon using the polygon index to m_elems.
Definition: Landscape.h:1853
tole_OliveGrove
Definition: LandscapeFarmingEnums.h:149
tole_Coast
Definition: LandscapeFarmingEnums.h:89
toc_GrassGrazedExtensive
Definition: LandscapeFarmingEnums.h:809
toc_DummyCropPestTesting
Definition: LandscapeFarmingEnums.h:796
toc_StarchPotato
Definition: LandscapeFarmingEnums.h:909
tole_Pond
Definition: LandscapeFarmingEnums.h:123
toc_Ryegrass
Definition: LandscapeFarmingEnums.h:895
tole_Building
Definition: LandscapeFarmingEnums.h:84
toc_OStarchPotato
Definition: LandscapeFarmingEnums.h:874
toc_OBarleyPeaCloverGrass
Definition: LandscapeFarmingEnums.h:820
tole_Vineyard
Definition: LandscapeFarmingEnums.h:148
toc_Carrots
Definition: LandscapeFarmingEnums.h:789
tole_ForestAisle
Definition: LandscapeFarmingEnums.h:152
tole_OFarmYoungForest
Definition: LandscapeFarmingEnums.h:167
toc_FieldPeas
Definition: LandscapeFarmingEnums.h:799
toc_MixedVeg
Definition: LandscapeFarmingEnums.h:817
toc_OVegSeeds
Definition: LandscapeFarmingEnums.h:877
toc_FieldPeasSilage
Definition: LandscapeFarmingEnums.h:800
toc_OOrchardCrop
Definition: LandscapeFarmingEnums.h:845
tole_PermPastureLowYield
Definition: LandscapeFarmingEnums.h:66
tole_RiversidePlants
Definition: LandscapeFarmingEnums.h:71
toc_OFieldPeas
Definition: LandscapeFarmingEnums.h:831
tole_HolmOakForest
Definition: LandscapeFarmingEnums.h:141
tole_Saltpans
Definition: LandscapeFarmingEnums.h:133
tole_UrbanPark
Definition: LandscapeFarmingEnums.h:101
tole_ActivePit
Definition: LandscapeFarmingEnums.h:85
tole_NaturalFarmGrass
Definition: LandscapeFarmingEnums.h:171
toc_PotatoesIndustry
Definition: LandscapeFarmingEnums.h:892
tole_OFarmForest
Definition: LandscapeFarmingEnums.h:161
tole_NaturalGrassDry
Definition: LandscapeFarmingEnums.h:70
toc_FodderLucerne2
Definition: LandscapeFarmingEnums.h:805
MapErrorMsg::Warn
void Warn(MapErrorState a_level, std::string a_msg1, std::string a_msg2)
Definition: MapErrorMsg.cpp:69
tole_MownGrassStrip
Definition: LandscapeFarmingEnums.h:96
toc_OSpringRye
Definition: LandscapeFarmingEnums.h:872
tole_RefuseSite
Definition: LandscapeFarmingEnums.h:129
tole_FarmYoungForest
Definition: LandscapeFarmingEnums.h:166
toc_OOats
Definition: LandscapeFarmingEnums.h:843
tole_DeciduousForest
Definition: LandscapeFarmingEnums.h:74
tole_FlowerStrip
Definition: LandscapeFarmingEnums.h:179
tole_GreenFallow
Definition: LandscapeFarmingEnums.h:172
tole_Track
Definition: LandscapeFarmingEnums.h:81
tole_PermPastureTussocky
Definition: LandscapeFarmingEnums.h:67
tole_HeritageSite
Definition: LandscapeFarmingEnums.h:112
tole_MaritimePineForest
Definition: LandscapeFarmingEnums.h:146
tole_FieldBoundary
Definition: LandscapeFarmingEnums.h:62
tole_OBushFruit
Definition: LandscapeFarmingEnums.h:155
toc_PermanentSetAside
Definition: LandscapeFarmingEnums.h:889
toc_CloverGrassGrazed2
Definition: LandscapeFarmingEnums.h:793
tole_Copse
Definition: LandscapeFarmingEnums.h:104
tole_EnergyCrop
Definition: LandscapeFarmingEnums.h:158
toc_OBushFruit
Definition: LandscapeFarmingEnums.h:823
toc_OrchApple
Definition: LandscapeFarmingEnums.h:854
tole_FlowerStripWithRotation
Definition: LandscapeFarmingEnums.h:180
tole_DrainageDitch
Definition: LandscapeFarmingEnums.h:127
toc_SpringBarleySilage
Definition: LandscapeFarmingEnums.h:905
toc_Tulips
Definition: LandscapeFarmingEnums.h:913
tole_MontadoMixed
Definition: LandscapeFarmingEnums.h:138
tole_Scrub
Definition: LandscapeFarmingEnums.h:64
Landscape::SupplyElementTypeFromVector
TTypesOfLandscapeElement SupplyElementTypeFromVector(unsigned int a_index)
Gets the TTypesOfVegetation type of a polygon using the m_elems.
Definition: Landscape.h:1727
tole_RoadsideSlope
Definition: LandscapeFarmingEnums.h:105
toc_MaizeStrigling
Definition: LandscapeFarmingEnums.h:816
toc_GrassGrazedLast
Definition: LandscapeFarmingEnums.h:810
toc_OliveGrove
Definition: LandscapeFarmingEnums.h:837
toc_MaizeSilage
Definition: LandscapeFarmingEnums.h:814
TTypesOfCrops
TTypesOfCrops
Definition: LandscapeFarmingEnums.h:781
tole_Canal
Definition: LandscapeFarmingEnums.h:128
tole_Pipeline
Definition: LandscapeFarmingEnums.h:134
tole_LargeRoad
Definition: LandscapeFarmingEnums.h:83
toc_PotatoesSpring
Definition: LandscapeFarmingEnums.h:894
toc_OWinterBarley
Definition: LandscapeFarmingEnums.h:878
tole_Freshwater
Definition: LandscapeFarmingEnums.h:86
tole_YoungForest
Definition: LandscapeFarmingEnums.h:77
tole_Stream
Definition: LandscapeFarmingEnums.h:111
g_msg
MapErrorMsg * g_msg
Definition: MapErrorMsg.cpp:41
tole_Saltwater
Definition: LandscapeFarmingEnums.h:88
toc_OSpringRape
Definition: LandscapeFarmingEnums.h:871
tole_HedgeBank
Definition: LandscapeFarmingEnums.h:90
tole_River
Definition: LandscapeFarmingEnums.h:87
toc_SpringBarleyCloverGrass
Definition: LandscapeFarmingEnums.h:902
tole_Heath
Definition: LandscapeFarmingEnums.h:92
tole_Orchard
Definition: LandscapeFarmingEnums.h:93
toc_OSugarBeet
Definition: LandscapeFarmingEnums.h:875
toc_Vineyards
Definition: LandscapeFarmingEnums.h:916
tole_ConiferousForest
Definition: LandscapeFarmingEnums.h:76
tole_AsparagusPerm
Definition: LandscapeFarmingEnums.h:175
tole_UrbanVeg
Definition: LandscapeFarmingEnums.h:125
tole_RoadsideVerge
Definition: LandscapeFarmingEnums.h:60
tole_FarmForest
Definition: LandscapeFarmingEnums.h:160
toc_OSpringBarleyPigs
Definition: LandscapeFarmingEnums.h:868
toc_BushFruit
Definition: LandscapeFarmingEnums.h:786
tole_Field
Definition: LandscapeFarmingEnums.h:65
toc_OSpringBarley
Definition: LandscapeFarmingEnums.h:865
toc_OLupines
Definition: LandscapeFarmingEnums.h:839
toc_Sunflower
Definition: LandscapeFarmingEnums.h:911
tole_PitDisused
Definition: LandscapeFarmingEnums.h:72
tole_AgroForestrySystem
Definition: LandscapeFarmingEnums.h:139
toc_OSpringWheat
Definition: LandscapeFarmingEnums.h:873
tole_Vildtager
Definition: LandscapeFarmingEnums.h:121
toc_OrchCherry
Definition: LandscapeFarmingEnums.h:856
toc_OSpringBarleyPeaCloverGrass
Definition: LandscapeFarmingEnums.h:869
toc_OMaize
Definition: LandscapeFarmingEnums.h:840
tole_MushroomPerm
Definition: LandscapeFarmingEnums.h:176
tole_EucalyptusForest
Definition: LandscapeFarmingEnums.h:144
toc_OSeedGrass1
Definition: LandscapeFarmingEnums.h:861
toc_OPermanentGrassGrazed
Definition: LandscapeFarmingEnums.h:849
toc_FodderBeet
Definition: LandscapeFarmingEnums.h:802
tole_BushFruit
Definition: LandscapeFarmingEnums.h:154
tole_OPermPasturePigs
Definition: LandscapeFarmingEnums.h:163
toc_PermanentGrassGrazed
Definition: LandscapeFarmingEnums.h:886
toc_OGrazingPigs
Definition: LandscapeFarmingEnums.h:836
tole_FlowersPerm
Definition: LandscapeFarmingEnums.h:174
toc_Sorghum
Definition: LandscapeFarmingEnums.h:900
toc_SeedGrass1
Definition: LandscapeFarmingEnums.h:897
toc_Beans_Whole
Definition: LandscapeFarmingEnums.h:784
toc_OCloverGrassGrazed3
Definition: LandscapeFarmingEnums.h:828
toc_Unmanaged
Definition: LandscapeFarmingEnums.h:915
toc_OBeans_Whole
Definition: LandscapeFarmingEnums.h:822
tole_WoodlandMargin
Definition: LandscapeFarmingEnums.h:120
tole_PlantNursery
Definition: LandscapeFarmingEnums.h:117
Landscape::SupplyPolyRefIndex
int SupplyPolyRefIndex(int a_x, int a_y)
Get the index to the m_elems array for a polygon at location x,y.
Definition: Landscape.h:2172
tole_Garden
Definition: LandscapeFarmingEnums.h:80
toc_SpringRye
Definition: LandscapeFarmingEnums.h:907
toc_Foobar
Definition: LandscapeFarmingEnums.h:926
tole_RiversideTrees
Definition: LandscapeFarmingEnums.h:73
toc_WinterWheat
Definition: LandscapeFarmingEnums.h:922
Landscape::Warn
void Warn(std::string a_msg1, std::string a_msg2)
Wrapper for the g_msg Warn function.
Definition: Landscape.h:2250
tole_Fence
Definition: LandscapeFarmingEnums.h:79
tole_WoodyEnergyCrop
Definition: LandscapeFarmingEnums.h:116
toc_FieldPeasStrigling
Definition: LandscapeFarmingEnums.h:801
toc_CloverGrassGrazed1
Definition: LandscapeFarmingEnums.h:792
toc_CatchCropPea
Definition: LandscapeFarmingEnums.h:791
Landscape::SupplyCropType
TTypesOfCrops SupplyCropType(int a_x, int a_y)
Returns the crop type of the polygon using the polygon reference number a_polyref or coordinates a_x,...
Definition: Landscape.h:1931
toc_AsparagusEstablishedPlantation
Definition: LandscapeFarmingEnums.h:782
tole_Marsh
Definition: LandscapeFarmingEnums.h:63
tole_RiceField
Definition: LandscapeFarmingEnums.h:150
tole_StonePineForest
Definition: LandscapeFarmingEnums.h:147
toc_OPotatoesSeed
Definition: LandscapeFarmingEnums.h:853
tole_OPermPasture
Definition: LandscapeFarmingEnums.h:164
tole_OPermPastureLowYield
Definition: LandscapeFarmingEnums.h:165
toc_OWinterRape
Definition: LandscapeFarmingEnums.h:880
tole_RiverBed
Definition: LandscapeFarmingEnums.h:126
toc_OBeans
Definition: LandscapeFarmingEnums.h:821
tole_PermPasturePigs
Definition: LandscapeFarmingEnums.h:162
toc_OCabbage
Definition: LandscapeFarmingEnums.h:824
toc_OPermanentGrassLowYield
Definition: LandscapeFarmingEnums.h:850
toc_GrassGrazed2
Definition: LandscapeFarmingEnums.h:808
toc_FarmForest
Definition: LandscapeFarmingEnums.h:798
toc_OFodderBeet
Definition: LandscapeFarmingEnums.h:834
tole_FarmFeedingGround
Definition: LandscapeFarmingEnums.h:173
tole_PermPasture
Definition: LandscapeFarmingEnums.h:69
toc_OrchPear
Definition: LandscapeFarmingEnums.h:858
toc_SugarBeet
Definition: LandscapeFarmingEnums.h:910
tole_BeetleBank
Definition: LandscapeFarmingEnums.h:91