GrowthOrg.h

00001 //---------------------------------------------------------------------------
00002 
00003 #ifndef GrowthOrgH
00004 #define GrowthOrgH
00005 //---------------------------------------------------------------------------
00006 
00007 #include <xercesc/dom/dom.hpp>
00008 
00009 class clGrowthBase;
00010 class clSimManager;
00011 class clTreePopulation;
00012 class clNciGrowth;
00013 
00080 class clGrowthOrg {
00081   public:
00082 
00086   ~clGrowthOrg();
00087 
00093   clGrowthOrg(clGrowthBase *p_oHookedShell);
00094 
00136   void DoGrowthAssignments();
00137 
00156   void DoSetup(clSimManager *p_oSimManager, xercesc::DOMDocument *p_oDoc);
00157 
00163   short int GetNumberOfSpecies() {return m_iTotalSpecies;};
00164 
00170   short int GetNumberOfTypes() {return m_iTotalTypes;};
00171 
00179   short int GetLightCode(short int iSp, short int iTp)
00180    {return mp_iLightCodes[iSp][iTp];};
00181 
00189  short int GetGrowthCode(short int iSp, short int iTp)
00190    {return mp_iGrowthCodes[iSp][iTp];};
00191 
00192 
00200  short int GetDiamCode(short int iSp, short int iTp)
00201    {return mp_iDiamCodes[iSp][iTp];};
00202 
00211  clGrowthBase* GetGrowthShell(short int iSp, short int iTp)
00212    {return mp_oDiameterGrowthTable[iSp][iTp];};
00213 
00223   void DoTreeDataMemberRegistrations(clSimManager *p_oSimManager,
00224      clTreePopulation *p_oPop);
00225 
00226   protected:
00227   clTreePopulation *mp_oPop; 
00229   clGrowthBase ***mp_oDiameterGrowthTable; 
00236   clGrowthBase ***mp_oHeightGrowthTable; 
00243   clGrowthBase **mp_oShellList; 
00248   float *mp_fMaxTreeHeight;
00249 
00250   short int m_iTotalSpecies; 
00252   short int m_iTotalTypes;   
00254   short int m_iNumShells;    
00261   short int **mp_iGrowthCodes;
00262 
00267   short int **mp_iLightCodes;
00268 
00273   short int **mp_iDiamCodes;
00274 
00279   short int **mp_iHeightCodes;
00280 
00281 
00307   void PopulateGrowthTables(clSimManager *p_oSimManager);
00308 
00315   void GetLightVariableCodes();
00316 
00324   void GetDiamVariableCodes();
00325 
00332   void GetHeightVariableCodes();
00333 
00339   void GetMaxTreeHeights();
00340 };
00341 //---------------------------------------------------------------------------
00342 #endif

Generated on Thu Jan 26 13:44:33 2006 for SORTIE Core C++ Documentation by  doxygen 1.4.6-NO