Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008 #include "pdf1d_builder.h"
00009 #include <vsl/vsl_indent.h>
00010 #include <vsl/vsl_binary_loader.h>
00011 #include <mbl/mbl_data_array_wrapper.h>
00012
00013
00014
00015 pdf1d_builder::pdf1d_builder()
00016 {
00017 }
00018
00019
00020
00021 pdf1d_builder::~pdf1d_builder()
00022 {
00023 }
00024
00025
00026 void pdf1d_builder::build_from_array(pdf1d_pdf& model, const double* data, int n) const
00027 {
00028 mbl_data_array_wrapper<double> wrapper(data,n);
00029 build(model,wrapper);
00030 }
00031
00032
00033
00034
00035 short pdf1d_builder::version_no() const
00036 {
00037 return 1;
00038 }
00039
00040
00041
00042 void vsl_add_to_binary_loader(const pdf1d_builder& b)
00043 {
00044 vsl_binary_loader<pdf1d_builder>::instance().add(b);
00045 }
00046
00047
00048
00049 vcl_string pdf1d_builder::is_a() const
00050 {
00051 return vcl_string("pdf1d_builder");
00052 }
00053
00054
00055
00056 bool pdf1d_builder::is_class(vcl_string const& s) const
00057 {
00058 return s==pdf1d_builder::is_a();
00059 }
00060
00061
00062
00063 void vsl_b_write(vsl_b_ostream& bfs, const pdf1d_builder& b)
00064 {
00065 b.b_write(bfs);
00066 }
00067
00068
00069
00070 void vsl_b_read(vsl_b_istream& bfs, pdf1d_builder& b)
00071 {
00072 b.b_read(bfs);
00073 }
00074
00075
00076
00077 void vsl_print_summary(vcl_ostream& os,const pdf1d_builder& b)
00078 {
00079 os << b.is_a() << ": ";
00080 vsl_indent_inc(os);
00081 b.print_summary(os);
00082 vsl_indent_dec(os);
00083 }
00084
00085
00086
00087 void vsl_print_summary(vcl_ostream& os,const pdf1d_builder* b)
00088 {
00089 if (b)
00090 vsl_print_summary(os, *b);
00091 else
00092 os << "No pdf1d_builder defined.";
00093 }
00094
00095
00096
00097
00098 vcl_ostream& operator<<(vcl_ostream& os,const pdf1d_builder& b)
00099 {
00100 vsl_print_summary(os,b);
00101 return os;
00102 }
00103
00104
00105
00106
00107 vcl_ostream& operator<<(vcl_ostream& os,const pdf1d_builder* b)
00108 {
00109 vsl_print_summary(os,b);
00110 return os;
00111 }