SORTIE Core C++ Documentation
Public Member Functions | Protected Types | Protected Member Functions | Protected Attributes | Static Protected Attributes | Friends | List of all members
clDisperseBase Class Referenceabstract

Disperse base - Version 1.0. More...

#include <DisperseBase.h>

Inheritance diagram for clDisperseBase:
clBehaviorBase clWorkerBase clConspecificBANeighborhoodDisperse clMastingNonSpatialDisperse clMastingSpatialDisperse clNonSpatialDispersal clSpatialDispersal clStochDoubleLogTempDepNeighDisperse clTempDependentNeighborhoodDisperse

Public Member Functions

 clDisperseBase (clSimManager *p_oSimManager)
 Constructor. More...
 
virtual ~clDisperseBase ()
 Destroys common objects. More...
 
void Action ()
 Performs all disperse calculations. More...
 
void TimestepCleanup ()
 Resets all values in the seed grid to 0 and sets the static m_bUpdatedGapStatus to false if this is a hooked object. More...
 
- Public Member Functions inherited from clBehaviorBase
virtual float GetBehaviorVersion ()
 Gets the behavior version number. More...
 
 clBehaviorBase (clSimManager *p_oSimManager)
 Constructor. More...
 
virtual ~clBehaviorBase ()
 Destructor. More...
 
virtual short int ValidateVersionNumber (float fTestVersion)
 Makes sure that the version number of a file passed is between the minimum and current version numbers. More...
 
virtual void RegisterTreeDataMembers ()
 Registers tree data members. More...
 
virtual void SetSpeciesTypeCombos (short int iNumCombos, stcSpeciesTypeCombo *p_whatCombos)
 Sets the species/type combos for a behavior. More...
 
virtual void SetNameData (std::string sNameString)
 Sets the string for the parameter file behavior. More...
 
virtual short int GetNewTreeInts ()
 Gets the number of new tree integer data members this behavior wants to register. More...
 
virtual short int GetNewTreeFloats ()
 Gets the number of new tree float data members this behavior wants to register. More...
 
virtual short int GetNewTreeChars ()
 Gets the number of new tree character data members this behavior wants to register. More...
 
virtual short int GetNewTreeBools ()
 Gets the number of new tree bool data members this behavior wants to register. More...
 
virtual short int GetNumSpeciesTypeCombos ()
 Gets the number of species/type combos to which this behavior applies. More...
 
virtual short int GetNumBehaviorSpecies ()
 Gets the number of unique tree species to which this behavior applies. More...
 
struct stcSpeciesTypeCombo GetSpeciesTypeCombo (short int iIndex)
 Gets one of this behavior's type/species combos. More...
 
virtual short int GetBehaviorSpecies (short int iIndex)
 Gets one of the behavior's species. More...
 
short int GetBehaviorListNumber ()
 Gets the behavior list number for this behavior, which differentiates between multiple copies of the behavior in the behavior list. More...
 
void SetBehaviorListNumber (short int iNumber)
 Sets the behavior list number for this behavior, which differentiates between multiple copies of the behavior in the behavior list. More...
 
std::string FormatSpeciesTypeQueryString ()
 Formats the string for species/types query. More...
 
virtual DOMElement * GetParentParametersElement (xercesc::DOMDocument *p_oDoc)
 This will get the correct set of parameters for this behavior based on the behavior list position number. More...
 
- Public Member Functions inherited from clWorkerBase
 clWorkerBase (clSimManager *p_oSimManager)
 Constructor. More...
 
virtual ~clWorkerBase ()
 Destructor. More...
 
std::string GetName ()
 Gets the object's namestring. More...
 
clSimManagerGetSimManager ()
 
void DoObjectSetup (xercesc::DOMDocument *p_oDoc, fileType iFileType)
 Triggers the setup process. More...
 
virtual void EndOfRunCleanup ()
 Performs any necessary cleanup operations at the end of a run. More...
 

Protected Types

enum  function { weibull, lognormal }
 What PDF is used by a species. More...
 
enum  cover { gap, canopy }
 Cover status. More...
 

Protected Member Functions

void GetData (xercesc::DOMDocument *p_oDoc)
 Triggers all disperse setup if an object is hooked. More...
 
virtual void DoShellSetup (xercesc::DOMDocument *p_oDoc)=0
 Setup for a descendent class. More...
 
virtual void AddSeeds ()=0
 Performs disperse and adds seeds to seed grid. More...
 
void SetUpBase ()
 Does disperse base setup. More...
 
- Protected Member Functions inherited from clWorkerBase
void AssembleFileCode (int iFileType, int iFileVersion, char *cCode)
 Creates the proper identifying filecode for an XML file. More...
 

Protected Attributes

bool m_bHooked
 
- Protected Attributes inherited from clBehaviorBase
short int m_iNumSpeciesTypeCombos
 How many type/species combos a behavior will act on. More...
 
short int m_iNumBehaviorSpecies
 How many distinct species are in the combo list - important for filling species-specific values from parameter file. More...
 
short int * mp_iWhatSpecies
 List of distinct species - for filling species-specific values from parameter file. More...
 
stcSpeciesTypeCombomp_whatSpeciesTypeCombos
 Array of species/type combos that the behavior will act on. More...
 
short int m_iNewTreeInts
 The number of new tree integer data members this behavior wants to add. More...
 
short int m_iNewTreeFloats
 The number of new tree float data members this behavior wants to add. More...
 
short int m_iNewTreeChars
 The number of new tree character data members this behavior wants to add. More...
 
short int m_iNewTreeBools
 The number of new tree boolean data members this behavior wants to add. More...
 
short int m_iBehaviorListNumber
 The number of this behavior in the behavior list, to differentiate between possible multiple copies of this behavior. More...
 
float m_fVersionNumber
 Version number - this will be rounded to 2 digits after the decimal place. More...
 
std::string m_sXMLRoot
 XML root that encloses the parameters for this behavior. More...
 
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. More...
 
- Protected Attributes inherited from clWorkerBase
std::string m_sNameString
 If a behavior has registered a command line command with the sim manager, this allows it to be called. More...
 
clSimManagermp_oSimManager
 Pointer to the simulation manager object. More...
 
int * mp_iAllowedFileTypes
 List of the input file types this object can handle. More...
 
int m_iNumAllowedTypes
 Number of input file types this object can handle. More...
 

Static Protected Attributes

static clDisperseOrgmp_oDisperseOrg
 clDisperseOrg object - this pointer is held in common by all shells More...
 
static clGridmp_oSeedGrid
 Seed grid. More...
 
static short int * mp_iNumSeedsCode
 Data member codes for "dispersed seeds" grid for "seeds_x" data member. More...
 
static short int m_iGapCountCode
 Data member code - for counting trees for gap status. More...
 
static short int m_iIsGapCode
 Data member code for substrate grid for gap status. More...
 
static short int m_iTotalSpecies
 Total number of species. More...
 
static bool m_bUpdatedGapStatus
 A flag indicating whether or not the gap status of the seed grid has been updated this timestep. More...
 
static bool m_bIsStochastic
 Whether dispersal is stochastic (true) or deterministic (false). More...
 

Friends

class clDisperseOrg
 

Detailed Description

Disperse base - Version 1.0.

This is the base class for disperse behaviors. This holds common data.

Copyright 2011 Charles D. Canham.

Author
Lora E. Murphy


Edit history:
--------------—
October 20, 2011 - Wiped the slate clean for SORTIE 7.0 (LEM)

Member Enumeration Documentation

◆ cover

enum clDisperseBase::cover
protected

Cover status.

Enumerator
gap 

Gap cover.

canopy 

Canopy cover.

◆ function

enum clDisperseBase::function
protected

What PDF is used by a species.

Enumerator
weibull 

Weibull function type.

lognormal 

Lognormal function type.

Constructor & Destructor Documentation

◆ clDisperseBase()

clDisperseBase::clDisperseBase ( clSimManager p_oSimManager)

Constructor.

Sets the hook flag.

◆ ~clDisperseBase()

virtual clDisperseBase::~clDisperseBase ( )
virtual

Destroys common objects.

Member Function Documentation

◆ Action()

void clDisperseBase::Action ( )
virtual

Performs all disperse calculations.

This will be the same for all descendent classes - they do not need to override. If a particular object is hooked, it calls the disperse org object's DoDisperse. Otherwise it does nothing.

Reimplemented from clBehaviorBase.

◆ AddSeeds()

virtual void clDisperseBase::AddSeeds ( )
protectedpure virtual

◆ DoShellSetup()

virtual void clDisperseBase::DoShellSetup ( xercesc::DOMDocument *  p_oDoc)
protectedpure virtual

Setup for a descendent class.

If a descendent class has specific setup needs, it can overload this function.

Parameters
p_oDocDOM tree of parsed input file.

Implemented in clMastingSpatialDisperse, clSpatialDispersal, clStochDoubleLogTempDepNeighDisperse, clMastingNonSpatialDisperse, clTempDependentNeighborhoodDisperse, clConspecificBANeighborhoodDisperse, and clNonSpatialDispersal.

◆ GetData()

void clDisperseBase::GetData ( xercesc::DOMDocument *  p_oDoc)
protectedvirtual

Triggers all disperse setup if an object is hooked.

This will be the same for all descendent classes. If a particular object is hooked, it calls the disperse org object's DoSetup() function, which calls the function DoShellSetup() - if a descendent class has specific setup needs, it can overload that function.

Parameters
p_oDocDOM tree of parsed input file.

Implements clWorkerBase.

◆ SetUpBase()

void clDisperseBase::SetUpBase ( )
protected

Does disperse base setup.

Sets up the "dispersed_seeds" grid, if the static pointer is NULL, and declares mp_fDbhForReproduction.

◆ TimestepCleanup()

void clDisperseBase::TimestepCleanup ( )
virtual

Resets all values in the seed grid to 0 and sets the static m_bUpdatedGapStatus to false if this is a hooked object.

Reimplemented from clWorkerBase.

Friends And Related Function Documentation

◆ clDisperseOrg

friend class clDisperseOrg
friend

Member Data Documentation

◆ m_bHooked

bool clDisperseBase::m_bHooked
protected

◆ m_bIsStochastic

bool clDisperseBase::m_bIsStochastic
staticprotected

Whether dispersal is stochastic (true) or deterministic (false).

◆ m_bUpdatedGapStatus

bool clDisperseBase::m_bUpdatedGapStatus
staticprotected

A flag indicating whether or not the gap status of the seed grid has been updated this timestep.

This will be reset to false during the timestep cleanup.

◆ m_iGapCountCode

short int clDisperseBase::m_iGapCountCode
staticprotected

Data member code - for counting trees for gap status.

◆ m_iIsGapCode

short int clDisperseBase::m_iIsGapCode
staticprotected

Data member code for substrate grid for gap status.

◆ m_iTotalSpecies

short int clDisperseBase::m_iTotalSpecies
staticprotected

Total number of species.

◆ mp_iNumSeedsCode

short int* clDisperseBase::mp_iNumSeedsCode
staticprotected

Data member codes for "dispersed seeds" grid for "seeds_x" data member.

Array size is # species.

◆ mp_oDisperseOrg

clDisperseOrg* clDisperseBase::mp_oDisperseOrg
staticprotected

clDisperseOrg object - this pointer is held in common by all shells

◆ mp_oSeedGrid

clGrid* clDisperseBase::mp_oSeedGrid
staticprotected

Seed grid.

This is the grid which contains the numbers and locations of seeds produced by all parent trees. The resolution defaults to the standard grid default if it is not set by a grid map or grid map header.

The grid's name is "Dispersed Seeds". The grid is static, because multiple instances of this object could be instantiated to handle different dispersal situations.

Data members:

Member name Data type Description
seeds_x float Number of seeds for each tree species. "x" = species number. There is no check to make sure that each species actually uses disperse.
Is Gap bool Gap status of each grid cell.
count int Count of reproductively mature trees that use disperse. This number is used to determine gap status.

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