211 return m_CurrentRState;
239 m_myWarren = a_warren;
247 m_haveBurrow = a_status;
259 return m_born_location;
266 virtual void BeginStep(
void );
297 virtual void st_Dying(
void );
299 bool MortalityTest(
double a_prop );
301 bool WalkTo(
int a_x,
int a_y );
311 virtual void GeneralOrganoPhosphate(
double );
331 virtual void BeingStep(
void);
333 virtual void Step(
void);
335 virtual void EndStep(
void);
337 virtual bool ShouldMature(
void);
340 virtual void st_Dying(
void );
363 virtual void Step(
void);
365 virtual void EndStep(
void);
367 virtual bool ShouldMature(
void);
370 virtual void st_Dying(
void );
372 virtual void InternalPesticideHandlingAndResponse();
388 return m_socialstatus;
392 m_socialstatus = a_status;
413 virtual void st_Dying(
void );
415 virtual void EndStep(
void);
430 virtual void Step(
void );
437 virtual void InternalPesticideHandlingAndResponse();
452 virtual void Step(
void );
456 m_myLitter[m_myLitterSize++] = a_young;
467 return static_cast<int>(m_AnnualLitters.size());
484 virtual void st_Dying(
void );
486 int CalcLitterSize(
void );
509 virtual void InternalPesticideHandlingAndResponse();
511 virtual void GeneralEndocrineDisruptor(
double );
561 CalcCarryingCapacityRatio1();
568 APoint
GetPointTL() { APoint TL; TL.m_x=m_TL_x; TL.m_y=m_TL_y;
return TL; }
594 void NetworkEvaluation(
void );
598 bool IsFreeFemale(
void );
600 bool IsFreeMale(
void );
602 void UpdateDominance(
void );
604 void ChooseNewDominant(
void );
606 int IsFreeBurrow(
void );
620 void OccupyNewBurrow();
624 int GetAllBreedingFemaleRabbits();
626 int GetAllBigFemaleRabbits();
634 bool DEBUG_InternalTest();
636 bool DEBUG_InternalTest2();
638 double Disease() {
return m_diseaseconstant; }
643 return m_availableforage;
647 return m_inv_availableforage;
651 return m_litterreabosorptionchance;
655 return m_breedingfemales;
660 if (m_runningavCount>0) av = m_runningavFemales /
static_cast<double>(m_runningavCount);
661 m_runningavFemales = 0;
662 m_runningavCount = 0;
667 return m_1yrOldFemales;
671 return m_littersthisyear;
675 return m_nonbreedingfemales;
678 void UpdateThisYearsBreeders();
681 return m_mortalitymultiplierA;
685 return m_mortalitymultiplierJ;
689 return m_BigFemaleRabbitsR;
762 void st_WarrenBeing(
void );
764 void InitEvaluation(
void );
768 int CalcForageArea(
void);
770 int CalcPermForageArea(
void);
772 int GetTemporaryForageArea(
void );
774 int GetCoverArea(
void );
776 int GetTempForageAreaVeg(
void );
778 int GetCoverAreaVeg(
void );
780 void UpdateForageInformation(
void);
782 void UpdatePesticide(
void);
784 void CalcCarryingCapacityRatio1();
786 double CalcCarryingCapacityRatio2();
virtual Rabbit_Adult * GetMate(void)
Get mate pointer.
int m_myLitterSize
Holds the current litter size.
void SetMaxKits(double a_num)
The rabbit young class. All special young behaviour is described here.
bool m_FedToday
Flag for been fed today.
The landscape class containing all environmental and topographical data.
void SetSocialStatus(TTypesOfRabbitSocialStatus a_status)
Sets the dominance status.
The rabbit female class. All special female behaviour is described here.
virtual void Step(void)
The Step is the second 'part' of the timestep that an animal can behave in. It is called continuously...
The information needed to hold a single rabbit memory.
void SetHasBurrow(bool a_status)
Set/unset burrow status.
double GetDailyMortalityChanceJ()
Returns the juvenile daily mortality multiplier.
vector< Rabbit_Base * > m_InhabitantsList
List of rabbits that live here - for easy communication purposes.
static double m_minForageDigestability
The minimum vegetation digestability allowed for foraging.
int m_lifespan
The rabbit's alloted lifespan.
virtual void BeginStep()
Warren begin step code.
double GetCCRabbitsR()
Records the number of big female rabbits for carrying capacity calculations.
Rabbit_Population_Manager * m_OurPopulationManager
This is a time saving pointer to the correct population manager object.
double GetCarryingCapacityRatio()
Checks whether all possible burrows are filled with rabbits. This is updated daily by Rabbit_Warren::...
int m_TL_y
Stores original m_Location_y.
Rabbit_Adult * m_myMate
Pointer to the mate if any.
virtual void Explore(void)
Exploration method.
void AddYoung(Rabbit_Young *a_young)
Add a young.
int m_runningavFemales
Keeps track of the number of breeding females.
APoint GetPointTL()
Get the TL coords as a point.
int GetPopulationSize()
Gets the total warren population of rabbits.
The rabbit male class. All special male behaviour is described here.
Rabbit_Female * m_Mum
Pointer to mum.
double GetLitterReabsortionConst(void)
Returns litter reabsorption chance.
double GetDailyMortalityChanceA()
Returns the adult daily mortality multiplier.
int GetweightAge(void)
Get age method.
int GetThisYearsBreeders()
Returns the number of females breeding this year.
int Get_TL_y()
Get m_TL_x.
int m_breedingfemales
The number of females that bred this year.
static double m_pesticidedegradationrate
State variable used to hold the daily degredation rate of the pesticide in the body.
int m_soiltype
Variable holding the soil type, 1 = heavy, 0 = sandy, 3 = unsuitable (never used in warrens) ...
int m_size
Warren core size in m.
A class to describe the rabbits warren system.
Rabbit_Warren * GetWarren(void)
Get warren pointer.
void ResetRabbitProductionRecord(RabbitObjectTypes YoungType)
Reset specific data about production of rabbits throughout year.
An entry in the local warren network - a helper list of accessibly local warren locations.
void ResetAllRabbitProductionRecord(void)
Reset data about production of rabbits throughout year.
void SetweightAge(int a_age)
Set age method.
static double m_MinKitsNo
The minimum number of kits.
double m_weight
The weight in g.
int m_Age
The rabbit's age.
virtual Rabbit_Adult * GetMate(void)
Get mate pointer.
Rabbit_Population_Manager * m_OurPopulationManager
This is a time saving pointer to the correct population manager object.
int GetDigging()
Get number of days to dig.
double m_availableforage
Records the amount of forage currently available in the warren area as a proportion of what is the po...
APoint GetBornLocation()
Get location of birth.
vector< RabbitMemoryLocation > m_MyMemory
A list of memory locations.
virtual void InternalPesticideHandlingAndResponse()
Handles internal effects of pesticide exposure. If any effects are needed this method must be re-impl...
int m_NoOccupiedBurrows
Records the burrows that are occupied.
int m_digging
Flag to denote digging behaviour. This keeps the rabbit in a warren without burrows whilst it tries t...
bool m_lactating
Flag to indicate lactating.
double m_CarryingCapacityR
Records the max number of rabbits possible here.
A class to describe the data held in a rabbit memory. Warren locations and quality.
APoint m_born_location
The x,y location at birth.
The rabbit adult class. All generic adult behaviour is described here.
The class to handle all predator population related matters.
The rabbit juvenile class. All special juvenile behaviour is described here.
void SetAge(int a_age)
Set age method.
int Get_TL_x()
Get m_TL_x.
void OnEvicted(void)
Signals mum has a new litter to look after.
TTypesOfRabbitHabitat
A classification of rabbit habitat types. All landscape elements will be classified into one of the c...
int m_gestationcounter
Counter to record the number of days gestating.
int GetLittersThisYear()
Returns the number litters produced in the last 12 months.
TTypesOfRabbitSocialStatus m_socialstatus
Flag to record dominance status (0-4)
TTypesOfRabbitSocialStatus
A classification of rabbit habitat types. All landscape elements will be classified into one of the c...
int GetActiveBurrows()
Gets the number of occupied burrows.
double m_CarryingCapacityRatio
Records the ratio between carrying capacity and no rabbits in warren.
RabbitObjectTypes m_RabbitType
The rabbits type.
bool GetCarryingCapacityFilled()
Checks whether all possible burrows are filled with rabbits.
int m_littersthisyear
The number of litters produced this year.
int m_nonbreedingfemales
The number of females that did not breed this year but are older than 1 year.
TTypesOfRabbitSocialStatus GetSocialStatus(void)
Return the dominance status.
int m_CarryingCapacity
Records the max number of rabbit pairs possible here.
int m_rabbitdiggingtime
The time taken for burrow construction.
The base class for all ALMaSS animal classes.
int GetThisYearsNonBreeders()
Returns the number of females not breeding this year but older than 1 year.
int m_weightAge
A physiological age parameter, this is the growth age based on an optimal curve (if optimal condition...
double m_inv_availableforage
The inverse of m_availableforage, prevents multiple re-calculation.
double m_diseaseconstant
a measure of disease mortality likelihood
The basic information needed for an LE present in a warren area.
vector< RabbitWarrenLEInfo > m_LEList
List of polygons and the area which is part of the warren.
double GetForagePesticide(void)
Gets the current mean pesticide concentration per unit forage.
double GetAvailableForage(void)
Returns the available forage realtive to rabbit numbers.
double m_litterreabosorptionchance
Chance of litter reaborption based on the m_availableforage.
int m_foragesize
Warren forage size in m.
int m_permforagearea
Variable holding the total permanent forage area.
Rabbit_Warren * m_aWarren
int GetSoilType(void)
Gets the warren soil type.
int m_1yrOldFemales
The number of 1 year old females.
double m_mortalitymultiplierJ
a measure of mortality likelihood - juveniles
void AddNetworkConnection(LocalWarrenNewtorkEntry a_LWNE)
Adds a warren to the local network list.
virtual void GeneralEndocrineDisruptor(double)
Handles internal effects of endocrine distrupter pesticide exposure.
static double m_dispersalmortperm
The extra dispersal mortality per m travelled.
void SetDigging(int a_days)
Set number of days to dig.
TTypeOfRabbitState m_CurrentRState
Variable to record current behavioural state.
int GetRabbitProductionRecord(RabbitObjectTypes YoungType)
Get data about production of rabbits throughout year.
int m_NoBurrows
Records the maintenence restricted current carrying capacity (burrow number)
static double m_MaxKitsNo
The maximum number of kits.
TTypeOfRabbitState GetCurrentRState()
int GetThisYears1yrOldFemales()
Returns the number of 1yr old females.
virtual void EndStep(void)
The EndStep is the third 'part' of the timestep that an animal can behave in. It is called once per t...
Rabbit_Warren * m_myWarren
True if currently mated.
double Disease()
Supply the current disease mortality constant.
int m_MyOffspring
The total number of kits born to her.
int GetForageArea(void)
Returns the total area of permanent forage.
double m_BigFemaleRabbitsR
Records the number of big female rabbits divided by m_CarryingCapacityR2.
RabbitObjectTypes GetRabbitType(void)
Get rabbit type.
int m_maintenence
Warren maintenence score - if not max then houseing capacity is reduced.
void OnMumDead(void)
Signals death of mum.
double m_pesticide_burden
State variable used to hold the current body-burden of pesticide.
vector< int > m_AnnualLitters
The number of litters produced.
int GetAge(void)
Get age method.
double m_CarryingCapacityR2
Records the max number of rabbits possible here divided by 2.
double m_mortalitymultiplierA
a measure of mortality likelihood - adults
void SetMinKits(double a_num)
TTypesOfRabbitHabitat m_torh
int m_MyTotalLitters
The number of litters produced.
double GetThisYearsBreedersAv()
Returns the number of females breeding this year.
vector< LocalWarrenNewtorkEntry > m_LocalWarrenNetwork
List of local warrens and their accessibility from this warren.
double m_forageP
Records the amount of pesticde as a mean concentration per unit area forage.
double GetInvAvailableForage(void)
Returns the inverse of available forage realtive to rabbit numbers.
int m_BurrowsUnderConstruction
Records the burrows that are being dug.
void RabbitProductionRecord(RabbitObjectTypes YoungType, int kits)
Stores data about production of rabbits throughout year.
void OnFed(void)
Signals food arrived today.
int m_runningavCount
Keeps track of the number of breeding days.
void SetWarren(Rabbit_Warren *a_warren)
Set the warren pointer.
static double m_maxForageHeight
The maximum vegetation height assumed for forage potential.
bool m_haveBurrow
Flag to record burrow status.
TTypeOfRabbitState m_CurrentRState
Variable to record current behavioural state.
double m_foragearearatio
Records the amount of forage currently available in the warren area as a proportion of total forage a...
int m_foragearea
Variable holding the total potential forage area.
int GetCarryingCapacity()
Returns the carrying capacity in burrows.
bool m_pregnant
Flag to indicate pregnancy.
bool m_pesticideInfluenced1
Flag to indicate pesticide effects (e.g. can be used for endocrine distruptors with delayed effects u...
int m_TL_x
Stores original m_Location_x.
double GetDiseaseConstant(void)
Returns the warrens current disease constant.
bool GetHasBurrow(void)
Get burrow status.