ALMaSS  1.2 (after EcoStack, March 2024)
The Animal, Landscape and Man Simulation System
TAnimal Class Reference

The base class for all ALMaSS animal classes. Includes all the functionality required to be handled by classes derived from Population_Manager, hence a number of empty methods that MUST be reimplemented in descendent classes e.g. CopyMyself() More...

#include <PopulationManager.h>

Inheritance diagram for TAnimal:
TALMaSSObject Beetle_Base Osmia_Base Osmia_Nest Skylark_Base Spider_Base SubPopulation THare TPredator Vole_Base

Public Member Functions

 TAnimal (int x, int y, Landscape *L)
 The TAnimal constructor saving the x,y, location and the landscape pointer. More...
 
 TAnimal (int x, int y)
 The TAnimal constructor saving the x,y used if landscape is already set. More...
 
void SetGuardMapIndex (int a_index_x, int a_index_y)
 Set the guard map index, this is used to avoid two animals operating in the same location when using multithread. More...
 
unsigned SupplyFarmOwnerRef () const
 Get the current location farm ref if any. More...
 
AnimalPosition SupplyPosition () const
 Returns the objects location and habitat type and veg type. More...
 
APoint SupplyPoint () const
 Returns the objects location in ALMaSS coordinates. More...
 
int SupplyPolygonRef () const
 Returns the polygon reference where the object is located. More...
 
TTypesOfLandscapeElement SupplyPolygonType () const
 Returns the polygon type where the object is located. More...
 
int Supply_m_Location_x () const
 Returns the ALMaSS x-coordinate. More...
 
int Supply_m_Location_y () const
 Returns the ALMaSS y-coordinate. More...
 
int SupplyGuardCellX () const
 Returns the x-index to the guard cell. More...
 
int SupplyGuardCellY () const
 Returns the y-index to the guard cell. More...
 
int SupplyAge () const
 Returns the animals age in days. More...
 
void SetAge (int a_age)
 Sets the animals age in days. More...
 
virtual void KillThis ()
 Sets all parameters ready for object destruction. More...
 
virtual void CopyMyself ()
 Used to copy the object details to another in descendent classes. More...
 
void SetX (const int a_x)
 Sets the x-coordinate. More...
 
void SetY (const int a_y)
 Sets the y-coordinate. More...
 
virtual void ReinitialiseObject (int a_x, int a_y, Landscape *a_l_ptr)
 
virtual void ReinitialiseObject (int a_x, int a_y)
 Used to re-use an object - must be implemented in descendent classes. More...
 
virtual int WhatState ()
 Returns the objects current state number. More...
 
virtual void Dying ()
 A wrapped for KillThis - ideally should not be used. More...
 
void CheckManagement ()
 Used to start a check for any management related effects at the objects current location. More...
 
void CheckManagementXY (int a_x, int a_y)
 Used to start a check for any management related effects at x,y. More...
 
virtual bool OnFarmEvent (FarmToDo)
 Must be reimplemented if used in descendent classes. Sets the action on a management event. More...
 
- Public Member Functions inherited from TALMaSSObject
int GetCurrentStateNo () const
 Returns the current state number. More...
 
void SetCurrentStateNo (int a_num)
 Sets the current state number. More...
 
bool GetStepDone () const
 Returns the step done indicator flag. More...
 
void SetStepDone (bool a_bool)
 Sets the step done indicator flag. More...
 
virtual void BeginStep ()
 BeingStep behaviour - must be implemented in descendent classes. More...
 
virtual void Step ()
 Step behaviour - must be implemented in descendent classes. More...
 
virtual void EndStep ()
 EndStep behaviour - must be implemented in descendent classes. More...
 
void ReinitialiseObjectBase ()
 Used to initialise an object. More...
 
 TALMaSSObject ()
 The constructor for TALMaSSObject. More...
 
virtual ~TALMaSSObject ()=default
 The destructor for TALMaSSObject. More...
 

Static Public Member Functions

static void SetSimulationWidth (int a_value)
 Sets the simulation width. More...
 
static void SetSimulationHeight (int a_value)
 Sets the simulation height. More...
 
static void SetDayInYear (int a_value)
 Sets the day in year attribute. More...
 
static void SetOurLandscape (Landscape *a_value)
 Sets the landscape pointer. More...
 
static void SetTempToday (double a_value)
 Sets the temperature today attribute. More...
 
- Static Public Member Functions inherited from TALMaSSObject
static void OnArrayBoundsError ()
 Used for debugging only, tests basic object properties. More...
 

Protected Member Functions

void CorrectWrapRound ()
 Corrects wrap around co-ordinate problems. More...
 

Protected Attributes

int m_Location_x
 The objects ALMaSS x coordinate. More...
 
int m_Location_y
 The objects ALMaSS y coordinate. More...
 
int m_guard_cell_x
 The index x to the guard cell. More...
 
int m_guard_cell_y
 The index y to the guard cell. More...
 
int m_AgeDays {0}
 To hold the age in days. More...
 
PesticideToxicity m_my_pesticide
 
- Protected Attributes inherited from TALMaSSObject
int m_CurrentStateNo
 The basic state number for all objects - '-1' indicates death. More...
 
bool m_StepDone
 Indicates whether the iterative step code is done for this timestep. More...
 

Static Protected Attributes

static Landscapem_OurLandscape = nullptr
 A pointer to the landscape object shared with all TAnimal objects. More...
 
static int m_SimulationWidth = 0
 A static member for the simulation width because it is often used by descendent classes. More...
 
static int m_SimulationHeight = 0
 A static member for the simulation height because it is often used by descendent classes. More...
 
static double m_TemperatureToday = 0.0
 A holder for the temperature today shared with all TAnimal objects. More...
 
static int m_DayInYear = 0
 A holder for the day in year shared with all TAnimal objects. More...
 

Detailed Description

The base class for all ALMaSS animal classes. Includes all the functionality required to be handled by classes derived from Population_Manager, hence a number of empty methods that MUST be reimplemented in descendent classes e.g. CopyMyself()

Constructor & Destructor Documentation

◆ TAnimal() [1/2]

◆ TAnimal() [2/2]

Member Function Documentation

◆ CheckManagement()

void TAnimal::CheckManagement ( void  )

◆ CheckManagementXY()

void TAnimal::CheckManagementXY ( int  a_x,
int  a_y 
)

Used to start a check for any management related effects at x,y.

Checks to see if there has been a management event at the x,y location. If so calls an event handler to handle the management event.

1603  {
1604  FarmToDo event;
1605  int i = 0;
1606  while ((event = static_cast<FarmToDo>(m_OurLandscape->SupplyLastTreatment(a_x, a_y, &i))) != sleep_all_day)
1607  {
1608  OnFarmEvent(event);
1609  }
1610 }

References m_OurLandscape, OnFarmEvent(), sleep_all_day, and Landscape::SupplyLastTreatment().

◆ CopyMyself()

virtual void TAnimal::CopyMyself ( )
inlinevirtual

Used to copy the object details to another in descendent classes.

273 { }

◆ CorrectWrapRound()

void TAnimal::CorrectWrapRound ( )
inlineprotected

Corrects wrap around co-ordinate problems.

Does the standard wrap around testing of positions. Uses the addition and modulus operators to avoid testing for negative or > landscape extent. This would be an alternative that should be tested for speed at some point. However, the subtraction method will fail if x is >=2*width or y >= 2*height

References m_Location_x, m_Location_y, m_OurLandscape, Landscape::SupplySimAreaHeight(), and Landscape::SupplySimAreaWidth().

◆ Dying()

virtual void TAnimal::Dying ( )
inlinevirtual

A wrapped for KillThis - ideally should not be used.

305 { KillThis(); }

References KillThis().

Referenced by THare_Population_Manager::Catastrophe(), and THare_Population_Manager::ExtraPopMort().

◆ KillThis()

◆ OnFarmEvent()

virtual bool TAnimal::OnFarmEvent ( FarmToDo  )
inlinevirtual

◆ ReinitialiseObject() [1/2]

virtual void TAnimal::ReinitialiseObject ( int  a_x,
int  a_y 
)
inlinevirtual

Used to re-use an object - must be implemented in descendent classes.

292  {
293  m_Location_x = a_x;
294  m_Location_y = a_y;
295  m_AgeDays = 0;
297  }

References m_AgeDays, m_Location_x, m_Location_y, and TALMaSSObject::ReinitialiseObjectBase().

◆ ReinitialiseObject() [2/2]

virtual void TAnimal::ReinitialiseObject ( int  a_x,
int  a_y,
Landscape a_l_ptr 
)
inlinevirtual

◆ SetAge()

void TAnimal::SetAge ( int  a_age)
inline

Sets the animals age in days.

259 { m_AgeDays = a_age; }

References m_AgeDays.

◆ SetDayInYear()

static void TAnimal::SetDayInYear ( int  a_value)
inlinestatic

Sets the day in year attribute.

329 { m_DayInYear = a_value; }

References m_DayInYear.

Referenced by Population_Manager::Run().

◆ SetGuardMapIndex()

void TAnimal::SetGuardMapIndex ( int  a_index_x,
int  a_index_y 
)
inline

Set the guard map index, this is used to avoid two animals operating in the same location when using multithread.

207  {
208  m_guard_cell_x = a_index_x;
209  m_guard_cell_y = a_index_y;
210  }

References m_guard_cell_x, and m_guard_cell_y.

◆ SetOurLandscape()

static void TAnimal::SetOurLandscape ( Landscape a_value)
inlinestatic

Sets the landscape pointer.

333 { m_OurLandscape = a_value; }

References m_OurLandscape.

Referenced by Population_Manager_Base::Population_Manager_Base().

◆ SetSimulationHeight()

static void TAnimal::SetSimulationHeight ( int  a_value)
inlinestatic

Sets the simulation height.

325 { m_SimulationHeight = a_value; }

References m_SimulationHeight.

Referenced by Population_Manager_Base::Population_Manager_Base().

◆ SetSimulationWidth()

static void TAnimal::SetSimulationWidth ( int  a_value)
inlinestatic

Sets the simulation width.

321 { m_SimulationWidth = a_value; }

References m_SimulationWidth.

Referenced by Population_Manager_Base::Population_Manager_Base().

◆ SetTempToday()

static void TAnimal::SetTempToday ( double  a_value)
inlinestatic

Sets the temperature today attribute.

337 { m_TemperatureToday = a_value; }

References m_TemperatureToday.

Referenced by Population_Manager::Run().

◆ SetX()

void TAnimal::SetX ( const int  a_x)
inline

Sets the x-coordinate.

277 { m_Location_x = a_x; }

References m_Location_x.

◆ SetY()

void TAnimal::SetY ( const int  a_y)
inline

Sets the y-coordinate.

281 { m_Location_y = a_y; }

References m_Location_y.

◆ Supply_m_Location_x()

◆ Supply_m_Location_y()

◆ SupplyAge()

int TAnimal::SupplyAge ( ) const
inline

Returns the animals age in days.

255 { return m_AgeDays; }

References m_AgeDays.

◆ SupplyFarmOwnerRef()

unsigned TAnimal::SupplyFarmOwnerRef ( ) const

Get the current location farm ref if any.

Provides the farmer reference for the location of a TAnimal

References m_Location_x, m_Location_y, m_OurLandscape, and Landscape::SupplyFarmOwner().

Referenced by Beetle_Population_Manager::Probe(), and Skylark_Population_Manager::ProbePOM().

◆ SupplyGuardCellX()

int TAnimal::SupplyGuardCellX ( ) const
inline

Returns the x-index to the guard cell.

247 { return m_guard_cell_x; }

References m_guard_cell_x.

◆ SupplyGuardCellY()

int TAnimal::SupplyGuardCellY ( ) const
inline

Returns the y-index to the guard cell.

251 { return m_guard_cell_y; }

References m_guard_cell_y.

◆ SupplyPoint()

APoint TAnimal::SupplyPoint ( ) const
inline

Returns the objects location in ALMaSS coordinates.

222  {
224  return p;
225  }

References m_Location_x, and m_Location_y.

Referenced by AOR_Probe::DoProbeInHaitatType().

◆ SupplyPolygonRef()

int TAnimal::SupplyPolygonRef ( ) const
inline

Returns the polygon reference where the object is located.

References m_Location_x, m_Location_y, m_OurLandscape, and Landscape::SupplyPolyRef().

◆ SupplyPolygonType()

TTypesOfLandscapeElement TAnimal::SupplyPolygonType ( ) const
inline

Returns the polygon type where the object is located.

233  {
235  }

References Landscape::GetOwner_tole(), m_Location_x, m_Location_y, and m_OurLandscape.

◆ SupplyPosition()

AnimalPosition TAnimal::SupplyPosition ( ) const

Returns the objects location and habitat type and veg type.

Provides the location of an animal in terms of x,y,elementtype and vegetation type

1533  {
1534  AnimalPosition AnP;
1535  AnP.m_x = m_Location_x;
1536  AnP.m_y = m_Location_y;
1539  return AnP;
1540 }

References AnimalPosition::m_EleType, m_Location_x, m_Location_y, m_OurLandscape, AnimalPosition::m_VegType, AnimalPosition::m_x, AnimalPosition::m_y, Landscape::SupplyElementType(), and Landscape::SupplyVegType().

Referenced by Population_Manager::LOG(), Beetle_Population_Manager::Probe(), and Vole_Male::st_Eval_n_Explore().

◆ WhatState()

virtual int TAnimal::WhatState ( )
inlinevirtual

Returns the objects current state number.

Reimplemented in Skylark_Base, Beetle_Base, Vole_Base, and Spider_Base.

301 { return 0; }

Referenced by CompareState::operator()(), and Population_Manager::SortState().

Member Data Documentation

◆ m_AgeDays

◆ m_DayInYear

◆ m_guard_cell_x

◆ m_guard_cell_y

◆ m_Location_x

int TAnimal::m_Location_x
protected

The objects ALMaSS x coordinate.

Referenced by Spider_Juvenile::AssessFood(), Spider_Juvenile::AssessHabitat(), Spider_Juvenile::BalloonTo(), Beetle_Base::Beetle_1M_Move(), Weasel::BeginStep(), Owl::BeginStep(), Spider_Juvenile::BeginStep(), Spider_Female::BeginStep(), Hare_Infant::BeginStep(), Hare_Young::BeginStep(), Hare_Juvenile::BeginStep(), Hare_Male::BeginStep(), Hare_Female::BeginStep(), Erigone_Juvenile::CalcDrought(), Oedothorax_Juvenile::CalcDrought(), Oedothorax_Female::CalcDrought(), Erigone_Female::CalcDrought(), Vole_Base::CalculateCarryingCapacity(), Aphid::calPopuDensity(), SubPopulation::calPopuDensity(), SubPopulation::calSuitability(), Aphid::calSuitabilityShared(), Vole_Male::CanFeed(), Ladybird_Base::Cannibalise(), CheckManagement(), PoecilusCupreus_Pupae::CheckManagementBeetle(), Beetle_Base::CheckManagementBeetle(), Oedothorax_Juvenile::CheckToleTovIndex(), Spider_Juvenile::CheckToleTovIndex(), Vole_Base::CheckTraps(), Beetle_Base::CopyMyself(), Vole_Base::CopyMyself(), Skylark_Adult::CopyMyself(), CorrectWrapRound(), Spider_Female::CreateEggSac(), Beetle_Adult::DDepMort(), Vole_JuvenileMale::Dispersal(), Vole_Male::Dispersal(), Vole_JuvenileFemale::Dispersal(), Aphid::doReproduction(), Spider_Egg::EndStep(), Spider_Juvenile::EndStep(), Spider_Female::EndStep(), Beetle_Larvae::EndStep(), Beetle_Pupae::EndStep(), Beetle_Adult::EndStep(), Vole_Base::Escape(), Skylark_Male::EstablishingATerritory(), Skylark_Female::EstablishTerritory(), Osmia_Female::FindNestLocation(), Ladybird_Adult::FindTarget(), THare::Forage(), THare::ForageP(), Vole_JuvenileMale::FreeLocation(), Vole_JuvenileFemale::FreeLocation(), Beetle_Larvae::GetDensityDependentMortality(), THare::GetPegDirection(), THare::GetPegDistance(), Spider_Egg::Hatch(), Vole_Base::Init(), Beetle_Adult::Init(), Skylark_Base::InSquare(), Beetle_Base::KillAndRemoveFromMap(), Ladybird_Adult::LongRangeFind(), Spider_Juvenile::Maturation(), THare::MovePeg(), Vole_Base::MoveTo(), Beetle_Adult::MoveToNoList(), Beetle_Adult::MoveToWithPlacesList(), Skylark_Clutch::OnFarmEvent(), Skylark_Nestling::OnFarmEvent(), Skylark_Male::OnNestLocation(), TPredator::OverlapMyTerritory(), Hare_Female::PlaceYoung(), Spider_Female::ProduceEggSac(), Hare_Infant::ReInit(), Hare_Young::ReInit(), Hare_Juvenile::ReInit(), Hare_Male::ReInit(), Hare_Female::ReInit(), ReinitialiseObject(), Vole_Base::RodenticideIngestion(), THare::Run(), THare::Running(), Vole_JuvenileMale::SetLocation(), Vole_JuvenileFemale::SetLocation(), SetX(), Ladybird_Adult::ShouldStartAggregating(), Beetle_Adult::St_Aggregate(), Skylark_Female::st_Arriving(), Spider_Juvenile::st_Balloon(), Spider_Female::st_Balloon(), Vole_JuvenileMale::st_BecomeSubAdult(), Vole_JuvenileFemale::st_BecomeSubAdult(), Ladybird_Larvae1::St_Develop(), Spider_Egg::st_Die(), TPredator::st_Dispersal(), Osmia_Female::st_Dispersal(), Hare_Juvenile::st_Dispersal(), Hare_Female::st_Dispersal(), Ladybird_Pupae::St_Emerge(), Osmia_Pupa::st_Emerge(), Osmia_InCocoon::st_Emerge(), Beetle_Pupae::St_Emerge(), Vole_JuvenileMale::st_Eval_n_Explore(), Vole_Male::st_Eval_n_Explore(), Vole_JuvenileFemale::st_Evaluate_n_Explore(), Vole_Female::st_Evaluate_n_Explore(), Skylark_Female::st_Finding_Territory(), Skylark_Male::st_FindingTerritory(), Skylark_Female::st_Floating(), Skylark_Male::st_Floating(), Skylark_Female::st_Flocking(), Skylark_Male::st_Flocking(), Ladybird_Adult::St_Forage(), Hare_Male::st_Foraging(), Hare_Female::st_Foraging(), Spider_Egg::st_Hatch(), Osmia_Egg::st_Hatch(), Beetle_Egg_List::St_Hatch(), Skylark_Clutch::st_Hatching(), Ladybird_Adult::St_Hibernate(), Vole_Male::st_Infanticide(), Vole_Female::st_Lactating(), Skylark_Female::st_Laying(), Skylark_Female::st_MakingNest(), Vole_Female::st_Mating(), Skylark_Nestling::st_Maturing(), Skylark_PreFledgeling::st_Maturing(), TPredator::st_Movement(), Beetle_Larvae::St_NextStage(), Hare_Infant::st_NextStage(), Hare_Young::st_NextStage(), Hare_Juvenile::st_NextStage(), Osmia_Larva::st_Prepupate(), Osmia_Prepupa::st_Pupate(), Vole_Female::st_Special_Explore(), Spider_Juvenile::st_Walk(), Spider_Female::st_Walk(), Beetle_Base::StDie(), Spider_Juvenile::Step(), Spider_Female::Step(), Beetle_Larvae::Step(), Beetle_Pupae::Step(), Skylark_Female::Step(), Beetle_Adult::Step(), Skylark_Male::Step(), SubPopulation::SubPopulation(), Supply_m_Location_x(), Vole_Base::SupplyElemType(), SupplyFarmOwnerRef(), SupplyPoint(), SupplyPolygonRef(), SupplyPolygonType(), SupplyPosition(), Vole_Base::SupplyX(), TAnimal(), TPredator::TPredator(), Ladybird_Adult::TryToReproduce(), Beetle_Adult::TryToReproduce(), and Spider_Juvenile::WalkTo().

◆ m_Location_y

int TAnimal::m_Location_y
protected

The objects ALMaSS y coordinate.

Referenced by Spider_Juvenile::AssessFood(), Spider_Juvenile::AssessHabitat(), Spider_Juvenile::BalloonTo(), Beetle_Base::Beetle_1M_Move(), Weasel::BeginStep(), Owl::BeginStep(), Spider_Juvenile::BeginStep(), Spider_Female::BeginStep(), Hare_Infant::BeginStep(), Hare_Young::BeginStep(), Hare_Juvenile::BeginStep(), Hare_Male::BeginStep(), Hare_Female::BeginStep(), Erigone_Juvenile::CalcDrought(), Oedothorax_Juvenile::CalcDrought(), Oedothorax_Female::CalcDrought(), Erigone_Female::CalcDrought(), Vole_Base::CalculateCarryingCapacity(), Aphid::calPopuDensity(), SubPopulation::calPopuDensity(), SubPopulation::calSuitability(), Aphid::calSuitabilityShared(), Vole_Male::CanFeed(), Ladybird_Base::Cannibalise(), CheckManagement(), PoecilusCupreus_Pupae::CheckManagementBeetle(), Beetle_Base::CheckManagementBeetle(), Oedothorax_Juvenile::CheckToleTovIndex(), Spider_Juvenile::CheckToleTovIndex(), Vole_Base::CheckTraps(), Beetle_Base::CopyMyself(), Vole_Base::CopyMyself(), Skylark_Adult::CopyMyself(), CorrectWrapRound(), Spider_Female::CreateEggSac(), Beetle_Adult::DDepMort(), Vole_JuvenileMale::Dispersal(), Vole_Male::Dispersal(), Vole_JuvenileFemale::Dispersal(), Aphid::doReproduction(), Spider_Egg::EndStep(), Spider_Juvenile::EndStep(), Spider_Female::EndStep(), Beetle_Larvae::EndStep(), Beetle_Pupae::EndStep(), Beetle_Adult::EndStep(), Vole_Base::Escape(), Skylark_Male::EstablishingATerritory(), Skylark_Female::EstablishTerritory(), Osmia_Female::FindNestLocation(), Ladybird_Adult::FindTarget(), THare::Forage(), THare::ForageP(), Vole_JuvenileMale::FreeLocation(), Vole_JuvenileFemale::FreeLocation(), Beetle_Larvae::GetDensityDependentMortality(), THare::GetPegDirection(), THare::GetPegDistance(), Spider_Egg::Hatch(), Vole_Base::Init(), Beetle_Adult::Init(), Skylark_Base::InSquare(), Beetle_Base::KillAndRemoveFromMap(), Ladybird_Adult::LongRangeFind(), Spider_Juvenile::Maturation(), THare::MovePeg(), Vole_Base::MoveTo(), Beetle_Adult::MoveToNoList(), Beetle_Adult::MoveToWithPlacesList(), Skylark_Clutch::OnFarmEvent(), Skylark_Nestling::OnFarmEvent(), Skylark_Male::OnNestLocation(), TPredator::OverlapMyTerritory(), Hare_Female::PlaceYoung(), Spider_Female::ProduceEggSac(), Hare_Infant::ReInit(), Hare_Young::ReInit(), Hare_Juvenile::ReInit(), Hare_Male::ReInit(), Hare_Female::ReInit(), ReinitialiseObject(), Vole_Base::RodenticideIngestion(), THare::Run(), THare::Running(), Vole_JuvenileMale::SetLocation(), Vole_JuvenileFemale::SetLocation(), SetY(), Ladybird_Adult::ShouldStartAggregating(), Beetle_Adult::St_Aggregate(), Skylark_Female::st_Arriving(), Spider_Juvenile::st_Balloon(), Spider_Female::st_Balloon(), Vole_JuvenileMale::st_BecomeSubAdult(), Vole_JuvenileFemale::st_BecomeSubAdult(), Ladybird_Larvae1::St_Develop(), Spider_Egg::st_Die(), TPredator::st_Dispersal(), Osmia_Female::st_Dispersal(), Hare_Juvenile::st_Dispersal(), Hare_Female::st_Dispersal(), Ladybird_Pupae::St_Emerge(), Osmia_Pupa::st_Emerge(), Osmia_InCocoon::st_Emerge(), Beetle_Pupae::St_Emerge(), Vole_JuvenileMale::st_Eval_n_Explore(), Vole_Male::st_Eval_n_Explore(), Vole_JuvenileFemale::st_Evaluate_n_Explore(), Vole_Female::st_Evaluate_n_Explore(), Skylark_Female::st_Finding_Territory(), Skylark_Male::st_FindingTerritory(), Skylark_Female::st_Floating(), Skylark_Male::st_Floating(), Skylark_Female::st_Flocking(), Skylark_Male::st_Flocking(), Ladybird_Adult::St_Forage(), Hare_Male::st_Foraging(), Hare_Female::st_Foraging(), Spider_Egg::st_Hatch(), Osmia_Egg::st_Hatch(), Beetle_Egg_List::St_Hatch(), Skylark_Clutch::st_Hatching(), Ladybird_Adult::St_Hibernate(), Vole_Male::st_Infanticide(), Vole_Female::st_Lactating(), Skylark_Female::st_Laying(), Skylark_Female::st_MakingNest(), Vole_Female::st_Mating(), Skylark_Nestling::st_Maturing(), Skylark_PreFledgeling::st_Maturing(), TPredator::st_Movement(), Beetle_Larvae::St_NextStage(), Hare_Infant::st_NextStage(), Hare_Young::st_NextStage(), Hare_Juvenile::st_NextStage(), Osmia_Larva::st_Prepupate(), Osmia_Prepupa::st_Pupate(), Vole_Female::st_Special_Explore(), Spider_Juvenile::st_Walk(), Spider_Female::st_Walk(), Beetle_Base::StDie(), Spider_Juvenile::Step(), Spider_Female::Step(), Beetle_Larvae::Step(), Beetle_Pupae::Step(), Skylark_Female::Step(), Beetle_Adult::Step(), Skylark_Male::Step(), SubPopulation::SubPopulation(), Supply_m_Location_y(), Vole_Base::SupplyElemType(), SupplyFarmOwnerRef(), SupplyPoint(), SupplyPolygonRef(), SupplyPolygonType(), SupplyPosition(), Vole_Base::SupplyY(), TAnimal(), TPredator::TPredator(), Ladybird_Adult::TryToReproduce(), Beetle_Adult::TryToReproduce(), and Spider_Juvenile::WalkTo().

◆ m_my_pesticide

◆ m_OurLandscape

Landscape * TAnimal::m_OurLandscape = nullptr
staticprotected

A pointer to the landscape object shared with all TAnimal objects.

Referenced by Hare_Female::AllYoungKilled(), Hare_Female::AllYoungMatured(), Spider_Juvenile::AssessFood(), Spider_Juvenile::AssessHabitat(), Spider_Juvenile::BalloonTo(), Beetle_Base::Beetle_1M_Move(), Weasel::BeginStep(), Owl::BeginStep(), Beetle_Larvae::BeginStep(), Beetle_Pupae::BeginStep(), Hare_Male::BeginStep(), Hare_Female::BeginStep(), Erigone_Juvenile::CalcDrought(), Oedothorax_Juvenile::CalcDrought(), Oedothorax_Female::CalcDrought(), Erigone_Female::CalcDrought(), Vole_Base::CalculateCarryingCapacity(), Aphid::calPopuDensity(), SubPopulation::calPopuDensity(), SubPopulation::calSuitability(), Aphid::calSuitabilityShared(), Skylark_Female::CheckForFields(), CheckManagement(), PoecilusCupreus_Pupae::CheckManagementBeetle(), Beetle_Base::CheckManagementBeetle(), CheckManagementXY(), Oedothorax_Juvenile::CheckToleTovIndex(), Spider_Juvenile::CheckToleTovIndex(), Vole_Base::CheckTraps(), Beetle_Base::CopyMyself(), Vole_Base::CopyMyself(), Skylark_Adult::CopyMyself(), CorrectWrapRound(), Spider_Female::CreateEggSac(), Beetle_Egg_List::DailyMortality(), Aphid::doReproduction(), Hare_Female::dumpEnergy(), Spider_Base::EggPosValid(), Spider_Egg::EndStep(), Spider_Juvenile::EndStep(), Vole_JuvenileMale::EndStep(), Spider_Female::EndStep(), Vole_Male::EndStep(), Vole_JuvenileFemale::EndStep(), Beetle_Larvae::EndStep(), Beetle_Pupae::EndStep(), Beetle_Adult::EndStep(), THare::EnergyBalance(), Skylark_Female::FeedYoung(), Osmia_Female::FindNestLocation(), Osmia_Female::Forage(), THare::ForageSquare(), THare::ForageSquareP(), Ladybird_Adult::GetExtremeTempMin(), Skylark_Male::GetFood(), Osmia_Female::GetPollenInPolygon(), Skylark_Adult::GetVegHindrance(), Skylark_Adult::GetWeatherHindrance(), Hare_Female::GiveBirth(), Spider_Egg::Hatch(), Beetle_Adult::IncNegDegrees(), Vole_Base::Init(), Beetle_Egg_List::InternalPesticideHandlingAndResponse(), Beetle_Larvae::InternalPesticideHandlingAndResponse(), Beetle_Pupae::InternalPesticideHandlingAndResponse(), Beetle_Adult::InternalPesticideHandlingAndResponse(), Hare_Male::InternalPesticideHandlingAndResponse(), Hare_Female::InternalPesticideHandlingAndResponse(), Ladybird_Adult::IsAggregationSite(), Ladybird_Larvae1::IsLocationAllowed(), Ladybird_Adult::IsProbhibited(), Beetle_Adult::IsSuitableForHibernation(), Osmia_Female::LayEgg(), Spider_Juvenile::Maturation(), Vole_Base::MoveQuality(), PoecilusCupreus_Adult::MoveTo_Quality_Assess(), THare::ON_MumDead(), Hare_Female::ON_RemoveYoung(), Hare_Female::ON_YoungKilled(), Skylark_Nestling::OnDeserted(), Vole_JuvenileMale::OnFarmEvent(), Vole_JuvenileFemale::OnFarmEvent(), Skylark_Clutch::OnFarmEvent(), Skylark_Nestling::OnFarmEvent(), Skylark_PreFledgeling::OnFarmEvent(), Skylark_Female::OnFarmEvent(), Skylark_Male::OnFarmEvent(), Hare_Infant::OnFarmEvent(), Hare_Young::OnFarmEvent(), Skylark_Female::OnMateDying(), Skylark_Male::OnMateDying(), Skylark_Female::OnMateHomeless(), Skylark_Male::OnMateLeaving(), Skylark_Nestling::OnYouHaveBeenEaten(), Hare_Female::PlaceYoung(), Hare_Infant::ReInit(), Hare_Young::ReInit(), Hare_Juvenile::ReInit(), Hare_Male::ReInit(), Hare_Female::ReInit(), ReinitialiseObject(), Beetle_Adult::Reproduce(), Vole_Base::RodenticideIngestion(), THare::Run(), Vole_Base::Set_ElemBorn(), Vole_Base::Set_PolyRefBorn(), Vole_Base::Set_VegBorn(), SetOurLandscape(), Hare_Juvenile::ShouldMature(), Ladybird_Adult::ShouldStartAggregating(), Beetle_Adult::St_Aggregate(), Skylark_Female::st_Arriving(), Skylark_Male::st_AttractingAMate(), Vole_JuvenileMale::st_BecomeSubAdult(), Vole_JuvenileFemale::st_BecomeSubAdult(), Skylark_Female::st_BuildingUpResources(), Skylark_Male::st_CaringForYoung(), Ladybird_Pupae::St_Develop(), Osmia_Larva::st_Develop(), Osmia_Pupa::st_Develop(), Beetle_Larvae::St_Develop(), Beetle_Pupae::St_Develop(), Skylark_Clutch::st_Developing(), Skylark_Nestling::st_Developing(), Osmia_Female::st_Dispersal(), Hare_Juvenile::st_Dispersal(), Skylark_Female::st_Dying(), Ladybird_Pupae::St_Emerge(), Osmia_Pupa::st_Emerge(), Osmia_InCocoon::st_Emerge(), Beetle_Pupae::St_Emerge(), Skylark_Female::st_Emigrating(), Skylark_Male::st_Emigrating(), Skylark_Female::st_Floating(), Skylark_Male::st_Floating(), Skylark_Female::st_Flocking(), Skylark_Male::st_Flocking(), Beetle_Adult::St_Forage(), Vole_Female::st_GiveBirth(), Skylark_Female::st_GivingUpTerritory(), Osmia_Egg::st_Hatch(), Beetle_Egg_List::St_Hatch(), Skylark_Clutch::st_Hatching(), Ladybird_Adult::St_Hibernate(), Skylark_Female::st_Incubating(), Vole_Female::st_Lactating(), Skylark_Female::st_Laying(), Skylark_Female::st_MakingNest(), Vole_Male::st_Maturation(), Skylark_Nestling::st_Maturing(), Skylark_PreFledgeling::st_Maturing(), Beetle_Larvae::St_NextStage(), Hare_Infant::st_NextStage(), Hare_Young::st_NextStage(), Hare_Juvenile::st_NextStage(), Skylark_Female::st_PreparingForBreeding(), Osmia_Larva::st_Prepupate(), Osmia_Prepupa::st_Pupate(), Hare_Female::st_ReproBehaviour(), Osmia_Female::st_ReproductiveBehaviour(), Skylark_Female::st_StartingNewBrood(), Skylark_Female::st_StoppingBreeding(), Weasel::Step(), Owl::Step(), Spider_Egg::Step(), Beetle_Egg_List::Step(), Osmia_Egg::Step(), Spider_Juvenile::Step(), Osmia_Larva::Step(), Osmia_Prepupa::Step(), Vole_JuvenileMale::Step(), Osmia_Pupa::Step(), Spider_Female::Step(), Osmia_InCocoon::Step(), Vole_Male::Step(), Vole_JuvenileFemale::Step(), Beetle_Larvae::Step(), Vole_Female::Step(), Osmia_Female::Step(), Beetle_Pupae::Step(), Skylark_Female::Step(), Beetle_Adult::Step(), Hare_Infant::Step(), Hare_Young::Step(), Hare_Juvenile::Step(), Hare_Male::Step(), Hare_Female::Step(), Vole_Base::SupplyElemType(), SupplyFarmOwnerRef(), SupplyPolygonRef(), SupplyPolygonType(), SupplyPosition(), TAnimal(), THare::TimeBudget(), TPredator::TPredator(), Ladybird_Adult::TryToReproduce(), Beetle_Adult::TryToReproduce(), Hare_Female::UpdateOestrous(), and Spider_Juvenile::WalkTo().

◆ m_SimulationHeight

int TAnimal::m_SimulationHeight = 0
staticprotected

A static member for the simulation height because it is often used by descendent classes.

Referenced by Ladybird_Adult::FindTarget(), Ladybird_Adult::LongRangeFind(), and SetSimulationHeight().

◆ m_SimulationWidth

int TAnimal::m_SimulationWidth = 0
staticprotected

A static member for the simulation width because it is often used by descendent classes.

Referenced by Ladybird_Adult::FindTarget(), Ladybird_Adult::LongRangeFind(), and SetSimulationWidth().

◆ m_TemperatureToday


The documentation for this class was generated from the following files:
TAnimal::m_my_pesticide
PesticideToxicity m_my_pesticide
Definition: PopulationManager.h:379
TAnimal::KillThis
virtual void KillThis()
Sets all parameters ready for object destruction.
Definition: PopulationManager.h:263
Landscape::SupplyVegType
TTypesOfVegetation SupplyVegType(int a_x, int a_y)
Returns the vegetation type of the polygon using the polygon reference number a_polyref or coordinate...
Definition: Landscape.h:1925
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
cfg_MapGuardCellSize
CfgInt cfg_MapGuardCellSize("MAP_GUARD_CELL_SIZE", CFG_CUSTOM, 20)
The size to create the map guard.
TAnimal::m_guard_cell_y
int m_guard_cell_y
The index y to the guard cell.
Definition: PopulationManager.h:374
FarmToDo
FarmToDo
Definition: Treatment.h:31
TAnimal::m_DayInYear
static int m_DayInYear
A holder for the day in year shared with all TAnimal objects.
Definition: PopulationManager.h:358
AnimalPosition::m_x
unsigned m_x
Definition: PopulationManager.h:173
CfgBool::value
bool value() const
Definition: Configurator.h:164
Landscape::SupplySimAreaHeight
int SupplySimAreaHeight(void)
Gets the simulation landscape height.
Definition: Landscape.h:2302
Landscape::SupplyFarmOwner
int SupplyFarmOwner(int a_x, int a_y)
Returns the farm owner pointer for the polygon referenced by a_polyref or a_x, a_y.
Definition: Landscape.h:1774
Landscape::SupplySimAreaWidth
int SupplySimAreaWidth(void)
Gets the simulation landscape width.
Definition: Landscape.h:2297
TAnimal::m_Location_y
int m_Location_y
The objects ALMaSS y coordinate.
Definition: PopulationManager.h:366
APoint
A simple class defining an x,y coordinate set.
Definition: ALMaSS_Setup.h:52
TAnimal::m_OurLandscape
static Landscape * m_OurLandscape
A pointer to the landscape object shared with all TAnimal objects.
Definition: PopulationManager.h:342
TAnimal::OnFarmEvent
virtual bool OnFarmEvent(FarmToDo)
Must be reimplemented if used in descendent classes. Sets the action on a management event.
Definition: PopulationManager.h:317
TAnimal::m_SimulationWidth
static int m_SimulationWidth
A static member for the simulation width because it is often used by descendent classes.
Definition: PopulationManager.h:346
PesticideToxicity::setHostAnimalPointer
void setHostAnimalPointer(TAnimal *animal)
The function to set the host animal pointer.
Definition: PesticideToxicity.h:106
AnimalPosition
A class defining an animals position.
Definition: PopulationManager.h:169
TAnimal::m_AgeDays
int m_AgeDays
To hold the age in days.
Definition: PopulationManager.h:378
TALMaSSObject::m_StepDone
bool m_StepDone
Indicates whether the iterative step code is done for this timestep.
Definition: PopulationManager.h:133
CfgInt::value
int value() const
Definition: Configurator.h:116
AnimalPosition::m_EleType
TTypesOfLandscapeElement m_EleType
Definition: PopulationManager.h:175
AnimalPosition::m_y
unsigned m_y
Definition: PopulationManager.h:174
Landscape::GetOwner_tole
TTypesOfLandscapeElement GetOwner_tole(int a_x, int a_y)
Returns the landscape type of the polygon owner (used in cases relating to e.g. unsprayed field margi...
Definition: Landscape.h:1742
TAnimal::m_SimulationHeight
static int m_SimulationHeight
A static member for the simulation height because it is often used by descendent classes.
Definition: PopulationManager.h:350
PesticideToxicity::reset
virtual void reset(void)
Reset PesticideToxicity class, this should be called when the host animal is dead.
Definition: PesticideToxicity.cpp:195
l_pest_enable_pesticide_engine
CfgBool l_pest_enable_pesticide_engine
Used to turn on or off the PPP functionality of ALMaSS.
TAnimal::m_TemperatureToday
static double m_TemperatureToday
A holder for the temperature today shared with all TAnimal objects.
Definition: PopulationManager.h:354
TAnimal::m_guard_cell_x
int m_guard_cell_x
The index x to the guard cell.
Definition: PopulationManager.h:370
TALMaSSObject::m_CurrentStateNo
int m_CurrentStateNo
The basic state number for all objects - '-1' indicates death.
Definition: PopulationManager.h:131
Landscape::SupplyLastTreatment
int SupplyLastTreatment(int a_polyref, int *a_index)
Returns the last treatment recorded for the polygon.
Definition: Landscape.h:1941
TAnimal::m_Location_x
int m_Location_x
The objects ALMaSS x coordinate.
Definition: PopulationManager.h:362
Landscape::SupplyPolyRef
int SupplyPolyRef(int a_x, int a_y)
Get the in map polygon reference number from the x, y location.
Definition: Landscape.h:2157
l_pest_enable_pesticide_engine
CfgBool l_pest_enable_pesticide_engine
Used to turn on or off the PPP functionality of ALMaSS.
TALMaSSObject::ReinitialiseObjectBase
void ReinitialiseObjectBase()
Used to initialise an object.
Definition: PopulationManager.h:154
sleep_all_day
Definition: Treatment.h:33
AnimalPosition::m_VegType
TTypesOfVegetation m_VegType
Definition: PopulationManager.h:176