15    HemiGrid(): mMatrix(0), mMatrixCountAzimuth(-1),
 
   16                     mMatrixCountElevation(-1) {}
 
   20    void setup(
double cellsize_degree);
 
   21    void clear(
double SetWith = 0.);
 
   24    double& 
rGetByIndex(
const int iAzimuth, 
const int iElevation) 
const;
 
   25    double& 
rGet(
const double Azimuth, 
const double Elevation) 
const;
 
   28    int indexAzimuth(
double Azimuth)
 const { 
int x=int( (Azimuth + M_PI) / (2.*M_PI) * mMatrixCountAzimuth ); 
if (x==mMatrixCountAzimuth) --x; 
return x;}
 
   30    int indexElevation(
double Elevation)
 const { 
int x=int( Elevation / (M_PI / 2.) * mMatrixCountElevation ); 
if (x==mMatrixCountElevation) --x; 
return x;}
 
   33    double azimuth(
const int iAzimuth) { 
return iAzimuth/double(mMatrixCountAzimuth) * M_PI*2 - M_PI; }
 
   35    double azimuthNorth(
const int iAzimuth) { 
double d = iAzimuth/double(mMatrixCountAzimuth) * M_PI*2 - M_PI/2.; 
return d; }
 
   37    double elevation(
const int iElevation) { 
return iElevation/double(mMatrixCountElevation) * M_PI_2; }
 
   42    void matrixMinMax(
double &rMatrixMin, 
double &rMatrixMax) 
const;
 
   46    static void projectLine(
const double &x, 
const double &y, 
const double &deltah, 
const double &r,
 
   47        double &
elevation, 
double &azimuth1, 
double &azimuth2);
 
   58                         const double &offsetz, 
const double &height, 
const double &r,
 
   60    void modifyAngleRect( 
const double &elow, 
const double &alow1, 
const double &alow2,
 
   61                    const double &ehigh, 
const double &ahigh1, 
const double &ahigh2,
 
   70    int mMatrixCountAzimuth;
 
   71    int mMatrixCountElevation;
 
   72    double mMatrixCellSize;
 
   73    double mCellSizeDegree;
 
HemiGrid represents a grid covering the hemisphehre as well as some operations.
Definition: hemigrid.h:13
 
double getSum(const HemiGrid *Weighter=NULL) const
retrieve total sum of the hemigrid.
Definition: hemigrid.cpp:129
 
static void projectLine(const double &x, const double &y, const double &deltah, const double &r, double &elevation, double &azimuth1, double &azimuth2)
Definition: hemigrid.cpp:148
 
void clear(double SetWith=0.)
Definition: hemigrid.cpp:35
 
void setup(double cellsize_degree)
Definition: hemigrid.cpp:14
 
void modify(const HemiGrid &Source, const ModifyMode mode)
combine two Hemigrids.
Definition: hemigrid.cpp:115
 
~HemiGrid()
Definition: hemigrid.h:17
 
double & rGetByIndex(const int iAzimuth, const int iElevation) const
Definition: hemigrid.cpp:90
 
void matrixMinMax(double &rMatrixMin, double &rMatrixMax) const
get mininum and maximum value in the grid.
Definition: hemigrid.cpp:44
 
double & rGet(const double Azimuth, const double Elevation) const
Definition: hemigrid.cpp:105
 
void projectCylinder(const double &deltax, const double &deltay, const double &offsetz, const double &height, const double &r, const ModifyMode mode, const double &value)
Definition: hemigrid.cpp:205
 
HemiGrid(const HemiGrid &grid)
Definition: hemigrid.h:18
 
double azimuthNorth(const int iAzimuth)
get azimuth angle associated with given index.
Definition: hemigrid.h:35
 
void paintGrid(QImage &image) const
Definition: hemigrid.cpp:220
 
double azimuth(const int iAzimuth)
get azimuth angle associated with given index.
Definition: hemigrid.h:33
 
ModifyMode
Definition: hemigrid.h:49
 
@ Add
Definition: hemigrid.h:49
 
@ SetTo
Definition: hemigrid.h:49
 
@ Multiply
Definition: hemigrid.h:49
 
int indexAzimuth(double Azimuth) const
get azimuth index of given azimuth angle. angle should be -pi .. pi.
Definition: hemigrid.h:28
 
int matrixCountAzimuth() const
Definition: hemigrid.h:39
 
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)
Definition: hemigrid.cpp:170
 
HemiGrid()
Definition: hemigrid.h:15
 
int indexElevation(double Elevation) const
get index of elevation (0..pi/2)
Definition: hemigrid.h:30
 
double elevation(const int iElevation)
get elevation angle associated with given index.
Definition: hemigrid.h:37
 
double sum(const double elevation=0) const
get sum of all cell values with elevation >= "elevation".
Definition: hemigrid.cpp:56
 
int matrixCountElevation() const
Definition: hemigrid.h:40
 
QString dumpGrid() const
Definition: hemigrid.cpp:254