clGLIPoints Class Reference

GLI Points File Creator - Version 1.0. More...

#include <GLIPoints.h>

Inheritance diagram for clGLIPoints:

clGLIBase clLightBase clBehaviorBase clWorkerBase

List of all members.

Public Member Functions

 clGLIPoints (clSimManager *p_oSimManager)
 Constructor.
 ~clGLIPoints ()
 Destructor.
void GetData (xercesc::DOMDocument *p_oDoc)
 Does setup for this object.
void Action ()
 Calculates the GLI values.
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.

Protected Attributes

struct clGLIPoints::stcCoordsmp_pointsList
 Structure for holding GLI points.
int m_iNumPoints
 How many points are in mp_pointsList.
char m_cFileName [MAX_FILENAME_SIZE]
 Points output file file name.

Classes

struct  stcCoords
 Structure for holding GLI points. More...


Detailed Description

GLI Points File Creator - Version 1.0.

This behavior creates a GLI value for each of a list of user-defined points. The user includes in the parameter file a points file with a set of X and Y coordinates and a height. For each timestep, this will calculate the GLI for each of those points and then write the results to a tab-delimited text file. 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 use the values however they see fit.

The namestring and parameter file call string for this behavior is "GLI Point 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:
-----------------
May 11, 2005 - Created (LEM)

Constructor & Destructor Documentation

clGLIPoints::clGLIPoints ( clSimManager p_oSimManager  ) 

Constructor.

Sets the namestring.

Parameters:
p_oSimManager Sim Manager object.

clGLIPoints::~clGLIPoints (  ) 

Destructor.

Frees memory.


Member Function Documentation

void clGLIPoints::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

Parameters:
p_oDoc DOM tree of parsed input file.

Reimplemented from clLightBase.

void clGLIPoints::Action (  )  [virtual]

Calculates the GLI values.

For each point, this calculates its GLI and then writes the result to the output file.

Reimplemented from clLightBase.

float clGLIPoints::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 clGLIPoints::ReadParameterFileData ( xercesc::DOMDocument *  p_oDoc  )  [protected]

Reads in needed parameter file data.

First this looks for the "gliPoints" 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 "gliPoints" tag, then this will get what it needs from the first tag it finds with these values. (The "gliPoints" tag, no matter what, must have the GLI points list and the filename of the output file.)

Parameters:
p_oDoc DOM tree of parsed input file.
Exceptions:
modelErr if:
  • The tag "gliPoints" or its required data (points list, filename) 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
  • Any point has an X or Y coordinate outside the plot
  • Any point has a light height that is negative

void clGLIPoints::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 clGLIPoints::DoSetupCalculations (  )  [protected]

Performs setup calculations.

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


Member Data Documentation

Structure for holding GLI points.

List of points for which to calculate GLI

int clGLIPoints::m_iNumPoints [protected]

How many points are in mp_pointsList.

Points output file file name.

If it already exists, the file is overwritten


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

Generated on Tue Apr 19 13:56:10 2011 for SORTIE Core C++ Documentation by  doxygen 1.5.6