MortalityBase.h

00001 //---------------------------------------------------------------------------
00002 
00003 #ifndef MortalityBaseH
00004 #define MortalityBaseH
00005 //---------------------------------------------------------------------------
00006 #include "BehaviorBase.h"
00007 
00008 class clTree;
00009 class clMortalityOrg;
00010 class clSimManager;
00011 
00040 class clMortalityBase : virtual public clBehaviorBase {
00041 //note: need the virtual keyword to avoid base class ambiguity.
00042 
00043   friend class clMortalityOrg;
00044 
00045   public:
00046 
00053   clMortalityBase(clSimManager *p_oSimManager);
00054 
00059   virtual ~clMortalityBase();
00060 
00067   void Action();
00068 
00079   virtual bool DoMort(clTree *p_oTree, const float &fDbh, const short int &iSpecies) = 0;
00080 
00086   clMortalityOrg* GetMortOrg() {return mp_oMortalityOrg;};
00087 
00093   void RegisterTreeDataMembers();
00094 
00103   short int GetNewTreeBools();
00104 
00112   bool UsesThisMortality(short int iSp, short int iTp)
00113       {return mp_bUsesThisMortality[iSp][iTp];};
00114 
00123   virtual void PreMortCalcs( clTreePopulation *p_oPop ){;};
00124 
00125   protected:
00126 
00127   static clMortalityOrg *mp_oMortalityOrg; 
00130   short int m_iNumTotalSpecies; 
00131   bool m_bHooked; 
00134   bool **mp_bUsesThisMortality; 
00146   void GetData(xercesc::DOMDocument *p_oDoc);
00147 
00151   void PopulateUsesThisMortality();
00152 
00159   virtual void DoShellSetup(xercesc::DOMDocument *p_oDoc){;};
00160 };
00161 clMortalityOrg *clMortalityBase::mp_oMortalityOrg = NULL;
00162 //---------------------------------------------------------------------------
00163 #endif

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