#include <SimpleLinearGrowth.h>
Inheritance diagram for clSimpleLinearGrowth:
Public Member Functions | |
clSimpleLinearGrowth (clSimManager *p_oSimManager) | |
Constructor. | |
~clSimpleLinearGrowth () | |
Destructor. | |
float | CalcHeightGrowthValue (clTree *p_oTree, clTreePopulation *p_oPop, float fDiameterGrowth) |
Calculates the amount of height growth increase for a particular tree using the simple linear growth equation. | |
float | CalcDiameterGrowthValue (clTree *p_oTree, clTreePopulation *p_oPop, float fHeightGrowth) |
Calculates the amount of diameter growth increase for a particular tree using the simple linear growth equation. | |
void | DoShellSetup (xercesc::DOMDocument *p_oDoc) |
Does the setup for this behavior. | |
void | SetNameData (char *cNameString) |
Captures the namestring passed to this behavior. | |
Protected Member Functions | |
float | CalculateFunctionValue (clTree *p_oTree) |
Calculates the value of the simple linear growth function. | |
Protected Attributes | |
float * | mp_fSlope |
Growth slope - b - sized number of species. | |
float * | mp_fIntercept |
Growth intercept - a - sized number of species. | |
float | m_fConversionFactor |
Conversion factor to translate the results of the function to the appropriate units per timestep, depending on the type of growth behavior this is. |
This can be used to create a growth increment with no automatic height adjustment, a growth increment with automatic height adjustment, or a height increment.
The equation used in this behavior is:
The name string is "simplelineargrowthshell". In the parameter file: For diameter growth with no automatic height adjustment, call "simple linear growth diam only". For diameter growth with automatic height adjustment, call "simple linear growth". For height growth, call "simple linear growth height only".
Copyright 2004 Charles D. Canham.
clSimpleLinearGrowth::clSimpleLinearGrowth | ( | clSimManager * | p_oSimManager | ) |
Constructor.
Sets the namestring.
clSimpleLinearGrowth::~clSimpleLinearGrowth | ( | ) |
Destructor.
Frees memory.
float clSimpleLinearGrowth::CalcDiameterGrowthValue | ( | clTree * | p_oTree, | |
clTreePopulation * | p_oPop, | |||
float | fHeightGrowth | |||
) | [inline, virtual] |
Calculates the amount of diameter growth increase for a particular tree using the simple linear growth equation.
p_oTree | Tree for which to calculate growth. | |
p_oPop | Tree population object, just in case it's needed. | |
fHeightGrowth | Amount of height growth, in m (ignored). |
Reimplemented from clGrowthBase.
float clSimpleLinearGrowth::CalcHeightGrowthValue | ( | clTree * | p_oTree, | |
clTreePopulation * | p_oPop, | |||
float | fDiameterGrowth | |||
) | [inline, virtual] |
Calculates the amount of height growth increase for a particular tree using the simple linear growth equation.
p_oTree | Tree for which to calculate growth. | |
p_oPop | Tree population object, just in case it's needed. | |
fDiameterGrowth | Amount of diameter growth for this tree, in cm. |
Reimplemented from clGrowthBase.
float clSimpleLinearGrowth::CalculateFunctionValue | ( | clTree * | p_oTree | ) | [protected] |
Calculates the value of the simple linear growth function.
The meaning of what is returned depends on the type of growth the behavior is doing.
p_oTree | Tree for which to calculate growth. This is needed to get the GLI. |
void clSimpleLinearGrowth::DoShellSetup | ( | xercesc::DOMDocument * | p_oDoc | ) | [virtual] |
Does the setup for this behavior.
This reads in the parameters from the parameter file, and validates that all species/type combos use light (each must have "Light" registered).
p_oDoc | Parsed parameter file. |
modelErr | if any species/type combo to which this behavior is applied does not have a light behavior. |
Reimplemented from clGrowthBase.
void clSimpleLinearGrowth::SetNameData | ( | char * | cNameString | ) | [virtual] |
Captures the namestring passed to this behavior.
This is overridden from clBehaviorBase so we can capture the namestring passed. Since this class can create multiple kinds of behaviors that function differently, this will capture what kind of behavior this is supposed to be.
cNameString | Behavior's namestring. |
Reimplemented from clBehaviorBase.