#include <QuadratGLILight.h>
Inheritance diagram for clQuadratGliLight:
Public Member Functions | |
clQuadratGliLight (clSimManager *p_oSimManager) | |
Constructor. | |
void | DoShellSetup (xercesc::DOMDocument *p_oDoc) |
Reads some extra parameters from the parameter file. | |
float | CalcLightValue (clTree *p_oTree, clTreePopulation *p_oPop) |
Provides a GLI value for a tree. | |
void | TimestepCleanup () |
Resets all the values in the grid to -1. | |
Protected Attributes | |
clGridBase * | mp_oQuadrats |
Grid object which holds the quadrat values. | |
float | m_fLightHeight |
The height above the ground, in m, at which the quadrat light values are calculated. | |
float | m_fMaxSearchRad |
The maximum distance, in m, to search for shading neighbors. | |
short int | m_iGridGliCode |
Return code for the quadrats grid to get and set GLI in the cells. |
This behavior uses a grid object to help it assign GLI values to the trees to which it is assigned. The grid cells are the quadrats, in this case; this is a throwback to old SORTIE terminology. Each grid cell in which there is a tree to which this behavior applies has a GLI value calculated at its center, at a height that the user specifies. All other trees to which this behavior applies that are in that same grid cell get that same GLI value. This behavior saves having to calculate a different GLI value for each tree.
The namestring is "quadratglilightshell".
The sky brightness array used by this behavior is potentially identical to that for regular GLI light - class name clGliLight, namestring "glilightshell". 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. (The reverse could also happen.)
Copyright 2003 Charles D. Canham.
clQuadratGliLight::clQuadratGliLight | ( | clSimManager * | p_oSimManager | ) |
Constructor.
Sets the namestring.
p_oSimManager | Sim Manager object. |
void clQuadratGliLight::DoShellSetup | ( | xercesc::DOMDocument * | p_oDoc | ) | [virtual] |
Reads some extra parameters from the parameter file.
If there's no "quadratGliLight" tag, then this will get what it needs from the "gliLight" tag. This must have number of azimuth angles and number of altitude angles. This will check to see if it can share the brightness array with clGliLight.
p_oDoc | DOM tree of parsed input file. |
Reimplemented from clLightBase.
float clQuadratGliLight::CalcLightValue | ( | clTree * | p_oTree, | |
clTreePopulation * | p_oPop | |||
) | [virtual] |
Provides a GLI value for a tree.
p_oTree | Tree for which to get GLI. | |
p_oPop | Tree population object. |
Implements clLightBase.
clGridBase* clQuadratGliLight::mp_oQuadrats [protected] |
Grid object which holds the quadrat values.
The grid cell resolution defaults to 2mX2m, and it has one float data member ("GLI") for holding GLI. The grid name is "Quadrat GLI".
A map in the parameter file can only set cell resolution; any values in the map will be ignored.
float clQuadratGliLight::m_fLightHeight [protected] |
The height above the ground, in m, at which the quadrat light values are calculated.
Defaults to 0.675 m.
float clQuadratGliLight::m_fMaxSearchRad [protected] |
The maximum distance, in m, to search for shading neighbors.
short int clQuadratGliLight::m_iGridGliCode [protected] |
Return code for the quadrats grid to get and set GLI in the cells.