ALMaSS Rabbit ODdox
1.1
The rabbit model description following ODdox protocol
|
The rabbit young class. All special young behaviour is described here. More...
#include <Rabbit.h>
Public Member Functions | |
Rabbit_Young (int p_x, int p_y, int p_x2, int p_y2, Rabbit_Female *a_mum, Landscape *p_L, Rabbit_Population_Manager *p_NPM, Rabbit_Warren *a_warren) | |
Rabbit_Young constructor. More... | |
virtual | ~Rabbit_Young (void) |
Rabbit_Young destructor. More... | |
TTypeOfRabbitState | st_Develop (void) |
Development state for young. More... | |
TTypeOfRabbitState | st_BecomeJuvenile (void) |
Young maturation. More... | |
virtual void | BeingStep (void) |
The BeginStep is the first 'part' of the timestep that an animal can behave in. More... | |
virtual void | Step (void) |
The Step is the second 'part' of the timestep that an animal can behave in. It is called continuously until all animals report that they are 'DONE'. More... | |
virtual void | EndStep (void) |
The EndStep is the last 'part' of the timestep that an animal can behave in. More... | |
virtual bool | ShouldMature (void) |
Tests for maturation to the next stage. More... | |
Public Member Functions inherited from Rabbit_Base | |
TTypeOfRabbitState | GetCurrentRState () |
void | SetAge (int a_age) |
Set age method. More... | |
RabbitObjectTypes | GetRabbitType (void) |
Get rabbit type. More... | |
int | GetAge (void) |
Get age method. More... | |
void | SetweightAge (int a_age) |
Set age method. More... | |
int | GetweightAge (void) |
Get age method. More... | |
Rabbit_Warren * | GetWarren (void) |
Get warren pointer. More... | |
void | SetWarren (Rabbit_Warren *a_warren) |
Set the warren pointer. More... | |
bool | GetHasBurrow (void) |
Get burrow status. More... | |
void | SetHasBurrow (bool a_status) |
Set/unset burrow status. More... | |
void | SetDigging (int a_days) |
Set number of days to dig. More... | |
int | GetDigging () |
Get number of days to dig. More... | |
APoint | GetBornLocation () |
Get location of birth. More... | |
Rabbit_Base (int p_x, int p_y, int p_x2, int p_y2, Landscape *p_L, Rabbit_Population_Manager *p_NPM, Rabbit_Warren *a_warren) | |
Rabbit constructor. More... | |
virtual | ~Rabbit_Base (void) |
Rabbit destructor. More... | |
virtual void | BeginStep (void) |
The BeginStep is the first 'part' of the timestep that an animal can behave in. It is called once per timestep. More... | |
void | OnFed (void) |
Signals food arrived today. More... | |
void | OnMumDead (void) |
Signals death of mum. More... | |
void | OnEvicted (void) |
Signals mum has a new litter to look after. More... | |
virtual Rabbit_Adult * | GetMate (void) |
Get mate pointer. More... | |
Public Member Functions inherited from TAnimal | |
unsigned | SupplyFarmOwnerRef () |
AnimalPosition | SupplyPosition () |
APoint | SupplyPoint () |
int | SupplyPolygonRef () |
int | Supply_m_Location_x () |
int | Supply_m_Location_y () |
virtual void | KillThis () |
virtual void | CopyMyself () |
void | SetX (int a_x) |
void | SetY (int a_y) |
TAnimal (int x, int y, Landscape *L) | |
virtual void | ReinitialiseObject (int x, int y, Landscape *L) |
Used to re-use an object - must be implemented in descendent classes. More... | |
virtual int | WhatState () |
virtual void | Dying () |
void | CheckManagement (void) |
void | CheckManagementXY (int x, int y) |
virtual bool | OnFarmEvent (FarmToDo) |
Public Member Functions inherited from TALMaSSObject | |
int | GetCurrentStateNo () |
Returns the current state number. More... | |
void | SetCurrentStateNo (int a_num) |
Sets the current state number. More... | |
bool | GetStepDone () |
Returns the step done indicator flag. More... | |
void | SetStepDone (bool a_bool) |
Sets the step done indicator flag. More... | |
virtual void | ReinitialiseObject () |
Used to re-use an object - must be implemented in descendent classes. More... | |
TALMaSSObject () | |
The constructor for TALMaSSObject. More... | |
virtual | ~TALMaSSObject () |
The destructor for TALMaSSObject. More... | |
void | OnArrayBoundsError () |
Used for debugging only, tests basic object properties. More... | |
Protected Member Functions | |
virtual void | st_Dying (void) |
Young dying state. More... | |
Protected Member Functions inherited from Rabbit_Base | |
virtual void | Explore (void) |
Exploration method. More... | |
bool | MortalityTest (double a_prop) |
A simple probability based test. More... | |
bool | WalkTo (int a_x, int a_y) |
Walks to a location from current location. More... | |
virtual void | InternalPesticideHandlingAndResponse () |
Handles internal effects of pesticide exposure. If any effects are needed this method must be re-implemented by descendent classes. More... | |
virtual void | GeneralEndocrineDisruptor (double) |
Handles internal effects of endocrine distrupter pesticide exposure. More... | |
virtual void | GeneralOrganoPhosphate (double) |
Handles internal effects of organophosphate pesticide exposure. More... | |
Protected Member Functions inherited from TAnimal | |
void | CorrectWrapRound () |
Corrects wrap around co-ordinate problems. More... | |
Additional Inherited Members | |
Public Attributes inherited from Rabbit_Base | |
RabbitObjectTypes | m_RabbitType |
The rabbits type. More... | |
Static Public Attributes inherited from Rabbit_Base | |
static double | m_dispersalmortperm = cfg_dispersalmortperm.value() |
The extra dispersal mortality per m travelled. More... | |
static double | m_pesticidedegradationrate = cfg_rabbit_pesticidedegradationrate.value() |
State variable used to hold the daily degredation rate of the pesticide in the body. More... | |
Protected Attributes inherited from Rabbit_Base | |
int | m_Age |
The rabbit's age. More... | |
TTypeOfRabbitState | m_CurrentRState |
Variable to record current behavioural state. More... | |
Rabbit_Population_Manager * | m_OurPopulationManager |
This is a time saving pointer to the correct population manager object. More... | |
double | m_MyMortChance |
bool | m_haveBurrow |
Flag to record burrow status. More... | |
Rabbit_Warren * | m_myWarren |
True if currently mated. More... | |
Rabbit_Female * | m_Mum |
Pointer to mum. More... | |
bool | m_FedToday |
Flag for been fed today. More... | |
double | m_weight |
The weight in g. More... | |
int | m_weightAge |
A physiological age parameter, this is the growth age based on an optimal curve (if optimal conditions it will be the same as m_age) More... | |
int | m_digging |
Flag to denote digging behaviour. This keeps the rabbit in a warren without burrows whilst it tries to make one. More... | |
APoint | m_born_location |
The x,y location at birth. More... | |
double | m_pesticide_burden |
State variable used to hold the current body-burden of pesticide. More... | |
bool | m_pesticideInfluenced1 |
Flag to indicate pesticide effects (e.g. can be used for endocrine distruptors with delayed effects until birth). More... | |
Protected Attributes inherited from TAnimal | |
int | m_Location_x |
int | m_Location_y |
Landscape * | m_OurLandscape |
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... | |
The rabbit young class. All special young behaviour is described here.
Rabbit_Young::Rabbit_Young | ( | int | p_x, |
int | p_y, | ||
int | p_x2, | ||
int | p_y2, | ||
Rabbit_Female * | a_mum, | ||
Landscape * | p_L, | ||
Rabbit_Population_Manager * | p_NPM, | ||
Rabbit_Warren * | a_warren | ||
) |
Rabbit_Young constructor.
Definition at line 232 of file Rabbit.cpp.
References cfg_young_base_mort, Rabbit_Base::m_Age, Rabbit_Base::m_FedToday, Rabbit_Base::m_Mum, Rabbit_Base::m_MyMortChance, Rabbit_Base::m_RabbitType, Rabbit_Base::m_weight, Rabbit_Base::m_weightAge, rob_Young, and CfgFloat::value().
|
virtual |
Rabbit_Young destructor.
Definition at line 244 of file Rabbit.cpp.
|
virtual |
The BeginStep is the first 'part' of the timestep that an animal can behave in.
Resets the feeding flag at the beginning of the day. Call the base class BeginStep
Definition at line 305 of file Rabbit.cpp.
References Rabbit_Base::BeginStep(), and Rabbit_Base::m_FedToday.
|
virtual |
The EndStep is the last 'part' of the timestep that an animal can behave in.
Reimplemented from Rabbit_Base.
Reimplemented in Rabbit_Juvenile.
Definition at line 347 of file Rabbit.cpp.
References Rabbit_Base::m_Age, Rabbit_Base::m_CurrentRState, Rabbit_Base::m_FedToday, Rabbit_Base::m_Mum, Rabbit_Female::OnYoungDeath(), and toRabbits_Die.
|
virtual |
Tests for maturation to the next stage.
Weaning is really controlled by the female who will evict an old litter when a new one comes along. But if the breeding season is over this will not occur and we need to wean the young a bit later.
Reimplemented in Rabbit_Juvenile.
Definition at line 362 of file Rabbit.cpp.
References Rabbit_Base::m_Age.
Referenced by st_Develop().
TTypeOfRabbitState Rabbit_Young::st_BecomeJuvenile | ( | void | ) |
Young maturation.
Creates a new Rabbit_Juvenile object and passes the data from the young to it, then signals young object removal.
Definition at line 283 of file Rabbit.cpp.
References Rabbit_Population_Manager::CreateObjects(), struct_Rabbit::m_age, Rabbit_Base::m_Age, Rabbit_Base::m_born_location, struct_Rabbit::m_L, TAnimal::m_Location_x, TAnimal::m_Location_y, Rabbit_Base::m_Mum, Rabbit_Base::m_myWarren, struct_Rabbit::m_NPM, TAnimal::m_OurLandscape, Rabbit_Base::m_OurPopulationManager, struct_Rabbit::m_rabbit, struct_Rabbit::m_Warren, struct_Rabbit::m_weightage, Rabbit_Base::m_weightAge, struct_Rabbit::m_x, struct_Rabbit::m_x2, struct_Rabbit::m_y, struct_Rabbit::m_y2, rob_Juvenile, toRabbits_Remove, and Rabbit_Female::Weaned().
Referenced by Step().
TTypeOfRabbitState Rabbit_Young::st_Develop | ( | void | ) |
Development state for young.
Ages the rabbit, then carries out a mortality test, evaluates whether the rabbit should wean, and if neither then returns toRabbits_Explore. The rabbit must also grow. Here we decide whether it grows based on the weather conditions. If inclement we assume no growth, if OK then maximal growth is assumed.
Definition at line 262 of file Rabbit.cpp.
References Rabbit_Population_Manager::GetForageDay(), Rabbit_Population_Manager::GetGrowth(), Rabbit_Base::m_Age, Rabbit_Base::m_MyMortChance, Rabbit_Base::m_OurPopulationManager, Rabbit_Base::m_weight, Rabbit_Base::m_weightAge, Rabbit_Base::MortalityTest(), ShouldMature(), toRabbits_Develop, toRabbits_Die, and toRabbits_Weaning.
Referenced by Step().
|
protectedvirtual |
Young dying state.
Reimplemented from Rabbit_Base.
Reimplemented in Rabbit_Juvenile.
Definition at line 250 of file Rabbit.cpp.
References TALMaSSObject::m_CurrentStateNo, Rabbit_Base::m_Mum, TALMaSSObject::m_StepDone, and Rabbit_Female::OnYoungDeath().
Referenced by Step().
|
virtual |
The Step is the second 'part' of the timestep that an animal can behave in. It is called continuously until all animals report that they are 'DONE'.
Reimplemented from Rabbit_Base.
Reimplemented in Rabbit_Juvenile.
Definition at line 316 of file Rabbit.cpp.
References Rabbit_Base::m_CurrentRState, TALMaSSObject::m_CurrentStateNo, TAnimal::m_OurLandscape, TALMaSSObject::m_StepDone, st_BecomeJuvenile(), st_Develop(), st_Dying(), toRabbits_Develop, toRabbits_Die, toRabbits_InitialState, toRabbits_Remove, toRabbits_Weaning, and Landscape::Warn().