00001 //--------------------------------------------------------------------------- 00002 00003 #ifndef StormLightH 00004 #define StormLightH 00005 //--------------------------------------------------------------------------- 00006 #include "BehaviorBase.h" 00007 00008 class clSimManager; 00009 class clGridBase; 00010 class clTreePopulation; 00011 00069 class clStormLight : virtual public clBehaviorBase { 00070 00071 public: 00072 00074 enum stochasticity { 00075 deterministic, 00076 lognormal, 00077 normal, 00078 negative_binomial 00079 }; 00080 00086 clStormLight(clSimManager *p_oSimManager); 00087 00091 ~clStormLight(); 00092 00101 void GetData(xercesc::DOMDocument *p_oDoc); 00102 00107 void Action(); 00108 00109 protected: 00110 00112 enum types {adult, snag}; 00113 00119 clGridBase *mp_oLightGrid; 00120 00123 int **mp_iStmDmgCodes; 00124 00126 float m_fMaxRadius; 00127 00129 float m_fSlope; 00130 00132 float m_fIntercept; 00133 00137 float m_fRandParameter; 00138 00141 float m_fMinCanopyTrees; 00142 00145 int m_iMaxDmgTime; 00146 00149 int m_iMaxSnagDmgTime; 00150 00152 int m_iNumTypes; 00153 00155 stochasticity m_iStochasticity; 00156 00158 short int m_iGridLightCode; 00159 }; 00160 //--------------------------------------------------------------------------- 00161 #endif