ALMaSS Skylark ODDox
1.1
The skylark model description following ODdox protocol
|
A farm that can have its rotation defined by the user at runtime. More...
#include <farm.h>
Public Member Functions | |
UserDefinedFarm22 (const char *fname, FarmManager *a_manager) | |
![]() | |
UserDefinedFarm (const char *fname, FarmManager *a_manager) | |
![]() | |
virtual void | Management (void) |
Starts the main management loop for the farm and performs some error checking. More... | |
void | AddField (LE *a_newfield) |
Adds a field to a farm. More... | |
void | RemoveField (LE *a_field) |
Removes a field from a farm. More... | |
Farm (FarmManager *a_manager) | |
Farm constructor - creates an instance of each possible crop type. More... | |
virtual | ~Farm (void) |
Farm destructor - deletes all crop instances and empties event queues. More... | |
void | SetFarmNumber (int a_farm_num) |
int | GetFarmNumber (void) |
virtual bool | Spraying_herbicides (TTypesOfVegetation) |
virtual bool | Spraying_fungins (TTypesOfVegetation) |
virtual double | Prob_multiplier () |
void | Assign_rotation (vector< TTypesOfVegetation >a_new_rotation) |
polylist * | ListOpenFields (int a_openness) |
Returns a list of fields with openness above a_openness. More... | |
void | Centroids () |
Finds farm's centroids - x and y. More... | |
int | GetNoFields () |
Returns the number of the fields owned. More... | |
int | GetNoOpenFields (int a_openness) |
Returns the number of the fields above an openness of a_openness. More... | |
int | GetAreaOpenFields (int a_openness) |
Returns the area of the fields above an openness of a_openness. More... | |
APoint | GetValidCoords () |
Returns the valid coordinates of the first field owned by a farm. More... | |
int | GetMaxOpenness () |
Returns the maximum openness score of the fields. More... | |
virtual bool | SleepAllDay (LE *a_field, double a_user, int a_days) |
Nothing to to today on a_field. More... | |
virtual bool | AutumnPlough (LE *a_field, double a_user, int a_days) |
Carry out a ploughing event in the autumn on a_field. More... | |
virtual bool | StubblePlough (LE *a_field, double a_user, int a_days) |
Carry out a stubble ploughing event on a_field. This is similar to normal plough but shallow (normally 6-8cm, is special cases up to 12-15cm). Done as a part of after-harvest treatments (instead of stubble cultivation) More... | |
virtual bool | StubbleCultivatorHeavy (LE *a_field, double a_user, int a_days) |
Carry out a stubble cultivation event on a_field. This is non-inversion type of cultivation which can be done instead of autumn plough (on a depth up to 40 cm even, if necessary) More... | |
virtual bool | AutumnHarrow (LE *a_field, double a_user, int a_days) |
Carry out a harrow event in the autumn on a_field. More... | |
virtual bool | AutumnRoll (LE *a_field, double a_user, int a_days) |
Carry out a roll event in the autumn on a_field. More... | |
virtual bool | PreseedingCultivator (LE *a_field, double a_user, int a_days) |
Carry out preseeding cultivation on a_field (tilling set including cultivator and string roller to compact soil) More... | |
virtual bool | PreseedingCultivatorSow (LE *a_field, double a_user, int a_days) |
Carry out preseeding cultivation together with sow on a_field (tilling and sowing set including cultivator and string roller to compact soil) More... | |
virtual bool | AutumnSow (LE *a_field, double a_user, int a_days) |
Carry out a sowing event in the autumn on a_field. More... | |
virtual bool | WinterPlough (LE *a_field, double a_user, int a_days) |
Carry out a ploughing event in the winter on a_field. More... | |
virtual bool | DeepPlough (LE *a_field, double a_user, int a_days) |
Carry out a deep ploughing event on a_field. More... | |
virtual bool | SpringPlough (LE *a_field, double a_user, int a_days) |
Carry out a ploughing event in the spring on a_field. More... | |
virtual bool | SpringHarrow (LE *a_field, double a_user, int a_days) |
Carry out a harrow event in the spring on a_field. More... | |
virtual bool | SpringRoll (LE *a_field, double a_user, int a_days) |
Carry out a roll event in the spring on a_field. More... | |
virtual bool | SpringSow (LE *a_field, double a_user, int a_days) |
Carry out a sowing event in the spring on a_field. More... | |
virtual bool | SpringSowWithFerti (LE *a_field, double a_user, int a_days) |
Carry out a sowing event with start fertilizer in the spring on a_field. More... | |
virtual bool | HerbicideTreat (LE *a_field, double a_user, int a_days) |
Apply herbicide to a_field. More... | |
virtual bool | GrowthRegulator (LE *a_field, double a_user, int a_days) |
Apply growth regulator to a_field. More... | |
virtual bool | FungicideTreat (LE *a_field, double a_user, int a_days) |
Apply fungicide to a_field. More... | |
virtual bool | InsecticideTreat (LE *a_field, double a_user, int a_days) |
Apply insecticide to a_field. More... | |
virtual bool | ProductApplication (LE *a_field, double a_user, int a_days, double a_applicationrate, PlantProtectionProducts a_ppp) |
Apply test pesticide to a_field. More... | |
virtual bool | ProductApplication_DateLimited (LE *a_field, double, int, double a_applicationrate, PlantProtectionProducts a_ppp) |
Special pesticide trial functionality. More... | |
virtual bool | Molluscicide (LE *a_field, double a_user, int a_days) |
Apply molluscidie to a_field. More... | |
virtual bool | RowCultivation (LE *a_field, double a_user, int a_days) |
Carry out a harrowing between crop rows on a_field. More... | |
virtual bool | Strigling (LE *a_field, double a_user, int a_days) |
Carry out a mechanical weeding on a_field. More... | |
virtual bool | StriglingSow (LE *a_field, double a_user, int a_days) |
Carry out a mechanical weeding followed by sowing on a_field. More... | |
virtual bool | StriglingHill (LE *a_field, double a_user, int a_days) |
Carry out a mechanical weeding on a_field followed by hilling up (probably on potatoes) More... | |
virtual bool | HillingUp (LE *a_field, double a_user, int a_days) |
Do hilling up on a_field, probably of potatoes. More... | |
virtual bool | Water (LE *a_field, double a_user, int a_days) |
Carry out a watering on a_field. More... | |
virtual bool | Swathing (LE *a_field, double a_user, int a_days) |
Cut the crop on a_field and leave it lying (probably rape) More... | |
virtual bool | Harvest (LE *a_field, double a_user, int a_days) |
Carry out a harvest on a_field. More... | |
virtual bool | HarvestLong (LE *a_field, double a_user, int a_days) |
Carry out a harvest on a_field. More... | |
virtual bool | CattleOut (LE *a_field, double a_user, int a_days) |
Start a grazing event on a_field today. More... | |
virtual bool | CattleOutLowGrazing (LE *a_field, double a_user, int a_days) |
Start a extensive grazing event on a_field today. More... | |
virtual bool | CattleIsOut (LE *a_field, double a_user, int a_days, int a_max) |
Generate a 'cattle_out' event for every day the cattle are on a_field. More... | |
virtual bool | CattleIsOutLow (LE *a_field, double a_user, int a_days, int a_max) |
Generate a 'cattle_out_low' event for every day the cattle are on a_field. More... | |
virtual bool | PigsOut (LE *a_field, double a_user, int a_days) |
Generate a 'pigs_out' event for every day the cattle are on a_field. More... | |
virtual bool | PigsAreOut (LE *a_field, double a_user, int a_days) |
Start a pig grazing event on a_field today or soon. More... | |
virtual bool | PigsAreOutForced (LE *a_field, double a_user, int a_days) |
Start a pig grazing event on a_field today - no exceptions. More... | |
virtual bool | CutToHay (LE *a_field, double a_user, int a_days) |
Carry out hay cutting on a_field. More... | |
virtual bool | CutWeeds (LE *a_field, double a_user, int a_days) |
Carry out weed topping on a_field. More... | |
virtual bool | CutToSilage (LE *a_field, double a_user, int a_days) |
Cut vegetation for silage on a_field. More... | |
virtual bool | CutOrch (LE *a_field, double a_user, int a_days) |
Cut vegetation on orchard crop. //based on cut to silage - values from cutting function of orchard. More... | |
virtual bool | StrawChopping (LE *a_field, double a_user, int a_days) |
Carry out straw chopping on a_field. More... | |
virtual bool | HayTurning (LE *a_field, double a_user, int a_days) |
Carry out hay turning on a_field. More... | |
virtual bool | HayBailing (LE *a_field, double a_user, int a_days) |
Carry out hay bailing on a_field. More... | |
virtual bool | BurnStrawStubble (LE *a_field, double a_user, int a_days) |
Burn stubble on a_field. More... | |
virtual bool | StubbleHarrowing (LE *a_field, double a_user, int a_days) |
Carry out stubble harrowing on a_field. More... | |
virtual bool | FP_NPKS (LE *a_field, double a_user, int a_days) |
Apply NPKS fertilizer, on a_field owned by an arable farmer. More... | |
virtual bool | FP_NPK (LE *a_field, double a_user, int a_days) |
Apply NPK fertilizer, on a_field owned by an arable farmer. More... | |
virtual bool | FP_PK (LE *a_field, double a_user, int a_days) |
Apply PK fertilizer, on a_field owned by an arable farmer. More... | |
virtual bool | FP_LiquidNH3 (LE *a_field, double a_user, int a_days) |
Apply liquid ammonia fertilizer to a_field owned by an arable farmer. More... | |
virtual bool | FP_Slurry (LE *a_field, double a_user, int a_days) |
Apply slurry to a_field owned by an arable farmer. More... | |
virtual bool | FP_ManganeseSulphate (LE *a_field, double a_user, int a_days) |
Apply Manganse Sulphate to a_field owned by an arable farmer. More... | |
virtual bool | FP_AmmoniumSulphate (LE *a_field, double a_user, int a_days) |
Apply Ammonium Sulphate to a_field owned by an arable farmer. More... | |
virtual bool | FP_Manure (LE *a_field, double a_user, int a_days) |
Spread manure on a_field owned by an arable farmer. More... | |
virtual bool | FP_GreenManure (LE *a_field, double a_user, int a_days) |
Spread green manure on a_field owned by an arable farmer. More... | |
virtual bool | FP_Sludge (LE *a_field, double a_user, int a_days) |
Spread sewege on a_field owned by an arable farmer. More... | |
virtual bool | FP_RSM (LE *a_field, double a_user, int a_days) |
RSM (ammonium nitrate solution) applied on a_field owned by an arable farmer. More... | |
virtual bool | FP_Calcium (LE *a_field, double a_user, int a_days) |
Calcium applied on a_field owned by an arable farmer. More... | |
virtual bool | FA_NPKS (LE *a_field, double a_user, int a_days) |
Apply NPKS fertilizer, on a_field owned by a stock farmer. More... | |
virtual bool | FA_NPK (LE *a_field, double a_user, int a_days) |
Apply NPK fertilizer to a_field owned by an stock farmer. More... | |
virtual bool | FA_PK (LE *a_field, double a_user, int a_days) |
Apply PK fertilizer to a_field owned by an stock farmer. More... | |
virtual bool | FA_Slurry (LE *a_field, double a_user, int a_days) |
Spready slurry on a_field owned by an stock farmer. More... | |
virtual bool | FA_ManganeseSulphate (LE *a_field, double a_user, int a_days) |
Apply manganese sulphate to a_field owned by an stock farmer. More... | |
virtual bool | FA_AmmoniumSulphate (LE *a_field, double a_user, int a_days) |
Apply ammonium sulphate to a_field owned by an stock farmer. More... | |
virtual bool | FA_Manure (LE *a_field, double a_user, int a_days) |
Spread manure on a_field owned by an stock farmer. More... | |
virtual bool | FA_GreenManure (LE *a_field, double a_user, int a_days) |
Spread green manure on a_field owned by an stock farmer. More... | |
virtual bool | FA_Sludge (LE *a_field, double a_user, int a_days) |
Spread sewege sludge on a_field owned by an stock farmer. More... | |
virtual bool | FA_RSM (LE *a_field, double a_user, int a_days) |
RSM (ammonium nitrate solution) applied on a_field owned by a stock farmer. More... | |
virtual bool | FA_Calcium (LE *a_field, double a_user, int a_days) |
Calcium applied on a_field owned by a stock farmer. More... | |
virtual bool | Biocide (LE *a_field, double a_user, int a_days) |
Biocide applied on a_field. More... | |
virtual bool | BedForming (LE *a_field, double a_user, int a_days) |
Do bed forming up on a_field, probably of carrots. More... | |
virtual bool | ShallowHarrow (LE *a_field, double a_user, int a_days) |
Carry out a shallow harrow event on a_field, e.g., after grass cutting event. More... | |
virtual bool | HeavyCultivatorAggregate (LE *a_field, double a_user, int a_days) |
Carry out a heavy cultivation event on a_field. This is non-inversion type of cultivation which can be done after fertilizers application on spring for a spring crop. More... | |
virtual bool | FlowerCutting (LE *a_field, double a_user, int a_days) |
Flower cutting applied on a_field. More... | |
virtual bool | BulbHarvest (LE *a_field, double a_user, int a_days) |
Carry out a bulb harvest on a_field. More... | |
virtual bool | StrawCovering (LE *a_field, double a_user, int a_days) |
Straw covering applied on a_field. More... | |
virtual bool | StrawRemoval (LE *a_field, double a_user, int a_days) |
Straw covering applied on a_field. More... | |
void | AddNewEvent (TTypesOfVegetation a_event, long a_date, LE *a_field, int a_todo, long a_num, bool a_lock, int a_start, bool a_first_year, TTypesOfVegetation a_crop) |
Adds an event to the event queue for a farm. More... | |
bool | DoIt (double a_probability) |
Return chance out of 0 to 100. More... | |
bool | DoIt_prob (double a_probability) |
Return chance out of 0 to 1. More... | |
TTypesOfFarm | GetType (void) |
int | GetArea (void) |
Returns the area of arable fields owned by that farm. More... | |
int | GetTotalArea (void) |
Returns the area of all fields owned by that farm. More... | |
double | GetAreaDouble (void) |
Returns the area of arable fields owned by that farm. More... | |
bool | IsStockFarmer (void) |
virtual void | MakeStockFarmer (void) |
int | GetIntensity (void) |
APoint | GetCentroids () |
TTypesOfVegetation | GetPreviousCrop (int a_index) |
TTypesOfVegetation | GetCrop (int a_index) |
TTypesOfVegetation | GetNextCrop (int a_index) |
void | AddHunter (Hunter *a_hunter) |
void | RemoveHunter (Hunter *a_hunter) |
A farm that can have its rotation defined by the user at runtime.
UserDefinedFarm22::UserDefinedFarm22 | ( | const char * | fname, |
FarmManager * | a_manager | ||
) |
Constructor, needs rotation but also requires a parameter for farm intensity.
References Farm::m_farmtype, and tof_UserDefinedFarm22.