00001 //--------------------------------------------------------------------------- 00002 // LinearBiLevelGrowth 00003 //--------------------------------------------------------------------------- 00004 #if !defined(LinearBiLevelGrowth_H) 00005 #define LinearBiLevelGrowth_H 00006 00007 #include "GrowthBase.h" 00008 00009 class clGridBase; 00010 00045 class clLinearBiLevelGrowth : virtual public clGrowthBase { 00046 //note: need the virtual keyword to avoid base class ambiguity. 00047 00048 public: 00049 00053 clLinearBiLevelGrowth(clSimManager *p_oSimManager); 00054 00058 ~clLinearBiLevelGrowth(); 00059 00073 float CalcDiameterGrowthValue(clTree *p_oTree, clTreePopulation *p_oPop, float fHeightGrowth); 00074 00082 void DoShellSetup(xercesc::DOMDocument *p_oDoc); 00083 00092 void SetNameData(char *cNameString); 00093 00094 00095 protected: 00096 00098 clGridBase *mp_oStormLight; 00099 00102 float *mp_fLoLightSlope; 00103 00106 float *mp_fLoLightIntercept; 00107 00110 float *mp_fHiLightSlope; 00111 00114 float *mp_fHiLightIntercept; 00115 00119 float *mp_fHiLightThreshold; 00120 00122 int *mp_iIndexes; 00123 00126 float m_fYearsPerTimestep; 00127 00129 int m_iLightCode; 00130 }; 00131 //--------------------------------------------------------------------------- 00132 #endif // SimpleLinearGrowth_H