Goose Management Model ODdox
1.02
|
A class to describe the goose base. More...
#include <Goose_Base.h>
Public Member Functions | |
void | AddBodyCondition (double a_condition) |
Alters body conditon by addition of a double value. More... | |
double | AdjustIntakeRateToSnowDepth (double a_intakerate) |
When there is snow, the intake rate is decreased by 10 % per cm of snow. 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 (10 minutes). More... | |
virtual void | ChangeRoost () |
Find the closest roost. More... | |
virtual APoint | ChooseHopLoc () |
Pick a hop location point within a_dist meters - must be overridden by descendent classes. More... | |
virtual void | EndStep (void) |
The EndStep is the third 'part' of the timestep that an animal can behave in. It is called once per timestep. More... | |
void | EvaluateForageToHopLoc (APoint a_HopLoc) |
Do a forage evaluation from current location to a_HopLoc. More... | |
void | Explore () |
Behavioural exploration of the area to find forage. More... | |
double | GetBodyCondition () |
Returns the current body condition. More... | |
double | GetDailyEnergyBudget () |
Returns the daily energy budget. More... | |
double | GetDailyEnergyExpenditure () |
Returns the daily energy expenditure. More... | |
double | GetFlightCost () |
Get the flight costs per m per g. More... | |
int | GetFlightDistance () |
Returns the total daily distance flown. More... | |
int | GetFlightNumber () |
Returns the total daily number of flights. More... | |
int | GetForageLocIndex () |
Gets for the forage location index. More... | |
int | GetForagingTime (int a_EndForagingTime, double a_RoostLeaveTime) |
Returns the time spent foraging. More... | |
double | GetGooseMinForageRate (GooseSpecies a_species) |
Returns the minimum forage rate for the species. More... | |
int | GetGroupsize () |
Returns the groupsize. More... | |
int | GetMaxAppetiteHitTime () |
Returns m_DailyMaxAppetiteHitTime. More... | |
double | GetMaxForageRate (double a_grain, double a_maize, double a_grass, double a_interferenceComp, bool a_iscereal, TTypesOfVegetation a_veg, bool a_stubble, TTypesOfVegetation a_prevcrop) |
Returns the max forage rate of the three different types of forage The max rate is adjusted according to feeding time in the time budget, according to the interference competition value and to the current snow depth in the landscape. More... | |
double | GetMaxIntakeRate (double a_grain, double a_maize, double a_grass) |
Returns the max intake rate of the three different types of intake. More... | |
TMaxIntakeSource | GetMaxIntakeSource () |
Supply the current max intake source. More... | |
APoint | GetRoost () |
Supply roost coords. More... | |
double | GetRoostLeaveTime () |
Returns the time when the goose leaves the roost. More... | |
bool | GetSex () |
Returns the sex. More... | |
GooseSpecies | GetSpecies () |
Returns the species. More... | |
double | GetTotalWeight () |
Returns the weight of the bird. More... | |
Goose_Base (Landscape *p_L, Goose_Population_Manager *p_NPM, double a_weight, bool a_sex, APoint a_roost) | |
Goose_Base constructor. More... | |
void | Init (Goose_Population_Manager *p_NPM, double a_weight, bool a_sex, APoint a_roost) |
Intitialise object. More... | |
virtual void | KillThis () |
The bird is dead of some external cause. More... | |
void | On_Bang (int a_polyid) |
The goose is scared by a bang at location. More... | |
void | On_Bang (int a_polyid, double a_scare) |
The goose is scared by a bang at location. More... | |
virtual void | On_Emigrate () |
Cause the bird to immediately transition to Emigrate. More... | |
void | On_Migrate (TTypeOfLeaveReason a_leavereason) |
The goose is told to leave the simulation area (poss due to bad weather) More... | |
void | On_MoveTo (int a_x, int a_y) |
The goose is moved to the location specified by a_x, a_y - caused by group decision. More... | |
void | ReInit (Landscape *p_L, Goose_Population_Manager *p_NPM, double a_weight, bool a_sex, APoint a_roost) |
ReInit for object pool. More... | |
double | ScaleForageToGroupsize (double a_forage) |
Scales forage to groupsize. More... | |
void | Set_GooseFattoKJConversion (double a_cost) |
Set the fat to kJ conversion constant for all geese. More... | |
void | Set_GooseFieldForageDist (double sp1, double sp2, double sp3) |
Set the max forage distance from a field for all geese. More... | |
void | Set_GooseFollowingLikelyhood (int a_likelyhood, GooseSpeciesType a_speciestype) |
Set the followinglikelyhood. More... | |
void | Set_GooseForageDist (double sp1, double sp2, double sp3) |
Set the max forage distance from roost for all geese. More... | |
void | Set_GooseKJtoFatConversion (double a_cost) |
Set the kJ to fat conversion constant for all geese. More... | |
void | Set_GooseLeavingRoost (bool a_leaving) |
Set the flag to indicate if we are coming from the roost. More... | |
void | Set_GooseLeavingThreshold (double a_threshold) |
Set the body condition threshold for leaving for all geese. More... | |
void | Set_GooseMaxAppetiteScaler (double a_cost) |
Set the goose appetite scale used to calculate max intake for all geese. More... | |
void | Set_GooseMaxEnergyReserveProportion (double a_prop) |
Set the maximum energy reserve proportion allowed for all geese. More... | |
void | Set_GooseMinForageOpenness (double a_cost) |
Set the min forage openess for all geese. More... | |
void | Set_Indivmingooseforagerate (double a_cost) |
Set the mimimum tolerated forage rate for the individual goose. More... | |
void | Set_mingooseforagerate (double a_cost, GooseSpecies a_species) |
Set the mimimum tolerated forage rate for all geese. More... | |
void | SetBodyCondition (double a_condition, unsigned a_index) |
Sets the current body condition. More... | |
void | SetFlightCost (double a_cost) |
Set the flight cost per m per g. More... | |
void | SetSex (bool a_sex) |
Sets the sex. More... | |
void | st_Dying (void) |
Behavioural state dying. More... | |
TTypeOfGoose_BaseState | st_Forage () |
Behavioural forage. More... | |
TTypeOfGoose_BaseState | st_Roost () |
Roosting until next forage or next morning. More... | |
virtual TTypeOfGoose_BaseState | st_ToRoost () |
Return to roost and assess whether to forage again that day. More... | |
virtual void | StartDay (void) |
Do any 'housekeeping' associated with the start of day. 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... | |
void | SubtractBodyCondition (double a_condition) |
Alters body conditon by subtraction of a double value. More... | |
virtual | ~Goose_Base () |
Goose_Base destructor. More... | |
Protected Member Functions | |
void | FlyTo (APoint a_pt) |
The goose flys to the location specified by a_pt. More... | |
void | FlyTo (int a_x, int a_y) |
The goose flys to the location specified by a_x, a_y. More... | |
TTypeOfGoose_BaseState | st_ChooseForageLocation (void) |
Selects a forage location based on past memory, or initiates an exploration. More... | |
Protected Attributes | |
TTypeOfGoose_BaseState | CurrentGState |
Variable to record current behavioural state. More... | |
double | m_BMR |
The daily BMR. More... | |
double | m_BodyCondition [5] |
A variable describing current body condition over the past 5 days. More... | |
unsigned | m_BodyConditionCounter |
A counter for the daily body condition. More... | |
double | m_DailyMaxAppetite |
The daily max kJ possible to get as intake. More... | |
int | m_DailyMaxAppetiteHitTime |
The time of day when m_DailyMaxAppetite was hit. More... | |
double | m_DEB |
The daily energy budget excluding flying (kJ) More... | |
double | m_energyReserve |
The bird's energy reserves in grams. More... | |
double | m_energyToday |
The bird's daily energy account (kJ) More... | |
int | m_FlightDistance |
Storage for the total distance flown per day. More... | |
int | m_FlightNumber |
Counter for the number of flights per day. More... | |
int | m_forageLocCount |
The number of forage locations visited today. More... | |
int | m_groupsize |
The size of the group this bird represents. More... | |
double | m_Indivmingooseforagerate |
The minimum tolerable forage rate in kJ/minute for the individual. More... | |
double | m_LeaveRoostTime |
Controls the time when the goose will leave the roost. More... | |
bool | m_LeavingRoost |
Flag to indicate that we are coming from the roost. Used to control code for "following". More... | |
TMaxIntakeSource | m_MaxIntakeSource |
Holds information about the food source which gave max intake rate. More... | |
int | m_myForageIndex |
Temporary storage for a forage location index - this is a speed optimisation. More... | |
GooseSpeciesType | m_myGooseSpeciesType |
Holds the goose species type. More... | |
GooseMemoryMap * | m_MyMemory |
The Goose Memory. More... | |
int | m_myMemPolyID |
Temporary storage for a memory location polygon id. More... | |
APoint | m_MyRoost |
The current roost location. More... | |
GooseSpecies | m_myspecies |
Holds goose species. More... | |
Goose_Population_Manager * | m_OurPopulationManager |
This is a time saving pointer to the correct population manager object. More... | |
bool | m_sex |
Sex of bird, true = male false = female. More... | |
double | m_TheBodyCondition |
A variable describing current body condition averaged over 5 days. More... | |
double | m_weight |
The weight of the bird in gram excluding fat reserve. More... | |
double | m_weightTotal |
The weight of the bird in g including fat reserve. More... | |
Static Protected Attributes | |
static double | m_flightcost = -1 |
The cost of flight per g per m in kJ. More... | |
static int | m_followinglikelyhood [(int) gst_foobar] = { -1, -1, -1 , -1, -1, -1 } |
An attribute used to determine the chance of following or exploring when foraging. More... | |
static double | m_GooseFattoKJConversion = -1 |
Conversion rate fat to kJ. More... | |
static double | m_GooseFieldForageDist [gs_foobar] = { -1, -1, -1 } |
The maximum distance travelled from roost to forage sites for each species of goose (m) More... | |
static double | m_GooseFieldForageDistX2 [gs_foobar] = { -1, -1, -1 } |
Double the maximum distance travelled from roost to forage sites for each species of goose (m) - this is a speed optimisation. More... | |
static double | m_GooseForageDist [gs_foobar] = { -1, -1, -1 } |
The maximum distance travelled from roost to forage sites for each species of goose (m) More... | |
static double | m_GooseForageDistX2 [gs_foobar] = { -1, -1, -1 } |
Double the maximum distance travelled from roost to forage sites for each species of goose (m) - this is a speed optimisation. More... | |
static double | m_GooseKJtoFatConversion = -1 |
Conversion rate kJ to fat. More... | |
static double | m_GooseLeavingThreshold = -1 |
The trigger for leaving as a 5 day average of body condition. More... | |
static double | m_GooseMaxAppetiteScaler = -1 |
Scaler to determine the max kJ possible to eat per day based on non-energy reserve weight. More... | |
static double | m_GooseMaxEnergyReserveProportion = -1 |
Max proportion of weight that can be energy reserve. More... | |
static double | m_GooseMinForageOpenness = -1 |
The minimum openness value a goose will tolerate for forage. More... | |
static double | m_mingooseforagerate [gs_foobar] = { -1, -1, -1 } |
The minimum tolerable forage rate in kJ/minute for the species. More... | |
static double | m_SnowDepth = 0.0 |
The current snow depth. Held here for speed optimization. More... | |
A class to describe the goose base.
Definition at line 131 of file Goose_Base.h.
Goose_Base::Goose_Base | ( | Landscape * | p_L, |
Goose_Population_Manager * | p_NPM, | ||
double | a_weight, | ||
bool | a_sex, | ||
APoint | a_roost | ||
) |
|
virtual |
|
inline |
Alters body conditon by addition of a double value.
Definition at line 402 of file Goose_Base.h.
References m_TheBodyCondition.
Referenced by StartDay().
double Goose_Base::AdjustIntakeRateToSnowDepth | ( | double | a_intakerate | ) |
When there is snow, the intake rate is decreased by 10 % per cm of snow.
Definition at line 730 of file Goose_Base.cpp.
References cfg_goose_snow_scaler, m_SnowDepth, and CfgFloat::value().
Referenced by GetMaxForageRate().
|
inlinevirtual |
The BeginStep is the first 'part' of the timestep that an animal can behave in. It is called once per timestep (10 minutes).
Definition at line 375 of file Goose_Base.h.
References StartDay().
|
inlinevirtual |
Find the closest roost.
Reimplemented in Goose_Barnacle_Base, Goose_Greylag_Base, and Goose_Pinkfoot_Base.
Definition at line 355 of file Goose_Base.h.
|
inlinevirtual |
Pick a hop location point within a_dist meters - must be overridden by descendent classes.
Reimplemented in Goose_Barnacle_Base, Goose_Greylag_Base, and Goose_Pinkfoot_Base.
Definition at line 363 of file Goose_Base.h.
References m_MyRoost.
Referenced by Explore().
|
inlinevirtual |
The EndStep is the third 'part' of the timestep that an animal can behave in. It is called once per timestep.
Reimplemented in Goose_Greylag_FamilyGroup, Goose_Barnacle_FamilyGroup, and Goose_Pinkfoot_FamilyGroup.
Definition at line 383 of file Goose_Base.h.
void Goose_Base::EvaluateForageToHopLoc | ( | APoint | a_HopLoc | ) |
Do a forage evaluation from current location to a_HopLoc.
Moves along the vector between the current location and a_HopLoc testing forage for each polygon encountered along the way. This will build up the goose' memory.
[in] | a_HopLoc | A point in the landscape. |
Definition at line 593 of file Goose_Base.cpp.
References ALMaSS_MathFuncs::CalcDistPythagoras(), ALMaSS_MathFuncs::CalcDistPythagorasApprox(), GooseMemoryMap::CalcScore(), g_AlmassMathFuncs, Goose_Population_Manager::GetFeedingRate(), Goose_Population_Manager::GetMaizeFeedingRate(), GetMaxIntakeRate(), GooseMemoryLocation::m_foodresource, m_GooseMinForageOpenness, GooseMemoryLocation::m_grain, GooseMemoryLocation::m_grazing, GooseMemoryLocation::m_maize, m_MyMemory, m_MyRoost, m_myspecies, m_OurPopulationManager, GooseMemoryLocation::m_polygonid, GooseMemoryLocation::m_score, GooseMemoryLocation::m_threat, GooseMemoryLocation::m_x, GooseMemoryLocation::m_y, and GooseMemoryMap::MemAdd().
Referenced by Goose_Barnacle_Base::ChooseHopLoc(), Goose_Pinkfoot_Base::ChooseHopLoc(), and Goose_Greylag_Base::ChooseHopLoc().
void Goose_Base::Explore | ( | ) |
Behavioural exploration of the area to find forage.
This behaviour can be invoked either from the roost or from another location. If from another location then there is an initial move followed by an exploration of the area directly on route to the chosen location. If from the roost then a distance and direction is chosen for the explore. In both cases the movement has energetic costs associated with the flight.
Definition at line 571 of file Goose_Base.cpp.
References ChooseHopLoc(), and FlyTo().
Referenced by st_ChooseForageLocation().
|
protected |
The goose flys to the location specified by a_pt.
Definition at line 403 of file Goose_Base.cpp.
References FlyTo().
|
protected |
The goose flys to the location specified by a_x, a_y.
Moves the bird from m_Location_x,m_Location_y to a_x,a_y. Assumes that the cost of flight is directly proportional to the distance x bird weight. The cost is calcuated and removed from the energy reserve. To save some calculation costs (sqrt is expensive in time) we use an approximation to Pythagorus accurate to around 6%. m_weightTotal is in grams and m_flightcost the cost of moving 1 gram per m, all distances in meters. NB all flying trips are assumed to take 10 minutes but the energy used is determined by the distance.
and sets the new location
and finally store the information about flight number and distance
Definition at line 409 of file Goose_Base.cpp.
References ALMaSS_MathFuncs::CalcDistPythagorasApprox(), g_AlmassMathFuncs, GetFlightCost(), m_energyToday, m_FlightDistance, and m_FlightNumber.
Referenced by Explore(), FlyTo(), On_MoveTo(), st_ChooseForageLocation(), Goose_Greylag_Base::st_ToRoost(), Goose_Pinkfoot_Base::st_ToRoost(), and Goose_Barnacle_Base::st_ToRoost().
|
inline |
Returns the current body condition.
Definition at line 394 of file Goose_Base.h.
References m_TheBodyCondition.
|
inline |
|
inline |
Returns the daily energy expenditure.
Definition at line 456 of file Goose_Base.h.
References m_energyToday.
|
inline |
Get the flight costs per m per g.
Definition at line 568 of file Goose_Base.h.
References m_flightcost, and m_weightTotal.
Referenced by FlyTo().
|
inline |
Returns the total daily distance flown.
Definition at line 444 of file Goose_Base.h.
References m_FlightDistance.
|
inline |
Returns the total daily number of flights.
Definition at line 438 of file Goose_Base.h.
References m_FlightNumber.
|
inline |
Gets for the forage location index.
Definition at line 418 of file Goose_Base.h.
References m_myForageIndex.
Referenced by Goose_Population_Manager::GetLeader(), and st_ChooseForageLocation().
int Goose_Base::GetForagingTime | ( | int | a_EndForagingTime, |
double | a_RoostLeaveTime | ||
) |
Returns the time spent foraging.
[in] | a_EndForagingTime | The time of day where a goose hits it's daily max intake |
[in] | a_RoostLeaveTime | The time of day where a goose leaves the roost |
Definition at line 738 of file Goose_Base.cpp.
Referenced by StartDay().
|
inline |
Returns the minimum forage rate for the species.
[in] | a_species | The type of goose species |
Definition at line 471 of file Goose_Base.h.
References m_mingooseforagerate.
Referenced by st_Forage().
|
inline |
Returns the groupsize.
Definition at line 410 of file Goose_Base.h.
References m_groupsize.
Referenced by Goose_Population_Manager::DoLast().
|
inline |
Returns m_DailyMaxAppetiteHitTime.
Definition at line 432 of file Goose_Base.h.
References m_DailyMaxAppetiteHitTime.
|
inline |
Returns the max forage rate of the three different types of forage The max rate is adjusted according to feeding time in the time budget, according to the interference competition value and to the current snow depth in the landscape.
[in] | a_grain | The intake rate from the grain resource |
[in] | a_maize | The intake rate from the maize resource |
[in] | a_grass | The intake rate from the grazing resource |
[in] | a_interferenceComp | The scaler for interference competition |
[in] | a_iscereal | Flag for a cereal crop or not (false) |
[in] | a_veg | The vegetation type |
[in] | a_stubble | Flag for a crop in stubble or not (false) |
[in] | a_prevcrop | The previously sown crop |
Definition at line 489 of file Goose_Base.h.
References AdjustIntakeRateToSnowDepth(), TMaxIntakeSource::m_instubble, TMaxIntakeSource::m_iscereal, TMaxIntakeSource::m_maxintakesource, m_MaxIntakeSource, TMaxIntakeSource::m_prevsowncrop, TMaxIntakeSource::m_veg, tomis_foobar, tomis_grain, tomis_grass, tomis_maize, and tomis_sowncrop.
Referenced by st_ChooseForageLocation(), and st_Forage().
|
inline |
Returns the max intake rate of the three different types of intake.
[in] | a_grain | The intake rate from the grain resource kJ/min |
[in] | a_maize | The intake rate from the maize resource kJ/min |
[in] | a_grass | The intake rate from the grazing resource kJ/min |
Definition at line 536 of file Goose_Base.h.
Referenced by EvaluateForageToHopLoc(), and st_ChooseForageLocation().
|
inline |
Supply the current max intake source.
Definition at line 349 of file Goose_Base.h.
References m_MaxIntakeSource.
Referenced by Goose_Population_Manager::DoLast().
|
inline |
Supply roost coords.
Definition at line 345 of file Goose_Base.h.
References m_MyRoost.
Referenced by Goose_Population_Manager::GetLeader().
|
inline |
Returns the time when the goose leaves the roost.
Definition at line 560 of file Goose_Base.h.
References m_LeaveRoostTime.
|
inline |
|
inline |
Returns the species.
Definition at line 422 of file Goose_Base.h.
References m_myspecies.
Referenced by Goose_Population_Manager::DoLast().
|
inline |
Returns the weight of the bird.
Definition at line 558 of file Goose_Base.h.
References m_weightTotal.
void Goose_Base::Init | ( | Goose_Population_Manager * | p_NPM, |
double | a_weight, | ||
bool | a_sex, | ||
APoint | a_roost | ||
) |
Intitialise object.
Assigns the pointer to the population manager.
Sets the initial state.
Sets the sex.
Sets the weight.
Calculates BMR
Definition at line 111 of file Goose_Base.cpp.
References cfg_goose_BMRconstant1, cfg_goose_BMRconstant2, cfg_goose_InitialEnergyReserveProportion, cfg_goose_pf_springmigdateend, cfg_goose_pf_springmigdatestart, togs_InitialState, tomis_foobar, CfgInt::value(), and CfgFloat::value().
Referenced by Goose_Base(), Goose_Pinkfoot_Base::Init(), Goose_Greylag_Base::Init(), Goose_Barnacle_Base::Init(), and ReInit().
|
virtual |
The bird is dead of some external cause.
Kill this for single animal agents is straightforward. We need to remove the bird from the forage area if any.
Reimplemented in Goose_Greylag_FamilyGroup, Goose_Barnacle_FamilyGroup, and Goose_Pinkfoot_FamilyGroup.
Definition at line 703 of file Goose_Base.cpp.
References m_myForageIndex, m_myGooseSpeciesType, m_OurPopulationManager, and Goose_Population_Manager::RemoveGeeseFromForageLocation().
void Goose_Base::On_Bang | ( | int | a_polyid | ) |
The goose is scared by a bang at location.
The goose has heard a shot. It remembers the location the shot came from as bad and flies away to find another place to forage. This version assumes the scare value is a constant 1.0. The first test is because the shot might have killed it already!
[in] | a_polyid | The polygon id from where the shot was fired. |
We have been scared off, so we the correct number of geese at that location before we fly off to find a new forage location
Definition at line 638 of file Goose_Base.cpp.
References ALMaSS_MathFuncs::CalcDistPythagorasApprox(), GooseMemoryMap::CalcScore(), GooseMemoryMap::ChangeAddThreat(), CurrentGState, g_AlmassMathFuncs, GooseMemoryLocation::m_foodresource, m_groupsize, m_myForageIndex, m_myGooseSpeciesType, m_MyMemory, m_MyRoost, m_OurPopulationManager, GooseMemoryLocation::m_polygonid, GooseMemoryLocation::m_score, GooseMemoryLocation::m_threat, GooseMemoryLocation::m_x, GooseMemoryLocation::m_y, GooseMemoryMap::MemAdd(), Goose_Population_Manager::RemoveGeeseFromForageLocation(), and st_ChooseForageLocation().
Referenced by Goose_Population_Manager::BangAtPoly().
void Goose_Base::On_Bang | ( | int | a_polyid, |
double | a_scare | ||
) |
The goose is scared by a bang at location.
The goose has heard a shot. It remembers the location the shot came from as bad and flies away to find another place to forage. This version allows a variable scare value to be remembered. The first test is because the shot might have killed it already!
[in] | a_polyid | The polygon id from where the shot was fired. |
[in] | a_scare | The scare value. |
We have been scared off, so we the correct number of geese at that location before we fly off to find a new forage location
Definition at line 670 of file Goose_Base.cpp.
References ALMaSS_MathFuncs::CalcDistPythagorasApprox(), GooseMemoryMap::CalcScore(), GooseMemoryMap::ChangeAddThreat(), CurrentGState, g_AlmassMathFuncs, GooseMemoryLocation::m_foodresource, m_groupsize, m_myForageIndex, m_myGooseSpeciesType, m_MyMemory, m_MyRoost, m_OurPopulationManager, GooseMemoryLocation::m_polygonid, GooseMemoryLocation::m_score, GooseMemoryLocation::m_threat, GooseMemoryLocation::m_x, GooseMemoryLocation::m_y, GooseMemoryMap::MemAdd(), Goose_Population_Manager::RemoveGeeseFromForageLocation(), and st_ChooseForageLocation().
|
inlinevirtual |
Cause the bird to immediately transition to Emigrate.
Definition at line 387 of file Goose_Base.h.
References CurrentGState, and togs_Emigrate.
void Goose_Base::On_Migrate | ( | TTypeOfLeaveReason | a_leavereason | ) |
The goose is told to leave the simulation area (poss due to bad weather)
We need to migrate out of the simulation and record the reason for leaving. This is currently done by killing the bird. No birds are migrating back into the simulation.
[in] | a_leavereason | The reason for leaving. One of the values in the enum TTypeOfLeaveReason. |
Definition at line 722 of file Goose_Base.cpp.
References CurrentGState, m_myGooseSpeciesType, m_OurPopulationManager, Goose_Population_Manager::RecordLeaveReason(), and togs_Die.
Referenced by StartDay(), Goose_Barnacle_FamilyGroup::Step(), Goose_Pinkfoot_FamilyGroup::Step(), Goose_Greylag_FamilyGroup::Step(), Goose_Pinkfoot_NonBreeder::Step(), Goose_Barnacle_NonBreeder::Step(), and Goose_Greylag_NonBreeder::Step().
|
inline |
The goose is moved to the location specified by a_x, a_y - caused by group decision.
Definition at line 640 of file Goose_Base.h.
References FlyTo().
void Goose_Base::ReInit | ( | Landscape * | p_L, |
Goose_Population_Manager * | p_NPM, | ||
double | a_weight, | ||
bool | a_sex, | ||
APoint | a_roost | ||
) |
ReInit for object pool.
Definition at line 168 of file Goose_Base.cpp.
References Init().
Referenced by Goose_Barnacle_Base::ReInit(), Goose_Pinkfoot_Base::ReInit(), and Goose_Greylag_Base::ReInit().
|
inline |
Scales forage to groupsize.
Definition at line 414 of file Goose_Base.h.
References m_groupsize.
Referenced by st_Forage().
|
inline |
Set the fat to kJ conversion constant for all geese.
Definition at line 600 of file Goose_Base.h.
References m_GooseFattoKJConversion.
Referenced by Goose_Population_Manager::Goose_Population_Manager().
|
inline |
Set the max forage distance from a field for all geese.
Definition at line 622 of file Goose_Base.h.
References m_GooseFieldForageDist, and m_GooseFieldForageDistX2.
Referenced by Goose_Population_Manager::Goose_Population_Manager().
|
inline |
Set the followinglikelyhood.
Definition at line 634 of file Goose_Base.h.
References m_followinglikelyhood.
Referenced by Goose_Population_Manager::Goose_Population_Manager().
|
inline |
Set the max forage distance from roost for all geese.
Definition at line 608 of file Goose_Base.h.
References m_GooseForageDist, and m_GooseForageDistX2.
Referenced by Goose_Population_Manager::Goose_Population_Manager().
|
inline |
Set the kJ to fat conversion constant for all geese.
Definition at line 596 of file Goose_Base.h.
References m_GooseKJtoFatConversion.
Referenced by Goose_Population_Manager::Goose_Population_Manager().
|
inline |
Set the flag to indicate if we are coming from the roost.
Definition at line 636 of file Goose_Base.h.
References m_LeavingRoost.
Referenced by Goose_Population_Manager::Goose_Population_Manager(), st_ChooseForageLocation(), and st_Roost().
|
inline |
Set the body condition threshold for leaving for all geese.
Definition at line 584 of file Goose_Base.h.
References m_GooseLeavingThreshold.
Referenced by Goose_Population_Manager::Goose_Population_Manager().
|
inline |
Set the goose appetite scale used to calculate max intake for all geese.
Definition at line 588 of file Goose_Base.h.
References m_GooseMaxAppetiteScaler.
Referenced by Goose_Population_Manager::Goose_Population_Manager().
|
inline |
Set the maximum energy reserve proportion allowed for all geese.
Definition at line 592 of file Goose_Base.h.
References m_GooseMaxEnergyReserveProportion.
Referenced by Goose_Population_Manager::Goose_Population_Manager().
|
inline |
Set the min forage openess for all geese.
Definition at line 604 of file Goose_Base.h.
References m_GooseMinForageOpenness.
Referenced by Goose_Population_Manager::Goose_Population_Manager().
|
inline |
Set the mimimum tolerated forage rate for the individual goose.
Definition at line 578 of file Goose_Base.h.
References m_Indivmingooseforagerate.
Referenced by Goose_Population_Manager::Goose_Population_Manager(), st_Forage(), and StartDay().
|
inline |
Set the mimimum tolerated forage rate for all geese.
Definition at line 574 of file Goose_Base.h.
References m_mingooseforagerate.
Referenced by Goose_Population_Manager::Goose_Population_Manager(), and StartDay().
|
inline |
Sets the current body condition.
Definition at line 398 of file Goose_Base.h.
References m_BodyCondition.
Referenced by StartDay().
|
inline |
Set the flight cost per m per g.
Definition at line 564 of file Goose_Base.h.
References m_flightcost.
Referenced by Goose_Population_Manager::Goose_Population_Manager().
|
inline |
|
protected |
Selects a forage location based on past memory, or initiates an exploration.
Depending on the rules in force we probably only want to follow geese from our own species, and maybe from our own roost
First searches memory for the best forage location remembered. If it finds one then it flies there and calculates the energetic cost. If no suitable memory is found then initiates an exploration.
Once the goose arrives at a forage location it needs to add itself to the geese already there, or initiate a forage location if one does not exist.
Definition at line 258 of file Goose_Base.cpp.
References Goose_Population_Manager::AddGeeseToForageLocation(), ALMaSS_MathFuncs::CalcDistPythagorasApprox(), GooseMemoryMap::CalcScore(), cfg_goose_AfterDarkTime, GooseMemoryMap::ChangeSetFoodRes(), Explore(), FlyTo(), Goose_Population_Manager::ForageLocationInUse(), g_AlmassMathFuncs, g_msg, g_rand_uni2, GooseMemoryMap::GetBestFeedingScore(), Goose_Population_Manager::GetBirdsAtForageLoc(), Goose_Population_Manager::GetDayTime(), Goose_Population_Manager::GetFeedingRate(), Goose_Population_Manager::GetForageGooseDensity(), Goose_Population_Manager::GetForageLocation(), GetForageLocIndex(), Goose_Population_Manager::GetForageLocIndex(), Goose_Population_Manager::GetForageRateDensity(), GooseActiveForageLocation::GetGrainDensity(), GooseActiveForageLocation::GetGrazing(), Goose_Population_Manager::GetLeader(), GooseActiveForageLocation::GetMaizeDensity(), Goose_Population_Manager::GetMaizeFeedingRate(), GetMaxForageRate(), GetMaxIntakeRate(), GooseActiveForageLocation::GetPolygonref(), GooseMemoryMap::IsKnownArea(), m_followinglikelyhood, GooseMemoryLocation::m_foodresource, m_forageLocCount, GooseMemoryLocation::m_grain, GooseMemoryLocation::m_grazing, m_groupsize, m_Indivmingooseforagerate, m_LeavingRoost, GooseMemoryLocation::m_maize, m_myForageIndex, m_myGooseSpeciesType, m_MyMemory, m_myMemPolyID, m_MyRoost, m_myspecies, m_OurPopulationManager, GooseMemoryLocation::m_polygonid, GooseMemoryLocation::m_score, GooseMemoryLocation::m_threat, GooseMemoryLocation::m_x, GooseMemoryLocation::m_y, GooseMemoryMap::MemAdd(), Goose_Population_Manager::NewForageLocation(), Goose_Population_Manager::RecordState(), Set_GooseLeavingRoost(), togs_ChooseForageLocation, togs_Forage, togs_ToRoost, CfgInt::value(), and MapErrorMsg::Warn().
Referenced by On_Bang(), Goose_Barnacle_FamilyGroup::Step(), Goose_Pinkfoot_FamilyGroup::Step(), Goose_Greylag_FamilyGroup::Step(), Goose_Pinkfoot_NonBreeder::Step(), Goose_Barnacle_NonBreeder::Step(), and Goose_Greylag_NonBreeder::Step().
void Goose_Base::st_Dying | ( | void | ) |
Behavioural state dying.
Definition at line 251 of file Goose_Base.cpp.
References m_MyMemory.
Referenced by Goose_Barnacle_FamilyGroup::Step(), Goose_Pinkfoot_FamilyGroup::Step(), Goose_Greylag_FamilyGroup::Step(), Goose_Pinkfoot_NonBreeder::Step(), Goose_Barnacle_NonBreeder::Step(), and Goose_Greylag_NonBreeder::Step().
TTypeOfGoose_BaseState Goose_Base::st_Forage | ( | ) |
Behavioural forage.
Must assess the competition status here (must be at a forage location to call this state). If the forage rate resulting from competition and forage availability is too low then the bird will move the flock/family, otherwise it will signal feeding at a certain rate. The forage loss will need to be calculated and sent to the LE polygon (foragae location) in question. This is done immediately since it will influence the forage assessment of birds not yet considered in this step (assumed to come later).
The first things is to check if we are near the end of daylight, if so then fly to roost.
If the goose has eaten all it can in a day, then it just rests on the field until evening.
Get the grain and forage density - NB is in KJ, which needs to be to needs to be remembered.
Here we do the forage calculation.The intake rate depends on : -1 The grain or grazing resource available -2 The relationship between resource and intake rate.This is dependent on the species and family or non - breeder. It also depends on the type of resource, i.e. the response for grain is different than for grazing. -3 The number of geese which will determine an interference competition factor, which reduces intake rate
Then decide if this is OK or not. The simplest here is to compare to a standard intake rate threshold for the species/type combination.
If can't get our required forage rate then try to find somewhere that we can, and if we find a place that cannot meet our requirements then we want to forget this place fast.
No food here, so lower the acceptable level of MFR
If the goose decides to move on immediately then it must deregister itself or group with the population manager at this forage location. This is done by using RemoveGeeseFromForageLocation
If OK then how long should we feed?
There are three constraints:
Definition at line 433 of file Goose_Base.cpp.
References cfg_goose_AfterDarkTime, cfg_goose_MinForageRateDecayRate, GooseMemoryMap::ChangeSetFoodRes(), g_msg, Goose_Population_Manager::GetBirdsAtForageLoc(), Goose_Population_Manager::GetDayTime(), Goose_Population_Manager::GetFeedingRate(), Goose_Population_Manager::GetForageGooseDensity(), Goose_Population_Manager::GetForageRateDensity(), GetGooseMinForageRate(), Goose_Population_Manager::GetMaizeFeedingRate(), GetMaxForageRate(), m_DailyMaxAppetite, m_DailyMaxAppetiteHitTime, m_energyToday, Goose_Population_Manager::m_GooseForageLocations, m_groupsize, m_Indivmingooseforagerate, TMaxIntakeSource::m_maxintakesource, m_MaxIntakeSource, m_myForageIndex, m_myGooseSpeciesType, m_MyMemory, m_myMemPolyID, m_myspecies, m_OurPopulationManager, GooseMemoryMap::MemDel(), Goose_Population_Manager::RemoveGeeseFromForageLocation(), Goose_Population_Manager::RemoveMaxForageKj(), ScaleForageToGroupsize(), Set_Indivmingooseforagerate(), togs_ChooseForageLocation, togs_Forage, togs_ToRoost, CfgInt::value(), CfgFloat::value(), and MapErrorMsg::Warn().
Referenced by Goose_Barnacle_FamilyGroup::Step(), Goose_Pinkfoot_FamilyGroup::Step(), Goose_Greylag_FamilyGroup::Step(), Goose_Pinkfoot_NonBreeder::Step(), Goose_Barnacle_NonBreeder::Step(), and Goose_Greylag_NonBreeder::Step().
TTypeOfGoose_BaseState Goose_Base::st_Roost | ( | ) |
Roosting until next forage or next morning.
Assesses whether it is daylight and time to leave the roost. If not it continues to roost.
m_LeaveRoostTime is a way to stagger the birds leaving the roost. Each birds has its own leave time set each day.
Definition at line 550 of file Goose_Base.cpp.
References Goose_Population_Manager::GetDayTime(), Goose_Population_Manager::GetIsDaylight(), m_LeaveRoostTime, m_OurPopulationManager, Set_GooseLeavingRoost(), togs_ChooseForageLocation, and togs_Roost.
Referenced by Goose_Barnacle_FamilyGroup::Step(), Goose_Pinkfoot_FamilyGroup::Step(), Goose_Greylag_FamilyGroup::Step(), Goose_Pinkfoot_NonBreeder::Step(), Goose_Barnacle_NonBreeder::Step(), and Goose_Greylag_NonBreeder::Step().
|
virtual |
Return to roost and assess whether to forage again that day.
Reimplemented in Goose_Barnacle_Base, Goose_Greylag_Base, and Goose_Pinkfoot_Base.
Definition at line 544 of file Goose_Base.cpp.
References togs_foobar.
|
virtual |
Do any 'housekeeping' associated with the start of day.
Definition at line 181 of file Goose_Base.cpp.
References AddBodyCondition(), cfg_goose_daytime_BMR_multiplier, cfg_goose_nighttime_BMR_multiplier, GooseMemoryMap::DecayAllMemory(), Goose_Population_Manager::GetDayTime(), GetForagingTime(), Goose_Population_Manager::GetThermalCosts(), m_BMR, m_BodyCondition, m_BodyConditionCounter, m_DailyMaxAppetiteHitTime, m_DEB, m_energyReserve, m_energyToday, m_FlightDistance, m_FlightNumber, m_forageLocCount, m_GooseFattoKJConversion, m_GooseKJtoFatConversion, m_GooseLeavingThreshold, m_GooseMaxEnergyReserveProportion, m_groupsize, m_LeaveRoostTime, m_MyMemory, m_myspecies, m_OurPopulationManager, m_SnowDepth, m_TheBodyCondition, Goose_Population_Manager::m_variate_generator, m_weight, m_weightTotal, On_Migrate(), Goose_Population_Manager::RecordDailyEnergyBalance(), Goose_Population_Manager::RecordDailyEnergyBudget(), Goose_Population_Manager::RecordFlightDistance(), Goose_Population_Manager::RecordForagingTime(), Goose_Population_Manager::RecordIndForageLoc(), Goose_Population_Manager::RecordWeight(), Set_Indivmingooseforagerate(), Set_mingooseforagerate(), SetBodyCondition(), SubtractBodyCondition(), tolr_bodycondition, tolr_leanweight, and CfgFloat::value().
Referenced by BeginStep().
|
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 in Goose_Greylag_NonBreeder, Goose_Barnacle_NonBreeder, Goose_Pinkfoot_NonBreeder, Goose_Greylag_FamilyGroup, Goose_Barnacle_FamilyGroup, and Goose_Pinkfoot_FamilyGroup.
Definition at line 244 of file Goose_Base.cpp.
|
inline |
Alters body conditon by subtraction of a double value.
Definition at line 406 of file Goose_Base.h.
References m_TheBodyCondition.
Referenced by StartDay().
|
protected |
Variable to record current behavioural state.
A Goose_Base must have some simple functionality: Inititation Movement Dying
Inherits m_Location_x, m_Location_y, m_OurLandscape from TAnimal NB All areas are squares of size length X length
Definition at line 147 of file Goose_Base.h.
Referenced by On_Bang(), On_Emigrate(), On_Migrate(), Goose_Pinkfoot_FamilyGroup::Step(), Goose_Barnacle_FamilyGroup::Step(), Goose_Greylag_FamilyGroup::Step(), Goose_Pinkfoot_NonBreeder::Step(), Goose_Barnacle_NonBreeder::Step(), and Goose_Greylag_NonBreeder::Step().
|
protected |
The daily BMR.
Definition at line 187 of file Goose_Base.h.
Referenced by Goose_Barnacle_Base::Init(), Goose_Pinkfoot_Base::Init(), Goose_Greylag_Base::Init(), and StartDay().
|
protected |
A variable describing current body condition over the past 5 days.
Definition at line 279 of file Goose_Base.h.
Referenced by SetBodyCondition(), and StartDay().
|
protected |
A counter for the daily body condition.
Definition at line 287 of file Goose_Base.h.
Referenced by StartDay().
|
protected |
The daily max kJ possible to get as intake.
Definition at line 195 of file Goose_Base.h.
Referenced by Goose_Barnacle_Base::Init(), Goose_Pinkfoot_Base::Init(), Goose_Greylag_Base::Init(), and st_Forage().
|
protected |
The time of day when m_DailyMaxAppetite was hit.
Definition at line 203 of file Goose_Base.h.
Referenced by GetMaxAppetiteHitTime(), st_Forage(), and StartDay().
|
protected |
The daily energy budget excluding flying (kJ)
Definition at line 191 of file Goose_Base.h.
Referenced by GetDailyEnergyBudget(), Goose_Pinkfoot_Base::Init(), Goose_Greylag_Base::Init(), Goose_Barnacle_Base::Init(), and StartDay().
|
protected |
The bird's energy reserves in grams.
Definition at line 223 of file Goose_Base.h.
Referenced by StartDay().
|
protected |
The bird's daily energy account (kJ)
Definition at line 207 of file Goose_Base.h.
Referenced by FlyTo(), GetDailyEnergyExpenditure(), st_Forage(), and StartDay().
|
staticprotected |
The cost of flight per g per m in kJ.
but with correct values.
Definition at line 227 of file Goose_Base.h.
Referenced by GetFlightCost(), and SetFlightCost().
|
protected |
Storage for the total distance flown per day.
Definition at line 311 of file Goose_Base.h.
Referenced by FlyTo(), GetFlightDistance(), and StartDay().
|
protected |
Counter for the number of flights per day.
Definition at line 307 of file Goose_Base.h.
Referenced by FlyTo(), GetFlightNumber(), and StartDay().
|
staticprotected |
An attribute used to determine the chance of following or exploring when foraging.
Definition at line 303 of file Goose_Base.h.
Referenced by Set_GooseFollowingLikelyhood(), and st_ChooseForageLocation().
|
protected |
The number of forage locations visited today.
Definition at line 183 of file Goose_Base.h.
Referenced by st_ChooseForageLocation(), and StartDay().
|
staticprotected |
Conversion rate fat to kJ.
Definition at line 271 of file Goose_Base.h.
Referenced by Set_GooseFattoKJConversion(), and StartDay().
|
staticprotected |
The maximum distance travelled from roost to forage sites for each species of goose (m)
Definition at line 247 of file Goose_Base.h.
Referenced by Goose_Barnacle_Base::ChooseHopLoc(), Goose_Pinkfoot_Base::ChooseHopLoc(), and Set_GooseFieldForageDist().
|
staticprotected |
Double the maximum distance travelled from roost to forage sites for each species of goose (m) - this is a speed optimisation.
Definition at line 251 of file Goose_Base.h.
Referenced by Goose_Barnacle_Base::ChooseHopLoc(), Goose_Pinkfoot_Base::ChooseHopLoc(), and Set_GooseFieldForageDist().
|
staticprotected |
The maximum distance travelled from roost to forage sites for each species of goose (m)
Definition at line 239 of file Goose_Base.h.
Referenced by Goose_Barnacle_Base::ChooseHopLoc(), Goose_Pinkfoot_Base::ChooseHopLoc(), Goose_Greylag_Base::ChooseHopLoc(), and Set_GooseForageDist().
|
staticprotected |
Double the maximum distance travelled from roost to forage sites for each species of goose (m) - this is a speed optimisation.
Definition at line 243 of file Goose_Base.h.
Referenced by Goose_Barnacle_Base::ChooseHopLoc(), Goose_Pinkfoot_Base::ChooseHopLoc(), Goose_Greylag_Base::ChooseHopLoc(), and Set_GooseForageDist().
|
staticprotected |
Conversion rate kJ to fat.
Definition at line 267 of file Goose_Base.h.
Referenced by Set_GooseKJtoFatConversion(), and StartDay().
|
staticprotected |
The trigger for leaving as a 5 day average of body condition.
Definition at line 255 of file Goose_Base.h.
Referenced by Set_GooseLeavingThreshold(), and StartDay().
|
staticprotected |
Scaler to determine the max kJ possible to eat per day based on non-energy reserve weight.
Definition at line 259 of file Goose_Base.h.
Referenced by Goose_Barnacle_Base::Init(), Goose_Pinkfoot_Base::Init(), Goose_Greylag_Base::Init(), and Set_GooseMaxAppetiteScaler().
|
staticprotected |
Max proportion of weight that can be energy reserve.
Definition at line 263 of file Goose_Base.h.
Referenced by Set_GooseMaxEnergyReserveProportion(), and StartDay().
|
staticprotected |
The minimum openness value a goose will tolerate for forage.
Definition at line 275 of file Goose_Base.h.
Referenced by EvaluateForageToHopLoc(), and Set_GooseMinForageOpenness().
|
protected |
The size of the group this bird represents.
Definition at line 171 of file Goose_Base.h.
Referenced by GetGroupsize(), Goose_Barnacle_FamilyGroup::Init(), Goose_Pinkfoot_FamilyGroup::Init(), Goose_Greylag_FamilyGroup::Init(), Goose_Barnacle_NonBreeder::Init(), Goose_Pinkfoot_NonBreeder::Init(), Goose_Greylag_NonBreeder::Init(), Goose_Pinkfoot_FamilyGroup::KillThis(), Goose_Barnacle_FamilyGroup::KillThis(), Goose_Greylag_FamilyGroup::KillThis(), On_Bang(), ScaleForageToGroupsize(), st_ChooseForageLocation(), st_Forage(), Goose_Barnacle_Base::st_ToRoost(), Goose_Greylag_Base::st_ToRoost(), Goose_Pinkfoot_Base::st_ToRoost(), and StartDay().
|
protected |
The minimum tolerable forage rate in kJ/minute for the individual.
Definition at line 231 of file Goose_Base.h.
Referenced by Set_Indivmingooseforagerate(), st_ChooseForageLocation(), and st_Forage().
|
protected |
Controls the time when the goose will leave the roost.
Definition at line 215 of file Goose_Base.h.
Referenced by GetRoostLeaveTime(), st_Roost(), and StartDay().
|
protected |
Flag to indicate that we are coming from the roost. Used to control code for "following".
Definition at line 219 of file Goose_Base.h.
Referenced by Set_GooseLeavingRoost(), and st_ChooseForageLocation().
|
protected |
Holds information about the food source which gave max intake rate.
Definition at line 211 of file Goose_Base.h.
Referenced by GetMaxForageRate(), GetMaxIntakeSource(), and st_Forage().
|
staticprotected |
The minimum tolerable forage rate in kJ/minute for the species.
Definition at line 235 of file Goose_Base.h.
Referenced by GetGooseMinForageRate(), and Set_mingooseforagerate().
|
protected |
Temporary storage for a forage location index - this is a speed optimisation.
Definition at line 291 of file Goose_Base.h.
Referenced by GetForageLocIndex(), Goose_Pinkfoot_FamilyGroup::KillThis(), Goose_Barnacle_FamilyGroup::KillThis(), Goose_Greylag_FamilyGroup::KillThis(), KillThis(), On_Bang(), st_ChooseForageLocation(), st_Forage(), Goose_Pinkfoot_Base::st_ToRoost(), Goose_Barnacle_Base::st_ToRoost(), and Goose_Greylag_Base::st_ToRoost().
|
protected |
Holds the goose species type.
Definition at line 163 of file Goose_Base.h.
Referenced by Goose_Barnacle_FamilyGroup::Init(), Goose_Pinkfoot_FamilyGroup::Init(), Goose_Greylag_FamilyGroup::Init(), Goose_Pinkfoot_NonBreeder::Init(), Goose_Barnacle_NonBreeder::Init(), Goose_Greylag_NonBreeder::Init(), Goose_Barnacle_FamilyGroup::KillThis(), Goose_Pinkfoot_FamilyGroup::KillThis(), Goose_Greylag_FamilyGroup::KillThis(), KillThis(), On_Bang(), On_Migrate(), st_ChooseForageLocation(), st_Forage(), Goose_Greylag_Base::st_ToRoost(), Goose_Pinkfoot_Base::st_ToRoost(), and Goose_Barnacle_Base::st_ToRoost().
|
protected |
The Goose Memory.
Definition at line 299 of file Goose_Base.h.
Referenced by EvaluateForageToHopLoc(), Goose_Barnacle_FamilyGroup::KillThis(), Goose_Pinkfoot_FamilyGroup::KillThis(), Goose_Greylag_FamilyGroup::KillThis(), On_Bang(), st_ChooseForageLocation(), st_Dying(), st_Forage(), StartDay(), and ~Goose_Base().
|
protected |
Temporary storage for a memory location polygon id.
Definition at line 295 of file Goose_Base.h.
Referenced by st_ChooseForageLocation(), and st_Forage().
|
protected |
The current roost location.
Definition at line 167 of file Goose_Base.h.
Referenced by Goose_Barnacle_Base::ChooseHopLoc(), Goose_Greylag_Base::ChooseHopLoc(), Goose_Pinkfoot_Base::ChooseHopLoc(), ChooseHopLoc(), EvaluateForageToHopLoc(), GetRoost(), On_Bang(), st_ChooseForageLocation(), Goose_Pinkfoot_Base::st_ToRoost(), Goose_Barnacle_Base::st_ToRoost(), and Goose_Greylag_Base::st_ToRoost().
|
protected |
Holds goose species.
Definition at line 159 of file Goose_Base.h.
Referenced by EvaluateForageToHopLoc(), GetSpecies(), Goose_Greylag_Base::Init(), Goose_Pinkfoot_Base::Init(), Goose_Barnacle_Base::Init(), st_ChooseForageLocation(), st_Forage(), and StartDay().
|
protected |
This is a time saving pointer to the correct population manager object.
Definition at line 151 of file Goose_Base.h.
Referenced by Goose_Barnacle_Base::ChangeRoost(), Goose_Greylag_Base::ChangeRoost(), Goose_Pinkfoot_Base::ChangeRoost(), EvaluateForageToHopLoc(), Goose_Barnacle_Base::Init(), Goose_Pinkfoot_Base::Init(), Goose_Greylag_Base::Init(), Goose_Pinkfoot_FamilyGroup::KillThis(), Goose_Barnacle_FamilyGroup::KillThis(), Goose_Greylag_FamilyGroup::KillThis(), KillThis(), On_Bang(), On_Migrate(), st_ChooseForageLocation(), st_Forage(), st_Roost(), Goose_Barnacle_Base::st_ToRoost(), Goose_Pinkfoot_Base::st_ToRoost(), Goose_Greylag_Base::st_ToRoost(), and StartDay().
|
protected |
Sex of bird, true = male false = female.
Definition at line 155 of file Goose_Base.h.
|
staticprotected |
The current snow depth. Held here for speed optimization.
Definition at line 199 of file Goose_Base.h.
Referenced by AdjustIntakeRateToSnowDepth(), and StartDay().
|
protected |
A variable describing current body condition averaged over 5 days.
Definition at line 283 of file Goose_Base.h.
Referenced by AddBodyCondition(), GetBodyCondition(), StartDay(), and SubtractBodyCondition().
|
protected |
The weight of the bird in gram excluding fat reserve.
Definition at line 175 of file Goose_Base.h.
Referenced by StartDay().
|
protected |
The weight of the bird in g including fat reserve.
Definition at line 179 of file Goose_Base.h.
Referenced by GetFlightCost(), GetTotalWeight(), and StartDay().