| 
    iLand
    
   | 
 
HemiGrid represents a grid covering the hemisphehre as well as some operations. More...
#include <hemigrid.h>
Public Types | |
| enum | ModifyMode { Add , Multiply , SetTo } | 
Public Member Functions | |
| HemiGrid () | |
| ~HemiGrid () | |
| HemiGrid (const HemiGrid &grid) | |
| void | setup (double cellsize_degree) | 
| void | clear (double SetWith=0.) | 
| double & | rGetByIndex (const int iAzimuth, const int iElevation) const | 
| double & | rGet (const double Azimuth, const double Elevation) const | 
| int | indexAzimuth (double Azimuth) const | 
| get azimuth index of given azimuth angle. angle should be -pi .. pi.  More... | |
| int | indexElevation (double Elevation) const | 
| get index of elevation (0..pi/2)  More... | |
| double | azimuth (const int iAzimuth) | 
| get azimuth angle associated with given index.  More... | |
| double | azimuthNorth (const int iAzimuth) | 
| get azimuth angle associated with given index.  More... | |
| double | elevation (const int iElevation) | 
| get elevation angle associated with given index.  More... | |
| int | matrixCountAzimuth () const | 
| int | matrixCountElevation () const | 
| void | matrixMinMax (double &rMatrixMin, double &rMatrixMax) const | 
| get mininum and maximum value in the grid.  More... | |
| double | sum (const double elevation=0) const | 
| get sum of all cell values with elevation >= "elevation".  More... | |
| void | modify (const HemiGrid &Source, const ModifyMode mode) | 
| combine two Hemigrids.  More... | |
| void | projectCylinder (const double &deltax, const double &deltay, const double &offsetz, const double &height, const double &r, const ModifyMode mode, const double &value) | 
| void | modifyAngleRect (const double &elow, const double &alow1, const double &alow2, const double &ehigh, const double &ahigh1, const double &ahigh2, const ModifyMode mode, const double &value) | 
| double | getSum (const HemiGrid *Weighter=NULL) const | 
| retrieve total sum of the hemigrid.  More... | |
| void | paintGrid (QImage &image) const | 
| QString | dumpGrid () const | 
Static Public Member Functions | |
| static void | projectLine (const double &x, const double &y, const double &deltah, const double &r, double &elevation, double &azimuth1, double &azimuth2) | 
HemiGrid represents a grid covering the hemisphehre as well as some operations.
The sky is modeled as equally sized tiles. Coordinate system: azimuth: angle between -pi .. +pi, where 0=south direction elevation: 0: horizon - pi/2 (90°)
| enum HemiGrid::ModifyMode | 
      
  | 
  inline | 
      
  | 
  inline | 
      
  | 
  inline | 
      
  | 
  inline | 
get azimuth angle associated with given index.
      
  | 
  inline | 
get azimuth angle associated with given index.
| void HemiGrid::clear | ( | double | SetWith = 0. | ) | 
| QString HemiGrid::dumpGrid | ( | ) | const | 
      
  | 
  inline | 
get elevation angle associated with given index.
| double HemiGrid::getSum | ( | const HemiGrid * | Weighter = NULL | ) | const | 
retrieve total sum of the hemigrid.
| Weighter | if available (non null) each cell value of this grid is multiplied with the weighter grid (note: no additional calculations are performed) | 
      
  | 
  inline | 
get azimuth index of given azimuth angle. angle should be -pi .. pi.
      
  | 
  inline | 
get index of elevation (0..pi/2)
      
  | 
  inline | 
      
  | 
  inline | 
| void HemiGrid::matrixMinMax | ( | double & | rMatrixMin, | 
| double & | rMatrixMax | ||
| ) | const | 
get mininum and maximum value in the grid.
| void HemiGrid::modify | ( | const HemiGrid & | Source, | 
| const ModifyMode | mode | ||
| ) | 
combine two Hemigrids.
use "Source" and combine it with curernt grid using the combine mode "mode". Available modes are: Add, Multiply, Set (=copy).
| Source | Hemigrid used as source (is const, and not modified). | 
| mode | Combine mode (Add, Multiply, SetTo) | 
| void HemiGrid::modifyAngleRect | ( | const double & | elow, | 
| const double & | alow1, | ||
| const double & | alow2, | ||
| const double & | ehigh, | ||
| const double & | ahigh1, | ||
| const double & | ahigh2, | ||
| const ModifyMode | mode, | ||
| const double & | value | ||
| ) | 
| void HemiGrid::paintGrid | ( | QImage & | image | ) | const | 
| void HemiGrid::projectCylinder | ( | const double & | deltax, | 
| const double & | deltay, | ||
| const double & | offsetz, | ||
| const double & | height, | ||
| const double & | r, | ||
| const ModifyMode | mode, | ||
| const double & | value | ||
| ) | 
      
  | 
  static | 
| double & HemiGrid::rGet | ( | const double | Azimuth, | 
| const double | Elevation | ||
| ) | const | 
| double & HemiGrid::rGetByIndex | ( | const int | iAzimuth, | 
| const int | iElevation | ||
| ) | const | 
| void HemiGrid::setup | ( | double | cellsize_degree | ) | 
| double HemiGrid::sum | ( | const double | elevation = 0 | ) | const | 
get sum of all cell values with elevation >= "elevation".