ALMaSS Rabbit ODdox  1.00
The rabbit model description following ODdox protocol
Public Member Functions | Protected Member Functions | List of all members
Rabbit_Male Class Reference

The rabbit male class. All special male behaviour is described here. More...

#include <Rabbit.h>

Inheritance diagram for Rabbit_Male:
Rabbit_Adult Rabbit_Base TAnimal TALMaSSObject

Public Member Functions

 Rabbit_Male (int p_x, int p_y, int p_x2, int p_y2, Landscape *p_L, Rabbit_Population_Manager *p_NPM, int a_age, int a_weightage, Rabbit_Warren *a_warren)
 Rabbit_Male constructor. More...
 
virtual ~Rabbit_Male (void)
 Rabbit_Male destructor. More...
 
virtual void Step (void)
 The male rabbit step code. More...
 
- Public Member Functions inherited from Rabbit_Adult
 Rabbit_Adult (int p_x, int p_y, int p_x2, int p_y2, Landscape *p_L, Rabbit_Population_Manager *p_NPM, int a_age, int a_weightage, Rabbit_Warren *a_warren)
 Rabbit_Adult constructor. More...
 
virtual ~Rabbit_Adult ()
 Rabbit_Adult destructor. More...
 
TTypesOfRabbitSocialStatus GetSocialStatus (void)
 Return the dominance status. More...
 
void SetSocialStatus (TTypesOfRabbitSocialStatus a_status)
 Sets the dominance status. More...
 
void SetMate (Rabbit_Adult *a_mate)
 Set/unset mate status. More...
 
virtual Rabbit_AdultGetMate (void)
 Get mate pointer. More...
 
void OnMateFinishedDigging (Rabbit_Adult *a_mate)
 Action when a mate has finished digging a burrow. More...
 
void OnMateDead (Rabbit_Adult *a_mate)
 Set/unset mate status. 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_WarrenGetWarren (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...
 
- 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 TTypeOfRabbitState st_EvaluateTerritory (void)
 Male Evaluate Territory Step. More...
 
virtual TTypeOfRabbitState st_Forage (void)
 Adult male forage behaviour. More...
 
virtual void InternalPesticideHandlingAndResponse ()
 Handles internal effects of pesticide exposure - reimplemented from base class. More...
 
- Protected Member Functions inherited from Rabbit_Adult
virtual void st_Dying (void)
 Default dying state. More...
 
virtual void EndStep (void)
 The EndStep is the last 'part' of the timestep that an animal can behave in. 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 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_Adult
TTypesOfRabbitSocialStatus m_socialstatus
 Flag to record dominance status (0-4) More...
 
int m_lifespan
 The rabbit's alloted lifespan. More...
 
Rabbit_Adultm_myMate
 Pointer to the mate if any. 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_Managerm_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_Warrenm_myWarren
 True if currently mated. More...
 
Rabbit_Femalem_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
 
Landscapem_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...
 

Detailed Description

The rabbit male class. All special male behaviour is described here.

Definition at line 422 of file Rabbit.h.

Constructor & Destructor Documentation

Rabbit_Male::Rabbit_Male ( int  p_x,
int  p_y,
int  p_x2,
int  p_y2,
Landscape p_L,
Rabbit_Population_Manager p_NPM,
int  a_age,
int  a_weightage,
Rabbit_Warren a_warren 
)

Rabbit_Male constructor.

Definition at line 713 of file Rabbit.cpp.

References Rabbit_Base::m_RabbitType, Rabbit_Warren::RabbitProductionRecord(), and rob_Male.

713  : Rabbit_Adult(p_x, p_y, p_x2, p_y2, p_L, p_NPM, a_age, a_weightage, a_warren)
714 {
716  if (a_warren != NULL) a_warren->RabbitProductionRecord(rob_Male, 1);
717 }
Rabbit_Adult(int p_x, int p_y, int p_x2, int p_y2, Landscape *p_L, Rabbit_Population_Manager *p_NPM, int a_age, int a_weightage, Rabbit_Warren *a_warren)
Rabbit_Adult constructor.
Definition: Rabbit.cpp:523
RabbitObjectTypes m_RabbitType
The rabbits type.
Definition: Rabbit.h:170
void RabbitProductionRecord(RabbitObjectTypes YoungType, int kits)
Stores data about production of rabbits throughout year.
Definition: Rabbit.h:582
Rabbit_Male::~Rabbit_Male ( void  )
virtual

Rabbit_Male destructor.

Definition at line 720 of file Rabbit.cpp.

721 {
722  ;
723 }

Member Function Documentation

void Rabbit_Male::InternalPesticideHandlingAndResponse ( )
protectedvirtual

Handles internal effects of pesticide exposure - reimplemented from base class.

This method is re-implemented ffrom Rabbit_Base for any class which has pesticide response behaviour. If the body burden exceeds the trigger then call pesticide-specific actions by dose

Reimplemented from Rabbit_Base.

Definition at line 1364 of file Rabbit.cpp.

References cfg_RabbitPesticideResponse, Rabbit_Base::GeneralOrganoPhosphate(), TAnimal::m_OurLandscape, Rabbit_Base::m_pesticide_burden, Rabbit_Base::m_pesticidedegradationrate, Rabbit_Base::m_weight, Landscape::SupplyPesticideType(), ttop_AcuteEffects, ttop_NoPesticide, ttop_ReproductiveEffects, CfgFloat::value(), and MapErrorMsg::Warn().

1364  {
1370  double pesticideInternalConc = m_pesticide_burden / m_weight;
1371 
1372  if (pesticideInternalConc > cfg_RabbitPesticideResponse.value()) {
1373  switch (tp) {
1374  case ttop_NoPesticide:
1375  break;
1377  break;
1378  case ttop_AcuteEffects:
1379  GeneralOrganoPhosphate( pesticideInternalConc ); // Calls the GeneralOrganophosphate action code
1380  break;
1381  default:
1382  g_msg->Warn( "Unknown pesticide type used in Rabbit_Male::InternalPesticideHandlingAndResponse() pesticide code ", int( tp ) );
1383  exit( 47 );
1384  }
1385  }
1386  m_pesticide_burden *= m_pesticidedegradationrate; // Does nothing by default except internal degredation of the pesticide
1387 }
static double m_pesticidedegradationrate
State variable used to hold the daily degredation rate of the pesticide in the body.
Definition: Rabbit.h:174
double m_weight
The weight in g.
Definition: Rabbit.h:195
double value(void)
Definition: configurator.h:107
MapErrorMsg * g_msg
Definition: maperrormsg.cpp:38
Landscape * m_OurLandscape
virtual void GeneralOrganoPhosphate(double)
Handles internal effects of organophosphate pesticide exposure.
Definition: Rabbit.cpp:1432
CfgFloat cfg_RabbitPesticideResponse("RABBIT_PESTICDERESPONSETHRESHOLD", CFG_CUSTOM, 0.00001)
Input variable. The threshold above which a rabbit will be killed if it ingests pesticide.
TTypesOfPesticide SupplyPesticideType(void)
Definition: landscape.h:401
void Warn(MapErrorState a_level, std::string a_msg1, std::string a_msg2)
Definition: maperrormsg.cpp:56
double m_pesticide_burden
State variable used to hold the current body-burden of pesticide.
Definition: Rabbit.h:203
TTypesOfPesticide
Definition: landscape.h:64
TTypeOfRabbitState Rabbit_Male::st_EvaluateTerritory ( void  )
protectedvirtual

Male Evaluate Territory Step.

Returns
The next behavioural state. The only legal returns are toRabbits_EvaluateTerritory and toRabbits_Die

The rabbit must evaluate his territory and decide if he will stay or leave. This decision is based on a number of criteria:

  1. An evaluation of the social mate status
  2. An evaluation of the current mate status
  3. An evaluation of the current territory quality
  4. A comparison with potential areas explored nearby

Here we make the assumption that if suitable quality unoccupied territory is known to be available and the rabbit is not dominant, then it will move to set up a territory there. If none is avaible or known, then the rabbit will remain as subordinate as long as the current territory can support him. If he is forced out he must find a vacent place or will die. If he stays he may become dominant one day.

If he has no mate (he may be digging and not have a burrow) then before anything else we need to evaluate our current warren for possibilities - could be vacant burrow or mate here for us. If no warren for some reason (could be start-up conditions), then find one.

Next he moves there, and assesses whether he can join

If there is a free burrow then joining is certain. If the warren site is unoccupied then currently the rabbit will join it and start to dig. This behaviour might need to be altered later, if rabbits might not start up alone so easily.

If nothing doing locally the Rabbit will move if conditions elsewhere are better and is not dominant or mated:

  • If itinerent, possible free territory -> move
  • If a mate is possible in the new place -> move

Definition at line 770 of file Rabbit.cpp.

References Rabbit_Population_Manager::FindClosestWarren(), g_rand_uni, Rabbit_Warren::GetCarryingCapacity(), Rabbit_Warren::GetNetworkWarren(), Rabbit_Warren::GetPopulationSize(), Rabbit_Warren::IsFreeBurrow(), Rabbit_Warren::IsFreeFemale(), Rabbit_Warren::Join(), Rabbit_Warren::JoinNMate(), Rabbit_Warren::JoinNOccupy(), Rabbit_Warren::Leave(), Rabbit_Base::m_digging, Rabbit_Base::m_haveBurrow, TAnimal::m_Location_x, TAnimal::m_Location_y, Rabbit_Adult::m_myMate, Rabbit_Base::m_myWarren, Rabbit_Base::m_OurPopulationManager, Rabbit_Adult::m_socialstatus, Rabbit_Warren::Mate(), Rabbit_Warren::OccupyBurrow(), Rabbit_Warren::OccupyWarren(), rabbit_socialstatus_subdominant, rabbit_socialstatus_subordinate, rabbit_socialstatus_zero, rob_Female, Rabbit_Base::SetDigging(), Rabbit_Base::SetHasBurrow(), Rabbit_Adult::SetSocialStatus(), TAnimal::Supply_m_Location_x(), TAnimal::Supply_m_Location_y(), toRabbits_Die, toRabbits_Foraging, and Rabbit_Base::WalkTo().

Referenced by Step().

770  {
787  if (m_socialstatus > rabbit_socialstatus_subordinate) return toRabbits_Foraging; // Do it all again tomorrow, we are at the top or near the top of the heap in social terms
788  if (m_myMate != NULL) {
789 #ifdef __RABBITDEBUG
790  if (m_digging < 0) {
791  int rubbish = 0;
792  }
793  if (m_haveBurrow) {
794  int rubbish = 0;
795  }
796 #endif
797  return toRabbits_Foraging; // Must be digging a burrow
798  }
799 
800  if (m_myWarren == NULL) {
801  // Must find a warren - finds the closest - NB this code should not often be used, so efficiency here has not been optimised
804  bool survived = WalkTo( aRW->Supply_m_Location_x(), aRW->Supply_m_Location_y() );
805  if (!survived) return toRabbits_Die;
806  if (aRW->IsFreeFemale()) {
807  aRW->JoinNMate( this, rob_Female );
808  }
813  else {
814  int burrow = aRW->IsFreeBurrow();
815  if (burrow == 1) {
816  aRW->JoinNOccupy( this );
817  }
818  else
819  if (burrow == 2) {
820  aRW->OccupyWarren( this );
821  }
822  }
823  return toRabbits_Foraging;
824  }
825  else if (m_myWarren->IsFreeFemale()) {
826  m_myWarren->Mate( this, rob_Female );
827  }
828  else if (m_myWarren->IsFreeBurrow() == 1) {
830  SetDigging( -1 );
832  SetHasBurrow( true );
833  }
834  else if (m_digging > 0) {
835  return toRabbits_Foraging;
836  }
837  else
843  {
845  if (aWarren != NULL) {
846  if (aWarren->IsFreeFemale()) {
847  bool survived = WalkTo( aWarren->Supply_m_Location_x(), aWarren->Supply_m_Location_y() );
848  if (!survived) return toRabbits_Die;
849  m_myWarren->Leave( this );
850  aWarren->JoinNMate( this, rob_Female );
851  }
852  else {
853  int burrows = aWarren->IsFreeBurrow();
854  if (burrows == 1) {
855  bool survived = WalkTo( aWarren->Supply_m_Location_x(), aWarren->Supply_m_Location_y() );
856  if (!survived) return toRabbits_Die;
857  m_myWarren->Leave( this );
858  aWarren->JoinNOccupy( this );
860  }
861  else if (burrows == 2) {
862  bool survived = WalkTo( aWarren->Supply_m_Location_x(), aWarren->Supply_m_Location_y() );
863  if (!survived) return toRabbits_Die;
864  m_myWarren->Leave( this );
865  aWarren->OccupyWarren( this );
866  m_socialstatus = rabbit_socialstatus_subordinate; // Can dig a burrow but don't have one
867  }
868  else {
869  // No room but we may need to move anyway
870  int c = m_myWarren->GetCarryingCapacity();
871  int n = m_myWarren->GetPopulationSize() - (c * 2); // c is number of pairs, but there are 2 + a litter (average 6) as a minimum
872  double occupation = n / (double)c;
873  if (g_rand_uni() < occupation) {
874  bool survived = WalkTo( aWarren->Supply_m_Location_x(), aWarren->Supply_m_Location_y() );
875  if (!survived) return toRabbits_Die;
876  m_myWarren->Leave( this );
877  aWarren->Join( this );
878  SetDigging( -1 );
880  }
881  }
882  }
883  }
884  }
885  return toRabbits_Foraging; // Do it all again tomorrow
886 }
void Leave(Rabbit_Base *a_rabbit)
Remove this adult from the warren list.
Definition: Rabbit.cpp:2111
Rabbit_Warren * FindClosestWarren(int a_x, int a_y, int a_rank)
Finds the closest warren as the crow flies.
void SetSocialStatus(TTypesOfRabbitSocialStatus a_status)
Sets the dominance status.
Definition: Rabbit.h:391
void SetHasBurrow(bool a_status)
Set/unset burrow status.
Definition: Rabbit.h:246
Rabbit_Population_Manager * m_OurPopulationManager
This is a time saving pointer to the correct population manager object.
Definition: Rabbit.h:181
Rabbit_Adult * m_myMate
Pointer to the mate if any.
Definition: Rabbit.h:409
int GetPopulationSize()
Gets the total warren population of rabbits.
Definition: Rabbit.h:572
void Mate(Rabbit_Adult *a_mate, RabbitObjectTypes rob_type)
Mate him with un-mated female/male with a burrow.
Definition: Rabbit.cpp:2163
A class to describe the rabbits warren system.
Definition: Rabbit.h:518
Rabbit_Warren * GetNetworkWarren(void)
Chooses a warren to evaluate based on distance.
Definition: Rabbit.cpp:1907
int m_digging
Flag to denote digging behaviour. This keeps the rabbit in a warren without burrows whilst it tries t...
Definition: Rabbit.h:199
boost::variate_generator< base_generator_type &, boost::uniform_real<> > g_rand_uni
void Join(Rabbit_Base *a_rabbit)
Adds this rabbit to the warren list.
Definition: Rabbit.cpp:2055
TTypesOfRabbitSocialStatus m_socialstatus
Flag to record dominance status (0-4)
Definition: Rabbit.h:405
int Supply_m_Location_y()
int Supply_m_Location_x()
bool IsFreeFemale(void)
Returns true if there is a female with a burrow and no mate.
Definition: Rabbit.cpp:1973
int IsFreeBurrow(void)
Is there a vacent burrow?
Definition: Rabbit.cpp:2029
void SetDigging(int a_days)
Set number of days to dig.
Definition: Rabbit.h:250
void OccupyBurrow()
a_rabbit occupies a free burrow
Definition: Rabbit.cpp:2071
void JoinNOccupy(Rabbit_Adult *a_rabbit)
Adds this adult to the warren list and house them in a suitable burrow.
Definition: Rabbit.cpp:2085
Rabbit_Warren * m_myWarren
True if currently mated.
Definition: Rabbit.h:189
void OccupyWarren(Rabbit_Adult *a_rabbit)
Adds the first rabbit to the warren list.
Definition: Rabbit.cpp:2077
void JoinNMate(Rabbit_Adult *a_mate, RabbitObjectTypes rob_type)
Adds this rabbit to the warren list and mate him with un-mated female/male with a burrow...
Definition: Rabbit.cpp:2218
bool m_haveBurrow
Flag to record burrow status.
Definition: Rabbit.h:185
int GetCarryingCapacity()
Returns the carrying capacity in burrows.
Definition: Rabbit.h:578
bool WalkTo(int a_x, int a_y)
Walks to a location from current location.
Definition: Rabbit.cpp:205
TTypeOfRabbitState Rabbit_Male::st_Forage ( void  )
protectedvirtual

Adult male forage behaviour.

This is a critical part of the pesticide handling code. The rabbit forages from the warren area and as a result picks up pesticide. Exactly how much pesticide is picked up depends on the assumptions regarding foraging behaviour. These can be altered here, but the default assumption is that the rabbit will forage from all suitable forgage locations equally, and therefore will pick up an average or maximum dose based on the concentration of residue in the forage areas. This is precalculated by the Rabbit_Warren in UpdatePesticide. The pesticide response code is placed in EndStep - this will determine direct mortality or set any necessary flags indicating pesticide effects later, e.g. for reproduction.

Definition at line 756 of file Rabbit.cpp.

References Rabbit_Warren::GetForagePesticide(), Rabbit_Base::m_myWarren, Rabbit_Base::m_pesticide_burden, and toRabbits_EvaluateTerritory.

Referenced by Step().

757 {
767 }
double GetForagePesticide(void)
Gets the current mean pesticide concentration per unit forage.
Definition: Rabbit.h:628
Rabbit_Warren * m_myWarren
True if currently mated.
Definition: Rabbit.h:189
double m_pesticide_burden
State variable used to hold the current body-burden of pesticide.
Definition: Rabbit.h:203
void Rabbit_Male::Step ( void  )
virtual

The male rabbit step code.

Reimplemented from Rabbit_Base.

Definition at line 726 of file Rabbit.cpp.

References Rabbit_Base::m_CurrentRState, TALMaSSObject::m_CurrentStateNo, TAnimal::m_OurLandscape, TALMaSSObject::m_StepDone, Rabbit_Adult::st_Dying(), st_EvaluateTerritory(), st_Forage(), toRabbits_Die, toRabbits_EvaluateTerritory, toRabbits_Foraging, toRabbits_InitialState, toRabbits_Remove, and Landscape::Warn().

727 {
728  if (m_StepDone || m_CurrentStateNo == -1) return;
729  switch (m_CurrentRState)
730  {
731  case toRabbits_InitialState: // Initial state always starts with develop
733  break;
734  case toRabbits_EvaluateTerritory: // Initial state always starts with develop
736  m_StepDone=true;
737  break;
738  case toRabbits_Foraging:
740  break;
741  case toRabbits_Die:
742  st_Dying(); // No return value - no behaviour after this
743  m_StepDone=true;
744  break;
745  case toRabbits_Remove:
746  m_CurrentStateNo = -1;
747  m_StepDone=true;
748  break;
749  default:
750  m_OurLandscape->Warn("Rabbit_Male::Step()","unknown state - default");
751  exit(1);
752  }
753 }
virtual void st_Dying(void)
Default dying state.
Definition: Rabbit.cpp:685
virtual TTypeOfRabbitState st_Forage(void)
Adult male forage behaviour.
Definition: Rabbit.cpp:756
int m_CurrentStateNo
The basic state number for all objects - &#39;-1&#39; indicates death.
virtual TTypeOfRabbitState st_EvaluateTerritory(void)
Male Evaluate Territory Step.
Definition: Rabbit.cpp:770
Landscape * m_OurLandscape
void Warn(std::string a_msg1, std::string a_msg2)
Definition: landscape.h:1505
bool m_StepDone
Indicates whether the iterative step code is done for this timestep.
TTypeOfRabbitState m_CurrentRState
Variable to record current behavioural state.
Definition: Rabbit.h:179

The documentation for this class was generated from the following files: