SORTIE Core C++ Documentation
|
GLI Light - Version 1.0. More...
#include <GLILight.h>
Public Member Functions | |
clGliLight (clSimManager *p_oSimManager) | |
Constructor. More... | |
void | DoShellSetup (xercesc::DOMDocument *p_oDoc) |
Reads some extra parameters from the parameter file. More... | |
float | CalcLightValue (clTree *p_oTree, clTreePopulation *p_oPop) |
Calculates a GLI value. More... | |
Public Member Functions inherited from clGLIBase | |
clGLIBase (clSimManager *p_oSimManager) | |
Constructor. More... | |
virtual | ~clGLIBase () |
Destructor. More... | |
float | GetSinMinSunAng () |
Gets the sine of the minimum sun angle. More... | |
float | GetAziChunkConverter () |
Gets the reciprocal of the size of a single azimuth sky grid division, in degrees. More... | |
float | GetRcpTanMinAng () |
Gets the reciprocal of the tangent of the minimum sun angle. More... | |
Public Member Functions inherited from clLightBase | |
clLightBase (clSimManager *p_oSimManager) | |
Constructor. More... | |
virtual | ~clLightBase () |
Destructor. More... | |
void | Action () |
Performs all light calculations. More... | |
void | RegisterTreeDataMembers () |
Performs data member registrations for "Light". More... | |
clLightOrg * | GetLightOrg () |
Gets the light org object. More... | |
float | GetMinSunAngle () |
Gets the altitude angle below which the sky is assumed to be dark. More... | |
float | GetNumAziAng () |
Gets the number of azimuth angles into which the sky hemisphere is divided. More... | |
float | GetNumAltAng () |
Gets the number of altitude angles into which the sky hemisphere is divided. More... | |
float | GetMinAngRow () |
Gets the row in the brightness array corresponding to the minimum solar angle. More... | |
float | GetBrightness (int alt, int azi) |
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 | 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... | |
clSimManager * | GetSimManager () |
void | DoObjectSetup (xercesc::DOMDocument *p_oDoc, fileType iFileType) |
Triggers the setup process. More... | |
virtual void | TimestepCleanup () |
Performs any necessary cleanup operations at the end of a timestep. More... | |
virtual void | EndOfRunCleanup () |
Performs any necessary cleanup operations at the end of a run. More... | |
Public Attributes | |
clLightOrg::fotocrowndpth | m_iPhotoDepth |
Depth of fisheye photo in tree. More... | |
Additional Inherited Members | |
Protected Member Functions inherited from clGLIBase | |
void | AddTreeToGliFishEye (const float &fTargetX, const float &fTargetY, const float &fTargetHeight, clTree *p_oNeighbor, clPlot *p_oPlot, clTreePopulation *p_oPop, clAllometry *p_oAllom) |
Adds one shading neighbor to the fisheye photo array for a GLI calculation. More... | |
void | GLIFisheyeNoCanopyIntersect (const float &fTargetX, const float &fTargetY, const float &fNeighX, const float &fNeighY, const float &fNeighCanrad, const float &fNeighHeight, const short int &iNeighSpecies, const float &fTargetHeight, const float &fDistToNearEdge, clTree *p_oNeighbor, clPlot *p_oPlot, clAllometry *p_oAllom) |
Adds one shading neighbor to the fisheye photo array for a GLI calculation when the canopies of the two trees do not overlap. More... | |
void | GLIFisheyeCanopyIntersect (const float &fTargetX, const float &fTargetY, const float &fNeighX, const float &fNeighY, const float &fNeighCanrad, const float &fNeighHeight, const short int &iNeighSpecies, const float &fTargetHeight, clTree *p_oNeighbor, clPlot *p_oPlot, clAllometry *p_oAllom) |
Adds one shading neighbor to the fisheye photo array for a GLI calculation when the canopies of the two trees overlap. More... | |
Protected Member Functions inherited from clLightBase | |
void | GetData (xercesc::DOMDocument *p_oDoc) |
Triggers all light setup. More... | |
void | PopulateGLIBrightnessArray () |
Populates the GLI brightness array. More... | |
void | PopulateSailLightBrightnessArray () |
Populates the sail brightness array. More... | |
float | GetDayAngle (int iJulianDay) |
Computes day angle. More... | |
float | GetDeclination (float &fDayAngle) |
Computes solar declination. More... | |
float | GetEccentricity (float &fDayAngle) |
Computes solar eccentricity. More... | |
float | GetSunrise (float &fLatInRadians, float &fDeclination) |
Computes sunrise. More... | |
float | GetCosineOfZenithAngle (float &fDeclination, float &fLatInRadians, float &fTimeNow) |
Computes cosine of the zenith angle of the sun at a given time. More... | |
float | GetAltitudeAngle (float &fCosZenAng) |
Computes altitude angle of the sun at a given time in radians. More... | |
float | GetAzimuthAngle (float &fDeclination, float &fLatInRadians, float &fAltInRad, float &fTimeNow) |
Computes azimuth angle of the sun at a given time in radians in SORTIE azimuth coordinates. More... | |
float | GetAirmassEffect (float &fAltInDeg, float &fCosZenAng) |
Computes the airmass effect for a given altitude angle. More... | |
float | GetBeamRadiation (float &fClearSkyTransCoeff, float &fAirmass, float &fEccentricity, float &fCosZenAng) |
Computes beam radiation strength. More... | |
virtual float | GetLightExtinctionCoefficient (clTree *p_oTree) |
Gets the light extinction coefficent. 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 inherited from clGLIBase | |
float | m_fSinMinSunAng |
Sin of the min sun angle. More... | |
float | m_fAziChunkConverter |
Reciprocal of the size of a single azimuth sky grid division, in degrees. More... | |
float | m_fRcpTanMinAng |
1/tan (m_fMinSunAngle). More... | |
float * | mp_fAziSlope |
For each azimuth chunk of sky, this holds the slope of the line to the middle of the chunk. More... | |
Protected Attributes inherited from clLightBase | |
bool | m_bHooked |
Whether or not this shell object is hooked to clLightOrg. More... | |
bool | m_bNeedsCommonParameters |
Whether or not this shell object requires the common light parameters held in clLightOrg such as clLightOrg::m_iLastJulDay. More... | |
float ** | mp_fBrightness |
Sky brightness array. More... | |
float ** | mp_fPhoto |
Simulated fisheye photo array. More... | |
double | m_fMinSunAngle |
The altitude angle below which the sky is assumed to be dark. More... | |
double | m_fAzimuthOfNorth |
The azimuth angle of north. More... | |
int | m_iNumAziAng |
Number of azimuth angles into which the sky hemisphere is divided. More... | |
int | m_iNumAltAng |
Number of altitude angles into which the sky hemisphere is divided. More... | |
int | m_iMinAngRow |
Row in the brightness array corresponding to the minimum solar angle. More... | |
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... | |
stcSpeciesTypeCombo * | mp_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... | |
clSimManager * | mp_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 inherited from clLightBase | |
static clLightOrg * | mp_oLightOrg |
clLightOrg object - this pointer is held in common by all shells More... | |
GLI Light - Version 1.0.
This calculates a GLI (global light index) for a tree. The namestring for this behavior is "glilightshell". The parameter file call string is "GLILight".
The sky brightness array used by this behavior is potentially identical to that for quadrat-based GLI light - class name clQuadratGliLight, namestring "quadratglilightshell". Before committing to the calculation of a brightness array, this behavior will ask that behavior if it's already done it and this behavior can just copy.
Copyright 2011 Charles D. Canham.
Edit history:
--------------—
October 20, 2011 - Wiped the slate clean for SORTIE 7.0 (LEM)
clGliLight::clGliLight | ( | clSimManager * | p_oSimManager | ) |
Constructor.
The constructor will set the namestring.
p_oSimManager | Sim manager. |
|
virtual |
Calculates a GLI value.
p_oTree | Tree for which to calculate GLI. |
p_oPop | Pointer to the tree population object. |
Implements clLightBase.
|
virtual |
Reads some extra parameters from the parameter file.
Number of azimuth angles and number of altitude angles are required to be present in the "glilight" tag.
p_oDoc | DOM tree of parsed parameter file. |
Reimplemented from clLightBase.
clLightOrg::fotocrowndpth clGliLight::m_iPhotoDepth |
Depth of fisheye photo in tree.
Defaults to top of crown, and thus is not required in the parameter file. Old parameter fotodepth