GridBasedSpatialDisperse.h

00001 //---------------------------------------------------------------------------
00002 // GridBasedSpatialDisperse
00003 //---------------------------------------------------------------------------
00004 #if !defined(GridBasedSpatialDisperse_H)
00005   #define GridBasedSpatialDisperse_H
00006 
00007 #include "DisperseBase.h"
00008 
00009 class DOMDocument;
00010 class clPlot;
00011 class clModelMath;
00033 class clGridBasedSpatialDisperse : virtual public clDisperseBase {
00034 //note: need the virtual keyword to avoid base class ambiguity.
00035 
00036  public:
00037 
00043  clGridBasedSpatialDisperse(clSimManager *p_oSimManager);
00044 
00048  ~clGridBasedSpatialDisperse();
00049 
00050  protected:
00051 
00052  clPlot *mp_oPlot; 
00053  float *mp_fDispersalX0;
00055  float *mp_fThetaXb;    
00057  float *mp_fStr;  
00059  float *mp_fBeta; 
00061  float *mp_fFecundity;  
00063  float m_fMaxSearchRadius; 
00066  float m_fQueryHeight; 
00068  float m_fSeedCellArea; 
00069  float m_fNumYearsPerTimestep; 
00070  short int *mp_iIndexes;  
00073  short int m_iNumFunctions; 
00074  short int *mp_iWhatFunction; 
00076   bool **mp_bIsUsed; 
00088 void AddSeeds();
00089 
00090 
00095   virtual void DoChildSetup(xercesc::DOMDocument *p_oDoc) {;};
00096 
00102  void DoShellSetup(xercesc::DOMDocument *p_oDoc);
00103 
00116   virtual float GetFunctionValue(float &fCellX, float &fCellY, float &fTreeX,
00117   float &fTreeY, int &iSpecies) = 0;
00118 
00122   void DeclareArrays();
00123 
00131   void GetParameterFileData(xercesc::DOMDocument *p_oDoc);
00132 
00138   void CalculateFecundity();
00139 
00145   void PopulateUsedTable();
00146 
00151   void CalculateQueryHeight();
00152 };
00153 //---------------------------------------------------------------------------
00154 #endif // AnisotropicDisperse_H

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