00001 //--------------------------------------------------------------------------- 00002 00003 #ifndef SailLightH 00004 #define SailLightH 00005 //--------------------------------------------------------------------------- 00006 00007 #include "LightBase.h" 00021 class clSailLight : public clLightBase { 00022 //note: need the virtual keyword to avoid base class ambiguity. 00023 00024 public: 00025 00031 clSailLight(clSimManager *p_oSimManager); 00032 00036 ~clSailLight() {delete[] mp_fAltTans;}; 00037 00046 void DoShellSetup(xercesc::DOMDocument *p_oDoc); 00047 00055 float CalcLightValue(clTree *p_oTree, clTreePopulation *p_oPop); 00056 00057 protected: 00058 00059 float m_fMaxShadingRadius; 00060 float *mp_fAltTans; 00063 enum crowndpthequalsheight {yes, 00064 no 00066 } m_iCrownDepthEqualsHeight; 00080 void AddTreeToSailFishEye(const float &fTargetX, const float &fTargetY, const 00081 float &fTargetHeight, clTree *p_oNeighbor, clPlot *p_oPlot, 00082 clTreePopulation *p_oPop, clAllometry *p_oAllom); 00083 }; 00084 //--------------------------------------------------------------------------- 00085 #endif