clGLIMap Class Reference

GLI Map Creator - Version 1.0. More...

#include <GLIMap.h>

Inheritance diagram for clGLIMap:

clGLIBase clLightBase clBehaviorBase clWorkerBase List of all members.

Public Member Functions

 clGLIMap (clSimManager *p_oSimManager)
 Constructor.
void GetData (xercesc::DOMDocument *p_oDoc)
 Does setup for this object.
void Action ()
 Creates the GLI map.
float CalcLightValue (clTree *p_oTree, clTreePopulation *p_oPop)
 Required overridden function - doesn't do anything.

Protected Member Functions

void ReadParameterFileData (xercesc::DOMDocument *p_oDoc)
 Reads in needed parameter file data.
void SetUpBrightnessArray ()
 Sets up the light brightness array.
void DoSetupCalculations ()
 Performs setup calculations.
void SetUpGrid ()
 Sets up the "GLI Map" grid.

Protected Attributes

clGridBasemp_oMapGrid
 Grid object which holds the GLI values.
float m_fLightHeight
 The height above the ground, in m, at which the quadrat light values are calculated.
float m_fMaxSearchDistance
 Maximum search distance for shading neighbors.
short int m_iGridGliCode
 Return code for the "GLI Map" grid to get and set GLI in the cells.

Friends

class clTestGLIMap
 To ease testing of parameter setup.

Detailed Description

GLI Map Creator - Version 1.0.

This behavior creates a map of GLI values in a grid. The user sets the height of the point at which to calculate GLI, and then this behavior calculates the GLI at that height in the center of each cell. (This behavior is almost identical to clQuadratGliLight, except it doesn't apply light to trees and calculates a GLI for every grid cell no matter what.) This behavior does not need to be applied to any trees.

Nothing else is done with the GLI values. This is an analysis behavior that prepares some calculations; the user can output the GLI map grid and then use the values however they see fit.

The namestring and parameter file call string for this behavior is "GLI Map Creator". This class is descended from clGLIBase so it can use its light calculation methods, but since the string "lightshell" is ommitted from this class's namestring, it should not be treated as a light behavior.

The sky brightness array used by this behavior is potentially identical to that for other GLI light behaviors. Before committing to the calculation of a brightness array, this behavior will ask those behaviors if their settings are identical. If they are, and that class has already calculated the brightness array, this behavior can just copy.

Copyright 2005 Charles D. Canham.

Author:
Lora E. Murphy

Edit history:
-----------------
December 22, 2004 - Created (LEM)


Constructor & Destructor Documentation

clGLIMap::clGLIMap ( clSimManager p_oSimManager  ) 

Constructor.

Sets the namestring.

Parameters:
p_oSimManager Sim Manager object.


Member Function Documentation

void clGLIMap::Action (  )  [virtual]

Creates the GLI map.

Each cell in the "GLI Map" grid, below, gets its GLI calculated at the height value in m_fLightHeight in the center of the cell.

Reimplemented from clLightBase.

float clGLIMap::CalcLightValue ( clTree p_oTree,
clTreePopulation p_oPop 
) [inline, virtual]

Required overridden function - doesn't do anything.

Parameters:
p_oTree Ignored.
p_oPop Ignored.
Returns:
0.

Implements clLightBase.

void clGLIMap::DoSetupCalculations (  )  [protected]

Performs setup calculations.

This calculates the values for m_fAziChunkConverter, m_fRcpTanMinAng, mp_fAziSlope, and m_fMaxSearchDistance.

void clGLIMap::GetData ( xercesc::DOMDocument *  p_oDoc  )  [virtual]

Does setup for this object.

Calls the following functions:

  1. clLightBase::GetData(), to make sure mp_oLightOrg gets set up if this is the "hooked" light object
  2. ReadParameterFileData
  3. SetUpBrightnessArray
  4. DoSetupCalculations
  5. SetUpGrid

Parameters:
p_oDoc DOM tree of parsed input file.

Reimplemented from clLightBase.

void clGLIMap::ReadParameterFileData ( xercesc::DOMDocument *  p_oDoc  )  [protected]

Reads in needed parameter file data.

First this looks for the "gliMap" tag and tries to read in all its data from that (in case the user has provided different sky grid settings to different light objects). If there's no sky grid data in the "gliMap" tag, then this will get what it needs from the first tag it finds with these values. (The "gliMap" tag, no matter what, must have the height of photo.)

Parameters:
p_oDoc DOM tree of parsed input file.
Exceptions:
modelErr if:
  • The tag "gliMap" or its required data is not present
  • Number of azimuth sky divisions is less than or equal to 0
  • Number of altitude sky divisions is less than or equal to 0
  • Height of GLI point is less than 0

void clGLIMap::SetUpBrightnessArray (  )  [protected]

Sets up the light brightness array.

This will check to see if it can share the brightness array with clGliLight or clQuadratGliLight, and if not, it creates the sky brightness array.

void clGLIMap::SetUpGrid (  )  [protected]

Sets up the "GLI Map" grid.

The parameter file is allowed to set grid cell resolution; map values will be ignored.


Member Data Documentation

clGridBase* clGLIMap::mp_oMapGrid [protected]

Grid object which holds the GLI values.

The name of the grid is "GLI Map". There is one float data member ("GLI") for holding GLI as a value from 0 to 100. Grid data in the parameter file can only set cell resolution; any map values will be ignored.


The documentation for this class was generated from the following file:
Generated on Wed Nov 29 08:42:21 2006 for SORTIE Core C++ Documentation by  doxygen 1.4.7