contrib/mul/pdf1d/pdf1d_epanech_kernel_pdf_builder.cxx
Go to the documentation of this file.
00001 // This is mul/pdf1d/pdf1d_epanech_kernel_pdf_builder.cxx
00002 #include "pdf1d_epanech_kernel_pdf_builder.h"
00003 //:
00004 // \file
00005 // \author Tim Cootes
00006 // \brief Builds Epanechnikov kernel pdfs
00007 
00008 #include <vcl_cassert.h>
00009 #include <vcl_string.h>
00010 //MAYBE NO LONGER NEEDED: #include <vnl/vnl_fwd.h> // Leave this hack here to avoid a MSVC internal compiler error.
00011 #include <pdf1d/pdf1d_epanech_kernel_pdf.h>
00012 
00013 //=======================================================================
00014 // Dflt ctor
00015 //=======================================================================
00016 
00017 pdf1d_epanech_kernel_pdf_builder::pdf1d_epanech_kernel_pdf_builder()
00018 {
00019 }
00020 
00021 //=======================================================================
00022 // Destructor
00023 //=======================================================================
00024 
00025 pdf1d_epanech_kernel_pdf_builder::~pdf1d_epanech_kernel_pdf_builder()
00026 {
00027 }
00028 
00029 //=======================================================================
00030 
00031 pdf1d_epanech_kernel_pdf& pdf1d_epanech_kernel_pdf_builder::gkpdf(pdf1d_pdf& model) const
00032 {
00033   // require a pdf1d_epanech_kernel_pdf
00034   assert(model.is_class("pdf1d_epanech_kernel_pdf"));
00035   return static_cast<pdf1d_epanech_kernel_pdf&>( model);
00036 }
00037 
00038 pdf1d_pdf* pdf1d_epanech_kernel_pdf_builder::new_model() const
00039 {
00040   return new pdf1d_epanech_kernel_pdf;
00041 }
00042 
00043 
00044 vcl_string pdf1d_epanech_kernel_pdf_builder::new_model_type() const
00045 {
00046   return vcl_string("pdf1d_epanech_kernel_pdf");
00047 }
00048 
00049 //=======================================================================
00050 // Method: is_a
00051 //=======================================================================
00052 
00053 vcl_string pdf1d_epanech_kernel_pdf_builder::is_a() const
00054 {
00055   return vcl_string("pdf1d_epanech_kernel_pdf_builder");
00056 }
00057 
00058 //=======================================================================
00059 // Method: is_class
00060 //=======================================================================
00061 
00062 bool pdf1d_epanech_kernel_pdf_builder::is_class(vcl_string const& s) const
00063 {
00064   return pdf1d_kernel_pdf_builder::is_class(s) || s==pdf1d_epanech_kernel_pdf_builder::is_a();
00065 }
00066 
00067 //=======================================================================
00068 // Method: version_no
00069 //=======================================================================
00070 
00071 short pdf1d_epanech_kernel_pdf_builder::version_no() const
00072 {
00073   return 1;
00074 }
00075 
00076 //=======================================================================
00077 // Method: clone
00078 //=======================================================================
00079 
00080 pdf1d_builder* pdf1d_epanech_kernel_pdf_builder::clone() const
00081 {
00082   return new pdf1d_epanech_kernel_pdf_builder(*this);
00083 }
00084 
00085 //=======================================================================
00086 // Method: print
00087 //=======================================================================
00088 
00089 void pdf1d_epanech_kernel_pdf_builder::print_summary(vcl_ostream& /*os*/) const
00090 {
00091   vcl_cerr << "pdf1d_epanech_kernel_pdf_builder::print_summary() NYI\n";
00092 }
00093 
00094