SimpleDataWriter.cpp
00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029 #include "SimpleDataWriter.hpp"
00030 #include "OutputFileHandler.hpp"
00031 #include "Exception.hpp"
00032
00033 SimpleDataWriter::SimpleDataWriter(const std::string& rDirectory,
00034 const std::string& rFileName,
00035 const std::vector<std::vector<double> >& rData,
00036 bool cleanDirectory)
00037 {
00038 if (rData.size() == 0)
00039 {
00040 EXCEPTION("Data vector is empty");
00041 }
00042
00043 for (unsigned i=0; i<rData.size(); i++)
00044 {
00045 if (rData[i].size() != rData[0].size())
00046 {
00047 EXCEPTION("Data vector sizes are not all equal");
00048 }
00049 }
00050
00051 OutputFileHandler output_file_handler(rDirectory, cleanDirectory);
00052 out_stream p_file = output_file_handler.OpenOutputFile(rFileName);
00053
00054 for (unsigned j=0; j<rData[0].size(); j++)
00055 {
00056 for (unsigned i=0; i<rData.size(); i++)
00057 {
00058 (*p_file) << rData[i][j] << "\t";
00059 }
00060 (*p_file) << "\n";
00061 }
00062 p_file->close();
00063 }
00064
00065 SimpleDataWriter::SimpleDataWriter(const std::string& rDirectory,
00066 const std::string& rFileName,
00067 const std::vector<double>& rT,
00068 const std::vector<double>& rX,
00069 bool cleanDirectory)
00070 {
00071 std::vector<std::vector<double> > data;
00072 data.push_back(rT);
00073 data.push_back(rX);
00074 SimpleDataWriter(rDirectory, rFileName, data, cleanDirectory);
00075 }
00076
00077 SimpleDataWriter::SimpleDataWriter(const std::string& rDirectory,
00078 const std::string& rFileName,
00079 const std::vector<double>& rData,
00080 bool cleanDirectory)
00081 {
00082 std::vector<std::vector<double> > data;
00083 data.push_back(rData);
00084 SimpleDataWriter(rDirectory, rFileName, data, cleanDirectory);
00085 }