00001 // This is mul/pdf1d/pdf1d_gaussian_kernel_pdf_builder.h 00002 #ifndef pdf1d_gaussian_kernel_pdf_builder_h 00003 #define pdf1d_gaussian_kernel_pdf_builder_h 00004 00005 //: 00006 // \file 00007 // \author Tim Cootes 00008 // \brief Builds gaussian kernel pdfs 00009 00010 #include <pdf1d/pdf1d_kernel_pdf_builder.h> 00011 #include <vcl_iosfwd.h> 00012 00013 //======================================================================= 00014 00015 class pdf1d_gaussian_kernel_pdf; 00016 00017 //: Build gaussian kernel pdf objects 00018 // Build functions are implemented in the pdf1d_kernel_pdf_builder parent 00019 class pdf1d_gaussian_kernel_pdf_builder : public pdf1d_kernel_pdf_builder 00020 { 00021 pdf1d_gaussian_kernel_pdf& gkpdf(pdf1d_pdf& model) const; 00022 public: 00023 00024 //: Dflt ctor 00025 pdf1d_gaussian_kernel_pdf_builder(); 00026 00027 //: Destructor 00028 virtual ~pdf1d_gaussian_kernel_pdf_builder(); 00029 00030 //: Create empty model 00031 virtual pdf1d_pdf* new_model() const; 00032 00033 //: Name of the model class returned by new_model() 00034 virtual vcl_string new_model_type() const; 00035 00036 //: Version number for I/O 00037 short version_no() const; 00038 00039 //: Name of the class 00040 virtual vcl_string is_a() const; 00041 00042 //: Does the name of the class match the argument? 00043 virtual bool is_class(vcl_string const& s) const; 00044 00045 //: Create a copy on the heap and return base class pointer 00046 virtual pdf1d_builder* clone() const; 00047 00048 //: Print class to os 00049 virtual void print_summary(vcl_ostream& os) const; 00050 }; 00051 00052 #endif // pdf1d_gaussian_kernel_pdf_builder_h