clWorkerBase Class Reference

WORKER BASE - Version 1.0. More...

#include <WorkerBase.h>

Inheritance diagram for clWorkerBase:

clBehaviorBase clGridBase clPlot clPopulationBase clBoleVolumeCalculator clCarbonValueCalculator clDensitySeedSurvival clDimensionAnalysis clDisperseBase clDisturbance clEstablishment clFuncResponseSeedPredation clGermination clGrowthBase clLightBase clLightFilter clMerchValueCalculator clMicroEstablishment clMortalityBase clOutput clPlant clRandomSeedLogger clSelectionHarvest clShortOutput clStochasticGapGrowth clStorm clStormDamageApplier clStormKiller clStormLight clSubstrate clSubstrateDepSeedSurvival clTreeAgeCalculator clTreeRemover clVolumeCalculator clWindstorm clTreePopulation List of all members.

Public Member Functions

int GetObjectVersion ()
 Returns the version number of the clWorkerBase class.
 clWorkerBase (clSimManager *p_oSimManager)
 Constructor.
virtual ~clWorkerBase ()
 Destructor.
char * GetName ()
 Gets the object's namestring.
void DoObjectSetup (xercesc::DOMDocument *p_oDoc, fileType iFileType)
 Triggers the setup process.
virtual void TimestepCleanup ()
 Performs any necessary cleanup operations at the end of a timestep.
virtual void EndOfRunCleanup ()
 Performs any necessary cleanup operations at the end of a run.
virtual void DoCommand (char *cCommand, char *cArguments)
 If a behavior has registered a command line command with the sim manager, this allows it to be called.

Protected Member Functions

virtual void GetData (xercesc::DOMDocument *p_oDoc)=0
 Performs an object's setup.
void AssembleFileCode (int iFileType, int iFileVersion, char *cCode)
 Creates the proper identifying filecode for an XML file.

Protected Attributes

char m_cNameString [MAX_NAMESTRING_SIZE]
 Object's identifying namestring.
int * mp_iAllowedFileTypes
 List of the input file types this object can handle.
int m_iNumAllowedTypes
 Number of input file types this object can handle.

Static Protected Attributes

static clSimManagermp_oSimManager
 Pointer to the simulation manager object.

Detailed Description

WORKER BASE - Version 1.0.

The worker base class serves as a virtual base class for all data and behavior objects. These object types each have their own managers. The managers them- selves have a base class and this object allows that manager base class to access the objects.

This class only serves as a parent class for other classes; do not instantiate objects of this class.

In order for the dynamic casting to work, this must be a polymorphic base class, which means it must have a virtual function. So make sure there's always one.

There are is a virtual function that all child classes must overload.

Copyright 2003 Charles D. Canham.

Author:
Lora E. Murphy

Edit history:
-----------------
April 28, 2004 - Submitted as beta (LEM)


Constructor & Destructor Documentation

clWorkerBase::clWorkerBase clSimManager p_oSimManager  ) 
 

Constructor.

The constructor initializes the common variables.

Parameters:
p_oSimManager Sim Manager object.

virtual clWorkerBase::~clWorkerBase  )  [virtual]
 

Destructor.

Deletes the common variables.


Member Function Documentation

void clWorkerBase::AssembleFileCode int  iFileType,
int  iFileVersion,
char *  cCode
[protected]
 

Creates the proper identifying filecode for an XML file.

When objects must read or write XML files, they often need to use a filecode. This is an 8-character string divided into four sets of two characters. The first set of two characters is the model major version; the second set of two characters is the minor versions; the third set of two characters is the file type; and the fourth set is the file version. Given the file type and file version, this will assemble the string and place it in cCode. cCode should be declared to have room for the 8-digit code. AssembleFileCode() will not check for appropriate length.

Parameters:
iFileType Type of file for which to assemble the code.
iFileVersion File's version number.
cCode A string into which the finished file code will be placed.

virtual void clWorkerBase::DoCommand char *  cCommand,
char *  cArguments
[inline, virtual]
 

If a behavior has registered a command line command with the sim manager, this allows it to be called.

Parameters:
cCommand Command string.
cArguments Any arguments passed with the command.

void clWorkerBase::DoObjectSetup xercesc::DOMDocument *  p_oDoc,
fileType  iFileType
 

Triggers the setup process.

This function should not be overridden.

Parameters:
p_oDoc DOM tree of parsed input file.
iFileType Input file's type.

virtual void clWorkerBase::EndOfRunCleanup  )  [inline, virtual]
 

Performs any necessary cleanup operations at the end of a run.

Child classes can override this function as necessary.

virtual void clWorkerBase::GetData xercesc::DOMDocument *  p_oDoc  )  [protected, pure virtual]
 

Performs an object's setup.

This must be overridden by child classes.

Parameters:
p_oDoc DOM tree of parsed input file.

Implemented in clGridBase, clPlot, clTreePopulation, clBoleVolumeCalculator, clCarbonValueCalculator, clDensitySeedSurvival, clDimensionAnalysis, clDisperseBase, clDisturbance, clEstablishment, clFuncResponseSeedPredation, clGermination, clGLIMap, clGLIPoints, clGrowthBase, clLightBase, clLightDepSeedSurvival, clLightFilter, clMerchValueCalculator, clMicroEstablishment, clMortalityBase, clOutput, clShortOutput, clPlant, clRandomSeedLogger, clSelectionHarvest, clStochasticGapGrowth, clStorm, clStormDamageApplier, clStormKiller, clStormLight, clSubstrate, clSubstrateDepSeedSurvival, clTreeAgeCalculator, clTreeRemover, clVolumeCalculator, and clWindstorm.

char* clWorkerBase::GetName  )  [inline]
 

Gets the object's namestring.

This name can be used to search for the object.

Returns:
Namestring.

int clWorkerBase::GetObjectVersion  )  [inline]
 

Returns the version number of the clWorkerBase class.

Returns:
clWorkerBase class version number.

Reimplemented in clGridBase, clPlot, and clPopulationBase.

virtual void clWorkerBase::TimestepCleanup  )  [inline, virtual]
 

Performs any necessary cleanup operations at the end of a timestep.

Child classes can override this function as necessary.

Reimplemented in clTreePopulation, clBasalAreaLight, clDisperseBase, clGapLight, clPlant, clQuadratGliLight, and clStorm.


Member Data Documentation

clSimManager* clWorkerBase::mp_oSimManager [static, protected]
 

Pointer to the simulation manager object.

Allows communication between objects.


The documentation for this class was generated from the following file:
Generated on Mon Mar 27 12:51:28 2006 for SORTIE Core C++ Documentation by  doxygen 1.4.6-NO