00001
00002
00003 #ifndef GLIBaseH
00004 #define GLIBaseH
00005
00006 #include "LightBase.h"
00007
00008 class clTree;
00009 class clPlot;
00010 class clTreePopulation;
00011 class clAllometry;
00012 class clSimManager;
00013
00043 class clGLIBase : virtual public clLightBase {
00044
00045
00046 public:
00047
00052 clGLIBase(clSimManager *p_oSimManager);
00053
00057 virtual ~clGLIBase();
00058
00059 protected:
00060
00061 float m_fSinMinSunAng;
00064 float m_fAziChunkConverter;
00069 float m_fRcpTanMinAng;
00071 float *mp_fAziSlope;
00089 void AddTreeToGliFishEye(const float &fTargetX, const float &fTargetY, const
00090 float &fTargetHeight, clTree *p_oNeighbor, clPlot *p_oPlot,
00091 clTreePopulation *p_oPop, clAllometry *p_oAllom);
00092
00111 void GLIFisheyeNoCanopyIntersect(const float &fTargetX, const float &fTargetY,
00112 const float &fNeighX, const float &fNeighY, const float &fNeighCanrad, const
00113 float &fNeighHeight, const short int &iNeighSpecies, const float
00114 &fTargetHeight, const float &fDistToNearEdge, clTree *p_oNeighbor,
00115 clPlot *p_oPlot, clAllometry *p_oAllom);
00116
00134 void GLIFisheyeCanopyIntersect(const float &fTargetX, const float &fTargetY,
00135 const float &fNeighX, const float &fNeighY, const float &fNeighCanrad, const
00136 float &fNeighHeight, const short int &iNeighSpecies, const float
00137 &fTargetHeight, clTree *p_oNeighbor, clPlot *p_oPlot, clAllometry *p_oAllom);
00138 };
00139
00140 #endif