|
Goose Management Model ODdox
1.02
|
A farm that can have its rotation defined by the user at runtime. More...
#include <farm.h>
Public Member Functions | |
| UserDefinedFarm10 (FarmManager *a_manager) | |
Public Member Functions inherited from Farm | |
| void | AddField (LE *a_newfield) |
| Adds a field to a farm. More... | |
| void | AddHunter (Hunter *a_hunter) |
| 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... | |
| void | Assign_rotation (vector< TTypesOfVegetation >a_new_rotation) |
| 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 | AutumnPlough (LE *a_field, double a_user, int a_days) |
| Carry out a ploughing 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 | AutumnSow (LE *a_field, double a_user, int a_days) |
| Carry out a sowing event in the autumn 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 | Biocide (LE *a_field, double a_user, int a_days) |
| Biocide 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 | BurnStrawStubble (LE *a_field, double a_user, int a_days) |
| Burn stubble on a_field. 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 | 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... | |
| void | Centroids () |
| Finds farm's centroids - x and y. 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 | CutToHay (LE *a_field, double a_user, int a_days) |
| Carry out hay cutting 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 | CutWeeds (LE *a_field, double a_user, int a_days) |
| Carry out weed topping 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... | |
| 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... | |
| 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_Calcium (LE *a_field, double a_user, int a_days) |
| Calcium applied on a_field owned by a 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_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_Manure (LE *a_field, double a_user, int a_days) |
| Spread manure on a_field owned by an 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_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_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_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_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_Slurry (LE *a_field, double a_user, int a_days) |
| Spready slurry on a_field owned by an stock farmer. More... | |
| Farm (FarmManager *a_manager) | |
| Farm constructor - creates an instance of each possible crop type. More... | |
| virtual bool | FlowerCutting (LE *a_field, double a_user, int a_days) |
| Flower cutting applied on a_field. 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_Calcium (LE *a_field, double a_user, int a_days) |
| Calcium applied 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_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_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_Manure (LE *a_field, double a_user, int a_days) |
| Spread manure 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_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_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_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_Sludge (LE *a_field, double a_user, int a_days) |
| Spread sewege on 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 | FungicideTreat (LE *a_field, double a_user, int a_days) |
| Apply fungicide to a_field. More... | |
| int | GetArea (void) |
| Returns the area of arable fields owned by that farm. More... | |
| double | GetAreaDouble (void) |
| Returns the area of arable fields owned by that farm. More... | |
| int | GetAreaOpenFields (int a_openness) |
| Returns the area of the fields above an openness of a_openness. More... | |
| APoint | GetCentroids () |
| TTypesOfVegetation | GetCrop (int a_index) |
| int | GetFarmNumber (void) |
| int | GetIntensity (void) |
| int | GetMaxOpenness () |
| Returns the maximum openness score of the fields. More... | |
| TTypesOfVegetation | GetNextCrop (int a_index) |
| 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... | |
| TTypesOfVegetation | GetPreviousCrop (int a_index) |
| int | GetTotalArea (void) |
| Returns the area of all fields owned by that farm. More... | |
| TTypesOfFarm | GetType (void) |
| APoint | GetValidCoords () |
| Returns the valid coordinates of the first field owned by a farm. More... | |
| virtual bool | GrowthRegulator (LE *a_field, double a_user, int a_days) |
| Apply growth regulator to a_field. 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 | HayBailing (LE *a_field, double a_user, int a_days) |
| Carry out hay bailing 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 | 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 | HerbicideTreat (LE *a_field, double a_user, int a_days) |
| Apply herbicide to a_field. More... | |
| virtual bool | HillingUp (LE *a_field, double a_user, int a_days) |
| Do hilling up on a_field, probably of potatoes. More... | |
| virtual void | InitiateManagement (void) |
| Kicks off the farm's management. More... | |
| virtual bool | InsecticideTreat (LE *a_field, double a_user, int a_days) |
| Apply insecticide to a_field. More... | |
| bool | IsStockFarmer (void) |
| polylist * | ListOpenFields (int a_openness) |
| Returns a list of fields with openness above a_openness. More... | |
| virtual void | MakeStockFarmer (void) |
| virtual void | Management (void) |
| Starts the main management loop for the farm and performs some error checking. More... | |
| virtual bool | Molluscicide (LE *a_field, double a_user, int a_days) |
| Apply molluscidie to 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 | 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 | 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 double | Prob_multiplier () |
| 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... | |
| void | RemoveField (LE *a_field) |
| Removes a field from a farm. More... | |
| void | RemoveHunter (Hunter *a_hunter) |
| virtual bool | RowCultivation (LE *a_field, double a_user, int a_days) |
| Carry out a harrowing between crop rows on a_field. More... | |
| void | SetFarmNumber (int a_farm_num) |
| 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 | SleepAllDay (LE *a_field, double a_user, int a_days) |
| Nothing to to today on a_field. More... | |
| virtual bool | Spraying_fungins (TTypesOfVegetation) |
| virtual bool | Spraying_herbicides (TTypesOfVegetation) |
| 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 | SpringPlough (LE *a_field, double a_user, int a_days) |
| Carry out a ploughing 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 | StrawChopping (LE *a_field, double a_user, int a_days) |
| Carry out straw chopping 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... | |
| virtual bool | Strigling (LE *a_field, double a_user, int a_days) |
| Carry out a mechanical weeding 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 | StriglingSow (LE *a_field, double a_user, int a_days) |
| Carry out a mechanical weeding followed by sowing on a_field. 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 | StubbleHarrowing (LE *a_field, double a_user, int a_days) |
| Carry out stubble harrowing 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 | 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 | Water (LE *a_field, double a_user, int a_days) |
| Carry out a watering 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 | ~Farm (void) |
| Farm destructor - deletes all crop instances and empties event queues. More... | |
Additional Inherited Members | |
Protected Member Functions inherited from Farm | |
| void | AssignPermanentCrop (TTypesOfVegetation tov, int pct) |
| Used to assign a permanent crop to an otherwise rotational field polygon. More... | |
| void | CheckRotationManagementLoop (FarmEvent *ev) |
| virtual int | GetFirstCropIndex (TTypesOfLandscapeElement a_type) |
| Gets the first crop for the farm. More... | |
| int | GetFirstDate (TTypesOfVegetation a_tov) |
| Gets the start date for a crop type. More... | |
| virtual int | GetNextCropIndex (int a_rot_index) |
| Returns the next crop in the rotation. More... | |
| int | GetNextCropStartDate (LE *a_field, TTypesOfVegetation &a_curr_veg) |
| Returns the start date of the next crop in the rotation. More... | |
| virtual void | HandleEvents (void) |
| If there are events to carry out do this, and perhaps start a new crop. More... | |
| int | InvIntPartition (vector< tpct > *items, int target) |
| Finds all possible sums of the integers in the items array. More... | |
| bool | LeSwitch (FarmEvent *ev) |
| Call do function for any crop with an outstanding event. Signal if the crop has terminated. More... | |
| void | ReadRotation (std::string fname) |
| Reads a rotation file into the rotation. More... | |
Protected Attributes inherited from Farm | |
| AgroChemIndustryCereal * | m_agrochemindustrycereal |
| BroadBeans * | m_broadbeans |
| Carrots * | m_carrots |
| CloverGrassGrazed1 * | m_CGG1 |
| CloverGrassGrazed2 * | m_CGG2 |
| DummyCropPestTesting * | m_dummycroppesttesting |
| int | m_farm_centroidx |
| Farm's centroid, value x. Equal to the average of the x centroid values of all farm's fields. More... | |
| int | m_farm_centroidy |
| Farm's centroid, value y. Equal to the average of the y centroid values of all farm's fields. More... | |
| int | m_farm_num |
| TTypesOfFarm | m_farmtype |
| FieldPeas * | m_fieldpeas |
| FieldPeasSilage * | m_fieldpeassilage |
| FieldPeasStrigling * | m_fieldpeasstrigling |
| vector< LE * > | m_fields |
| Fodderbeet * | m_fodderbeet |
| FodderGrass * | m_foddergrass |
| HunterList | m_HuntersList |
| A list of hunters allocated to this farm. More... | |
| int | m_intensity |
| Maize * | m_maize |
| MaizeSilage * | m_maizesilage |
| MaizeStrigling * | m_maizestrigling |
| NLBeet * | m_nlbeet |
| NLBeetSpring * | m_nlbeetspring |
| NLCabbage * | m_nlcabbage |
| NLCabbageSpring * | m_nlcabbagespring |
| NLCarrots * | m_nlcarrots |
| NLCarrotsSpring * | m_nlcarrotsspring |
| NLCatchPeaCrop * | m_nlcatchpeacrop |
| NLGrassGrazed1 * | m_nlgrassgrazed1 |
| NLGrassGrazed1Spring * | m_nlgrassgrazed1spring |
| NLGrassGrazed2 * | m_nlgrassgrazed2 |
| NLGrassGrazedLast * | m_nlgrassgrazedlast |
| NLMaize * | m_nlmaize |
| NLMaizeSpring * | m_nlmaizespring |
| NLPermanentGrassGrazed * | m_nlpermanentgrassgrazed |
| NLPotatoes * | m_nlpotatoes |
| NLPotatoesSpring * | m_nlpotatoesspring |
| NLSpringBarley * | m_nlspringbarley |
| NLSpringBarleySpring * | m_nlspringbarleyspring |
| NLTulips * | m_nltulips |
| NLWinterWheat * | m_nlwinterwheat |
| NorwegianOats * | m_norwegianoats |
| NorwegianPotatoes * | m_norwegianpotatoes |
| NorwegianSpringBarley * | m_norwegianspringbarley |
| Oats * | m_oats |
| OBarleyPeaCloverGrass * | m_OBarleyPCG |
| OCarrots * | m_ocarrots |
| OCloverGrassGrazed1 * | m_OCGG1 |
| OCloverGrassGrazed2 * | m_OCGG2 |
| OCloverGrassSilage1 * | m_OCGS1 |
| OFieldPeas * | m_ofieldpeas |
| OFieldPeasSilage * | m_ofieldpeassilage |
| OFirstYearDanger * | m_ofirstyeardanger |
| OFodderbeet * | m_ofodderbeet |
| OGrazingPigs * | m_ograzingpigs |
| OMaizeSilage * | m_omaizesilage |
| OOats * | m_ooats |
| OPermanentGrassGrazed * | m_opermgrassgrazed |
| OPotatoes * | m_opotatoes |
| OrchardCrop * | m_orchardcrop |
| OSBarleySilage * | m_osbarleysilage |
| OSeedGrass1 * | m_oseedgrass1 |
| OSeedGrass2 * | m_oseedgrass2 |
| OSpringBarley * | m_ospringbarley |
| OSpringBarleyExt * | m_ospringbarleyext |
| OSpringBarleyPigs * | m_ospringbarleypigs |
| OTriticale * | m_otriticale |
| FarmManager * | m_OurManager |
| Pointer to the FarmManager. More... | |
| OWinterBarley * | m_owinterbarley |
| OWinterBarleyExt * | m_owinterbarleyext |
| OWinterRape * | m_owinterrape |
| OWinterRye * | m_owinterrye |
| OWinterWheat * | m_owinterwheat |
| OWinterWheatUndersown * | m_owinterwheatundersown |
| OWinterWheatUndersownExt * | m_owinterwheatundersownext |
| PermanentSetAside * | m_permanentsetaside |
| vector< PermCropData > | m_PermCrops |
| PermanentGrassGrazed * | m_permgrassgrazed |
| PermanentGrassLowYield * | m_permgrasslowyield |
| PermanentGrassTussocky * | m_permgrasstussocky |
| PLBeans * | m_plbeans |
| PLBeet * | m_plbeet |
| PLBeetSpr * | m_plbeetspr |
| PLCarrots * | m_plcarrots |
| PLFodderLucerne1 * | m_plfodderlucerne1 |
| PLFodderLucerne2 * | m_plfodderlucerne2 |
| PLMaize * | m_plmaize |
| PLMaizeSilage * | m_plmaizesilage |
| PLPotatoes * | m_plpotatoes |
| PLSpringBarley * | m_plspringbarley |
| PLSpringBarleySpr * | m_plspringbarleyspr |
| PLSpringWheat * | m_plspringwheat |
| PLWinterBarley * | m_plwinterbarley |
| PLWinterRape * | m_plwinterrape |
| PLWinterRye * | m_plwinterrye |
| PLWinterTriticale * | m_plwintertriticale |
| PLWinterWheat * | m_plwinterwheat |
| PLWinterWheatLate * | m_plwinterwheatlate |
| Potatoes * | m_potatoes |
| PotatoesIndustry * | m_potatoesindustry |
| LowPriority< FarmEvent * > | m_queue |
| vector< TTypesOfVegetation > | m_rotation |
| int | m_rotation_sync_index |
| SpringBarleyCloverGrass * | m_sbarleyclovergrass |
| SeedGrass1 * | m_seedgrass1 |
| SeedGrass2 * | m_seedgrass2 |
| SetAside * | m_setaside |
| SpringBarley * | m_springbarley |
| SpringBarleyCloverGrassStrigling * | m_springbarleyclovergrassstrigling |
| SpringBarleyPeaCloverGrassStrigling * | m_springbarleypeaclovergrassstrigling |
| SpringBarleyPTreatment * | m_springbarleyptreatment |
| SpringBarleySeed * | m_springbarleyseed |
| SpringBarleySilage * | m_springbarleysilage |
| SpringBarleySKManagement * | m_springbarleyskmanagement |
| SpringBarleySpr * | m_springbarleyspr |
| SpringBarleyStrigling * | m_springbarleystrigling |
| SpringBarleyStriglingCulm * | m_springbarleystriglingculm |
| SpringBarleyStriglingSingle * | m_springbarleystriglingsingle |
| SpringRape * | m_springrape |
| bool | m_stockfarmer |
| Sugarbeet * | m_sugarbeet |
| Triticale * | m_triticale |
| WinterBarley * | m_winterbarley |
| WinterBarleyStrigling * | m_winterbarleystrigling |
| WinterRape * | m_winterrape |
| WinterRapeStrigling * | m_winterrapestrigling |
| WinterRye * | m_winterrye |
| WinterRyeStrigling * | m_winterryestrigling |
| WinterWheat * | m_winterwheat |
| WinterWheatStrigling * | m_winterwheatstrigling |
| WinterWheatStriglingCulm * | m_winterwheatstriglingculm |
| WinterWheatStriglingSingle * | m_winterwheatstriglingsingle |
| WWheatPControl * | m_wwheatpcontrol |
| WWheatPToxicControl * | m_wwheatptoxiccontrol |
| WWheatPTreatment * | m_wwheatptreatment |
| YoungForestCrop * | m_youngforest |
A farm that can have its rotation defined by the user at runtime.
| UserDefinedFarm10::UserDefinedFarm10 | ( | FarmManager * | a_manager | ) |
Definition at line 2292 of file farm.cpp.
References Farm::m_farmtype, Farm::m_stockfarmer, Farm::ReadRotation(), and tof_UserDefinedFarm10.