iLand
Public Member Functions | List of all members
LightRoom Class Reference

virtual room to do some light-experiments. More...

#include <lightroom.h>

Public Member Functions

 LightRoom ()
 
 ~LightRoom ()
 
void setup (const double dimx, const double dimy, const double dimz, const double cellsize, const double hemigridsize, const double latitude=48., const double diffus_frac=0.5)
 setup the spatial grid. More...
 
void setLightRoomObject (LightRoomObject *lro)
 
void setAggregationMode (const int mode)
 
double calculateGridAtPoint (const double p_x, const double p_y, const double p_z, bool fillShadowGrid=true)
 calculate a full hemiview image from given point More...
 
void calculateFullGrid ()
 calculate a hemigrid for each node of the grid (store results in m_3dvalues). More...
 
const HemiGridshadowGrid () const
 access to the hemigrid More...
 
const HemiGridsolarGrid () const
 
const FloatGridresult () const
 
double centerValue () const
 

Detailed Description

virtual room to do some light-experiments.

The basic use of this class is to derive the size/pattern of the light-influence FON for a single tree. It uses SolarRadiation for the calculation of global radiation and HemiGrid to calculate and store the results. This calculation is done for each node of a 3D space and afterwards accumulated into a 2D pattern.

Constructor & Destructor Documentation

◆ LightRoom()

LightRoom::LightRoom ( )

◆ ~LightRoom()

LightRoom::~LightRoom ( )
inline

Member Function Documentation

◆ calculateFullGrid()

void LightRoom::calculateFullGrid ( )

calculate a hemigrid for each node of the grid (store results in m_3dvalues).

Returns
fraction of "blocked" radiation [0..1]. -1: point inside the object

◆ calculateGridAtPoint()

double LightRoom::calculateGridAtPoint ( const double  p_x,
const double  p_y,
const double  p_z,
bool  fillShadowGrid = true 
)

calculate a full hemiview image from given point

◆ centerValue()

double LightRoom::centerValue ( ) const
inline

◆ result()

const FloatGrid & LightRoom::result ( ) const
inline

◆ setAggregationMode()

void LightRoom::setAggregationMode ( const int  mode)
inline

◆ setLightRoomObject()

void LightRoom::setLightRoomObject ( LightRoomObject lro)
inline

◆ setup()

void LightRoom::setup ( const double  dimx,
const double  dimy,
const double  dimz,
const double  cellsize,
const double  hemigridsize,
const double  latitude = 48.,
const double  diffus_frac = 0.5 
)

setup the spatial grid.

setup routine.

sets up datastructures (3d space, hemi grids)

Parameters
dimxsize of space in x direction [m]
dimysize of space in y direction [m]
dimzsize of space in z direction [m]
cellsizemetric length of cells (used for all 3 dimensions).
hemigridsizesize of hemigrid-cells (in degrees).
latitudelat. in degrees.
diffus_fracfraction [0..1] of diffus radiation of global radiation.

◆ shadowGrid()

const HemiGrid & LightRoom::shadowGrid ( ) const
inline

access to the hemigrid

◆ solarGrid()

const HemiGrid & LightRoom::solarGrid ( ) const
inline

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