00001 //--------------------------------------------------------------------------- 00002 // VolumeCalculator 00003 //--------------------------------------------------------------------------- 00004 #if !defined(VolumeCalculator_H) 00005 #define VolumeCalculator_H 00006 00007 #include "BehaviorBase.h" 00008 00098 class clVolumeCalculator : virtual public clBehaviorBase { 00099 public: 00100 00105 clVolumeCalculator(clSimManager *p_oSimManager); 00106 00110 ~clVolumeCalculator(); 00111 00118 void Action(); 00119 00133 void GetData(xercesc::DOMDocument *p_oDoc); 00134 00141 void RegisterTreeDataMembers(); 00142 00143 protected: 00145 float *mp_fTaperA; 00146 00148 float *mp_fTaperB; 00149 00151 float *mp_fTaperC; 00152 00154 float *mp_fTaperD; 00155 00157 float *mp_fTaperF; 00158 00160 float *mp_fTaperG; 00161 00163 float *mp_fTaperI; 00164 00166 float *mp_fTaperJ; 00167 00169 float *mp_fTaperK; 00170 00173 float *mp_fBarkA; 00174 00177 float *mp_fBarkB; 00178 00181 float *mp_fBarkC; 00182 00184 short int *mp_iIndexes; 00185 00189 char *m_cQuery; 00190 00193 float m_fStumpHeight; 00194 00197 float m_fMinUsableDiam; 00198 00200 float m_fSegmentLength; 00201 00204 short int **mp_iVolumeCodes; 00205 00218 float GetTreeVolume(const float &fTreeHeight, const float &fDBH, 00219 const int &iSpecies); 00220 00225 void FormatQueryString(); 00226 }; 00227 //--------------------------------------------------------------------------- 00228 #endif // VolumeCalculator_H