00001 #ifndef VNL_DEFINITE_INTEGRAL_H_ 00002 #define VNL_DEFINITE_INTEGRAL_H_ 00003 //: 00004 // \file 00005 // \author Kongbin Kang at Brown 00006 // \date Jan 12, 2005 00007 // \brief the abstract 1D integrand function used for definite integral 00008 00009 #include "vnl_integrant_fnct.h" 00010 00011 class vnl_definite_integral 00012 { 00013 protected: 00014 static vnl_integrant_fnct *pfnct_; 00015 00016 public: 00017 vnl_definite_integral() { pfnct_ = 0; } 00018 00019 void set_fnct(vnl_integrant_fnct* f) { pfnct_ = f; } 00020 00021 #if 0 00022 //: integration from a to b, in n steps 00023 virtual double integral(vnl_integrant_fnct *f, float a, float b, int n)=0; 00024 #endif 00025 00026 // destructor 00027 virtual ~vnl_definite_integral() { pfnct_ = 0; } 00028 }; 00029 00030 #endif