#include <BehaviorBase.h>
Inheritance diagram for clBehaviorBase:
Public Member Functions | |
virtual float | GetBehaviorVersion () |
Gets the behavior version number. | |
clBehaviorBase (clSimManager *p_oSimManager) | |
Constructor. | |
virtual | ~clBehaviorBase () |
Destructor. | |
virtual void | Action () |
This is the function which is called each timestep and performs the actual work of the behavior. | |
virtual short int | ValidateVersionNumber (float fTestVersion) |
Makes sure that the version number of a file passed is between the minimum and current version numbers. | |
virtual void | RegisterTreeDataMembers () |
Registers tree data members. | |
virtual void | SetSpeciesTypeCombos (short int iNumCombos, stcSpeciesTypeCombo *p_whatCombos) |
Sets the species/type combos for a behavior. | |
virtual void | SetNameData (char *cNameString) |
Sets the string for the parameter file behavior. | |
virtual short int | GetNewTreeInts () |
Gets the number of new tree integer data members this behavior wants to register. | |
virtual short int | GetNewTreeFloats () |
Gets the number of new tree float data members this behavior wants to register. | |
virtual short int | GetNewTreeChars () |
Gets the number of new tree character data members this behavior wants to register. | |
virtual short int | GetNewTreeBools () |
Gets the number of new tree bool data members this behavior wants to register. | |
virtual short int | GetNumSpeciesTypeCombos () |
Gets the number of species/type combos to which this behavior applies. | |
virtual short int | GetNumBehaviorSpecies () |
Gets the number of unique tree species to which this behavior applies. | |
stcSpeciesTypeCombo | GetSpeciesTypeCombo (short int iIndex) |
Gets one of this behavior's type/species combos. | |
virtual short int | GetBehaviorSpecies (short int iIndex) |
Gets one of the behavior's species. | |
Protected Attributes | |
short int | m_iNumSpeciesTypeCombos |
How many type/species combos a behavior will act on. | |
short int | m_iNumBehaviorSpecies |
How many distinct species are in the combo list - important for filling species-specific values from parameter file. | |
short int * | mp_iWhatSpecies |
List of distinct species - for filling species-specific values from parameter file. | |
stcSpeciesTypeCombo * | mp_whatSpeciesTypeCombos |
Array of species/type combos that the behavior will act on. | |
short int | m_iNewTreeInts |
The number of new tree integer data members this behavior wants to add. | |
short int | m_iNewTreeFloats |
The number of new tree float data members this behavior wants to add. | |
short int | m_iNewTreeChars |
The number of new tree character data members this behavior wants to add. | |
short int | m_iNewTreeBools |
The number of new tree boolean data members this behavior wants to add. | |
float | m_fVersionNumber |
Version number - this will be rounded to 2 digits after the decimal place. | |
float | m_fMinimumVersionNumber |
Minimum version number - this behavior will run parameter data for a file marked between this number and the current version number, inclusive. |
This allows the Simulation Manager to work with behavior objects without knowing anything about them.
There should not be any objects instantiated from this class.
Because I am continually surprised at the basic functions I want to mess with in my derived classes, every function here is virtual. Most administrative dealings with behaviors have them cast to the clBehaviorBase class, so function-hiding won't work. Override to your heart's content.
Copyright 2003 Charles D. Canham.
clBehaviorBase::clBehaviorBase | ( | clSimManager * | p_oSimManager | ) |
Constructor.
Initializes variables.
p_oSimManager | Sim Manager object. |
virtual clBehaviorBase::~clBehaviorBase | ( | ) | [virtual] |
Destructor.
Destroys variables initialized in the constructor.
virtual void clBehaviorBase::Action | ( | ) | [virtual] |
This is the function which is called each timestep and performs the actual work of the behavior.
This function is overridden in the child behavior classes.
Reimplemented in clBoleVolumeCalculator, clCarbonValueCalculator, clDensitySeedSurvival, clDimensionAnalysis, clDisperseBase, clDisturbance, clEstablishment, clFuncResponseSeedPredation, clGermination, clGLIMap, clGLIPoints, clGrowthBase, clHarvestInterface, clLightBase, clLightDepSeedSurvival, clLightFilter, clMerchValueCalculator, clMicroEstablishment, clMortalityBase, clOutput, clShortOutput, clPartitionedBiomass, clPlant, clRandomSeedLogger, clSelectionHarvest, clStochasticGapGrowth, clStorm, clStormDamageApplier, clStormKiller, clStormLight, clSubstrate, clSubstrateDepSeedSurvival, clTreeAgeCalculator, clTreeRemover, clVolumeCalculator, and clWindstorm.
virtual short int clBehaviorBase::GetBehaviorSpecies | ( | short int | iIndex | ) | [virtual] |
Gets one of the behavior's species.
To get all species, loop through based on GetNumBehaviorSpecies and hit this function numerous times. I did it this way as the most secure way I could think of to access the members of an array.
iIndex | of the species. |
BAD_DATA | error if the argument is not a valid array index. |
virtual float clBehaviorBase::GetBehaviorVersion | ( | ) | [inline, virtual] |
Gets the behavior version number.
virtual short int clBehaviorBase::GetNewTreeBools | ( | ) | [inline, virtual] |
Gets the number of new tree bool data members this behavior wants to register.
Reimplemented in clMortalityBase, and clNCIMort.
virtual short int clBehaviorBase::GetNewTreeChars | ( | ) | [inline, virtual] |
Gets the number of new tree character data members this behavior wants to register.
virtual short int clBehaviorBase::GetNewTreeFloats | ( | ) | [inline, virtual] |
Gets the number of new tree float data members this behavior wants to register.
virtual short int clBehaviorBase::GetNewTreeInts | ( | ) | [inline, virtual] |
Gets the number of new tree integer data members this behavior wants to register.
virtual short int clBehaviorBase::GetNumBehaviorSpecies | ( | ) | [inline, virtual] |
Gets the number of unique tree species to which this behavior applies.
virtual short int clBehaviorBase::GetNumSpeciesTypeCombos | ( | ) | [inline, virtual] |
Gets the number of species/type combos to which this behavior applies.
struct stcSpeciesTypeCombo clBehaviorBase::GetSpeciesTypeCombo | ( | short int | iIndex | ) |
Gets one of this behavior's type/species combos.
To get all species or types, loop through based on GetNumCombos and hit this function numerous times. I did it this way as the most secure way I could think of to access the members of an array.
iIndex | of the species/type combo. |
BAD_DATA | error if the argument is not a valid array index. |
virtual void clBehaviorBase::RegisterTreeDataMembers | ( | ) | [virtual] |
Registers tree data members.
If a behavior has any tree data members to add, it should register them by overriding this function. It cannot be assumed at this point that any data will have been read from the parameter file for the behavior itself, although it can be assumed that the tree population has read its data.
Reimplemented in clAbsoluteGrowth, clBoleVolumeCalculator, clCarbonValueCalculator, clDimensionAnalysis, clGrowthBase, clHarvestInterface, clLightBase, clLightDepSeedSurvival, clMerchValueCalculator, clMortalityBase, clNCIMort, clStormDamageApplier, clTreeAgeCalculator, and clVolumeCalculator.
virtual void clBehaviorBase::SetNameData | ( | char * | cNameString | ) | [inline, virtual] |
Sets the string for the parameter file behavior.
The string passed in the parameter file is, by default, ignored; but since it could be used by a behavior to pass information, a behavior class can override this function to capture this.
cNameString | The behavior name string from the parameter file. |
Reimplemented in clAbsoluteGrowth, clConstantBAGrowth, clConstantRadialGrowth, clDisturbance, clDoubleMMRelGrowth, clHarvestInterface, clLightDepSeedSurvival, clLinearBiLevelGrowth, clLogisticGrowth, clLognormalGrowth, clNCIBAGrowth, clNciGrowth, clPartitionedBiomass, clRelativeGrowth, clSelfThinMort, clShadedLinearGrowth, clSimpleLinearGrowth, clSizeDepLogisticGrowth, clSpatialDispersal, clStochasticMort, and clSubstrateDepSeedSurvival.
virtual void clBehaviorBase::SetSpeciesTypeCombos | ( | short int | iNumCombos, | |
stcSpeciesTypeCombo * | p_whatCombos | |||
) | [virtual] |
Sets the species/type combos for a behavior.
This function is only allowed to be called once, because messing with it would be very awful. These don't check for duplicate values in the list passed. The unique species list is assembled and placed in mp_iWhatSpecies.
iNumCombos | Number of species/type combos being passed. | |
p_whatCombos | Array of species/type combo objects. |
ModelErr | If this function was called previously. |
virtual short int clBehaviorBase::ValidateVersionNumber | ( | float | fTestVersion | ) | [virtual] |
Makes sure that the version number of a file passed is between the minimum and current version numbers.
fTestVersion | Test version number to validate. |