ALMaSS
1.2 (after EcoStack, March 2024)
The Animal, Landscape and Man Simulation System
|
DK_SetAside class
.
More...
#include <DK_SetAside.h>
Public Member Functions | |
virtual bool | Do (Farm *a_farm, LE *a_field, FarmEvent *a_ev) |
The one and only method for a crop management plan. All farm actions go through here. More... | |
DK_SetAside (TTypesOfVegetation a_tov, TTypesOfCrops a_toc, Landscape *a_L) | |
void | SetUpFarmCategoryInformation () |
Public Member Functions inherited from Crop | |
virtual | ~Crop () |
Crop (TTypesOfVegetation a_tov, TTypesOfCrops a_toc, Landscape *a_L) | |
int | GetFirstDate (void) |
void | ChooseNextCrop (int a_no_dates) |
Chooses the next crop to grow in a field. More... | |
int | GetCropClassification () |
void | SetCropClassification (int a_classification) |
void | GetCropType (TTypesOfCrops a_toc) |
TTypesOfCrops | GetCropType () |
FarmManagementCategory | LookUpManagementCategory (int a_todo) |
bool | GetForceSpringOK () |
Additional Inherited Members | |
Public Attributes inherited from Crop | |
TTypesOfVegetation | m_tov |
Protected Member Functions inherited from Crop | |
void | SimpleEvent (long a_date, int a_todo, bool a_lock) |
Adds an event to this crop management. More... | |
void | SimpleEvent_ (long a_date, int a_todo, bool a_lock, Farm *a_farm, LE *a_field) |
Adds an event to this crop management without relying on member variables. More... | |
bool | StartUpCrop (int a_spring, std::vector< std::vector< int >> a_flexdates, int a_todo) |
Holds the translation between the farm operation enum for each cropand the farm management category associated with it More... | |
bool | AphidDamage (LE *a_field) |
Compares aphid numbers per m2 with a threshold to return true if threshold is exceeded. More... | |
Protected Attributes inherited from Crop | |
Farm * | m_farm |
LE * | m_field |
FarmEvent * | m_ev |
int | m_first_date |
int | m_count |
int | m_last_date |
int | m_ddegstoharvest |
int | m_base_elements_no |
Landscape * | m_OurLandscape |
bool | m_forcespringpossible = false |
Used to signal that the crop can be forced to start in spring. More... | |
TTypesOfCrops | m_toc |
The Crop type in terms of the TTypesOfCrops list (smaller list than tov, no country designation) More... | |
int | m_CropClassification |
Contains information on whether this is a winter crop, spring crop, or catch crop that straddles the year boundary (0,1,2) More... | |
vector< FarmManagementCategory > | m_ManagementCategories |
Holds the translation between the farm operation enum for each crop and the farm management category associated with it. More... | |
Static Protected Attributes inherited from Crop | |
static int | m_date_modifier = 0 |
Holds a value that shifts test pesticide use by this many days in crops modified to use it. More... | |
DK_SetAside class
.
See DK_SetAside.h::DK_SetAsideToDo for a complete list of all possible events triggered codes by the DK_SetAside management plan. When triggered these events are handled by Farm and are available as information for other objects such as animal and bird models.
|
inline |
References Calendar::DayInYear(), g_date, Crop::m_first_date, and SetUpFarmCategoryInformation().
The one and only method for a crop management plan. All farm actions go through here.
Called every time something is done to the crop by the farmer in the first instance it is always called with a_ev->todo set to start, but susequently will be called whenever the farmer wants to carry out a new operation.
This method details all the management and relationships between operations necessary to grow and ALMaSS crop - in this case conventional spring barley Fodder.
Reimplemented from Crop.
References LE::ClearManagementActionSum(), Farm::CutToHay(), Calendar::Date(), Calendar::DayInYear(), dk_sa_cutting, dk_sa_herbicide, dk_sa_start, dk_sa_strigling, dk_sa_swathing, dk_sa_wait1, dk_sa_wait2, Farm::DoIt(), Farm::DoIt_prob(), g_date, g_msg, LE::GetMDates(), LE::GetVegBiomass(), Farm::HerbicideTreat(), Crop::m_ev, Crop::m_farm, Crop::m_field, Crop::m_last_date, FarmEvent::m_lock, FarmEvent::m_todo, Calendar::OldDays(), LE::SetVegPatchy(), Crop::SimpleEvent(), Farm::SleepAllDay(), Crop::StartUpCrop(), Farm::Strigling(), Farm::Swathing(), tov_DKSetAside, MapErrorMsg::Warn(), and WARN_BUG.
|
inline |
References DK_SA_BASE, dk_sa_foobar, fmc_Cultivation, fmc_Cutting, fmc_Herbicide, fmc_Others, Crop::m_base_elements_no, and Crop::m_ManagementCategories.
Referenced by DK_SetAside().