clBehaviorBase Class Reference

BehaviorBase - Version 1.1 This class acts as a virtual parent for all behavior classes. More...

#include <BehaviorBase.h>

Inheritance diagram for clBehaviorBase:

clWorkerBase clBoleVolumeCalculator clCarbonValueCalculator clClimateChange clCompetitionHarvest clConditOmegaCalculator clCrownRadiusReporter clDensitySeedSurvival clDetailedSubstrate clDimensionAnalysis clDisperseBase clDisturbance clEstablishment clFoliarChemistry clFuncResponseSeedPredation clGeneralizedHarvestRegime clGermination clGrowthBase clHarvestInterface clInsectInfestation clLightBase clLightFilter clMerchantableStemWoodVolume clMerchValueCalculator clMicroEstablishment clMortalityBase clNeighborhoodSeedPredation clOutput clPartitionedBiomass clPlant clRandomBrowse clRandomSeedLogger clRipleysKCalculator clSelectionHarvest clShortOutput clSnagDecomp clStateReporter clStochasticGapGrowth clStorm clStormDamageApplier clStormDirectKiller clStormKilledPartitionedBiomass clStormKiller clStormLight clSubstrate clSubstrateDepSeedSurvival clTreeAgeCalculator clTreeRemover clVolumeCalculator clWindstorm

List of all members.

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.
struct 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.
stcSpeciesTypeCombomp_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.


Detailed Description

BehaviorBase - Version 1.1 This class acts as a virtual parent for all behavior classes.

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.

Author:
Lora E. Murphy

Edit history:
-----------------
April 28, 2004 - Submitted as beta (LEM)
April 30, 2004 - Made everything virtual, which created version 1.1 (LEM)

Constructor & Destructor Documentation

clBehaviorBase::clBehaviorBase ( clSimManager p_oSimManager  ) 

Constructor.

Initializes variables.

Parameters:
p_oSimManager Sim Manager object.

virtual clBehaviorBase::~clBehaviorBase (  )  [virtual]

Destructor.

Destroys variables initialized in the constructor.


Member Function Documentation

virtual float clBehaviorBase::GetBehaviorVersion (  )  [inline, virtual]

Gets the behavior version number.

Returns:
Behavior version number.

virtual void clBehaviorBase::Action (  )  [virtual]

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.

Parameters:
fTestVersion Test version number to validate.
Returns:
Whether the file number is valid. Possible values:
  • -1 - this file has an invalid version number for this behavior
  • 0 - this file has a valid version number but it does not match the current number
  • 1 - this file's version number matches the current version number of the behavior

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, clCompetitionHarvest, clCrownRadiusReporter, clDimensionAnalysis, clEpiphyticEstablishment, clGeneralizedHarvestRegime, clGrowthBase, clHarvestInterface, clInsectInfestation, clLaggedPostHarvestGrowth, clLightBase, clLightDepSeedSurvival, clMerchantableStemWoodVolume, clMerchValueCalculator, clMichMenNegGrowth, clMortalityBase, clRandomBrowse, clSnagDecomp, clStormDamageApplier, clTreeAgeCalculator, and clVolumeCalculator.

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.

Parameters:
iNumCombos Number of species/type combos being passed.
p_whatCombos Array of species/type combo objects.
Exceptions:
ModelErr If this function was called previously.

virtual void clBehaviorBase::SetNameData ( char *  cNameString  )  [inline, virtual]

virtual short int clBehaviorBase::GetNewTreeInts (  )  [inline, virtual]

Gets the number of new tree integer data members this behavior wants to register.

Returns:
Number of new tree integers, or zero if no new members are to be registered.

Reimplemented in clMortalityBase.

virtual short int clBehaviorBase::GetNewTreeFloats (  )  [inline, virtual]

Gets the number of new tree float data members this behavior wants to register.

Returns:
Number of new tree floats, or zero if no new members are to be registered.

virtual short int clBehaviorBase::GetNewTreeChars (  )  [inline, virtual]

Gets the number of new tree character data members this behavior wants to register.

Returns:
Number of new tree characters, or zero if no new members are to be registered.

virtual short int clBehaviorBase::GetNewTreeBools (  )  [inline, virtual]

Gets the number of new tree bool data members this behavior wants to register.

Returns:
Number of new tree bools, or zero if no new members are to be registered.

virtual short int clBehaviorBase::GetNumSpeciesTypeCombos (  )  [inline, virtual]

Gets the number of species/type combos to which this behavior applies.

Returns:
Number of species/type combos, or zero if this behavior doesn't apply to any species/type combos.

virtual short int clBehaviorBase::GetNumBehaviorSpecies (  )  [inline, virtual]

Gets the number of unique tree species to which this behavior applies.

Returns:
Number of behavior species, or zero if this behavior doesn't apply to any species.

struct stcSpeciesTypeCombo clBehaviorBase::GetSpeciesTypeCombo ( short int  iIndex  )  [read]

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.

Parameters:
iIndex of the species/type combo.
Returns:
The desired species/type combo.
Exceptions:
BAD_DATA error if the argument is not a valid array index.

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.

Parameters:
iIndex of the species.
Returns:
The desired species number.
Exceptions:
BAD_DATA error if the argument is not a valid array index.


Member Data Documentation

How many type/species combos a behavior will act on.

How many distinct species are in the combo list - important for filling species-specific values from parameter file.

short int* clBehaviorBase::mp_iWhatSpecies [protected]

List of distinct species - for filling species-specific values from parameter file.

Array of species/type combos that the behavior will act on.

short int clBehaviorBase::m_iNewTreeInts [protected]

The number of new tree integer data members this behavior wants to add.

short int clBehaviorBase::m_iNewTreeFloats [protected]

The number of new tree float data members this behavior wants to add.

short int clBehaviorBase::m_iNewTreeChars [protected]

The number of new tree character data members this behavior wants to add.

short int clBehaviorBase::m_iNewTreeBools [protected]

The number of new tree boolean data members this behavior wants to add.

Version number - this will be rounded to 2 digits after the decimal place.

Minimum version number - this behavior will run parameter data for a file marked between this number and the current version number, inclusive.


The documentation for this class was generated from the following file:

Generated on Tue Apr 19 13:56:07 2011 for SORTIE Core C++ Documentation by  doxygen 1.5.6