Main Page | Modules | Namespace List | Class Hierarchy | Class List | Directories | File List | Class Members | File Members

log.cpp

Go to the documentation of this file.
00001 #define WANT_STREAM
00002 
00003 #include "log.h"
00004 #include <iostream>
00005 #include <matrix/newmatio.h>
00006 #include <fstream>
00007 #include <time.h>
00008 
00009 #ifdef __unix__
00010 void log::_strtime(char* output)
00011 {
00012         time_t now = time(NULL);
00013         struct tm* local = localtime(&now);
00014         char* tempstring = asctime(local);
00015         tempstring[19] = '\0';
00016         strcpy(output,tempstring);
00017 }
00018 #endif
00019 
00020 
00021 void log::write(string log) {
00022         ofstream logfile;
00023         char timeStr [19];
00024         #ifndef __WINDOWS__
00025         _strtime( timeStr );
00026         #else
00027         _strtime_s( timeStr );
00028         #endif
00029         
00030         logfile.open (m_filename, ios::out | ios::app);
00031         logfile << timeStr << " " << log << "\n";
00032         logfile.close();
00033 }
00034 
00035 void log::write(string log, double data) {
00036         ofstream logfile;
00037         char timeStr [19];
00038         #ifndef __WINDOWS__
00039         _strtime( timeStr );
00040         #else
00041         _strtime_s( timeStr );
00042         #endif
00043         logfile.open (m_filename, ios::out | ios::app);
00044         logfile << timeStr << " " << log << ": " << data << "\n";
00045         logfile.close();
00046 }
00047 
00048 void log::write(string log, int data) {
00049         ofstream logfile;
00050         char timeStr [19];
00051         #ifndef __WINDOWS__
00052         _strtime( timeStr );
00053         #else
00054         _strtime_s( timeStr );
00055         #endif
00056         logfile.open (m_filename, ios::out | ios::app);
00057         logfile << timeStr << " " << log << ": " << data << "\n";
00058         logfile.close();
00059 }
00060 
00061 void log::write(string log, Matrix data) {
00062         ofstream logfile;
00063         char timeStr [19];
00064         #ifndef __WINDOWS__
00065         _strtime( timeStr );
00066         #else
00067         _strtime_s( timeStr );
00068         #endif
00069         logfile.open (m_filename, ios::out | ios::app);
00070         logfile << timeStr << " " << log << "\n";
00071         logfile << "Dim: [" << data.Nrows() << "," << data.Ncols() << "]\n";
00072         logfile.close();
00073         if(m_debug) {
00074                 ofstream matrixfile;
00075                 matrixfile.open (log.append("-MATRIX.log").c_str());
00076                 matrixfile << setw(10) << setprecision(5) << data;
00077                 matrixfile.close();
00078         }
00079 }
00080 
00081 void log::write(string log, ExampleModel data) {
00082         ofstream logfile;
00083         char timeStr [19];
00084         #ifndef __WINDOWS__
00085         _strtime( timeStr );
00086         #else
00087         _strtime_s( timeStr );
00088         #endif
00089         logfile.open (m_filename, ios::out | ios::app);
00090         logfile << timeStr << " " << log << "\n";
00091         logfile << "Vertices: " << data.getVertexs().size()  << "\n";
00092         logfile << "Faces:    " << data.getFaces().size()  << "\n";
00093         logfile.close();
00094         if(m_debug) {
00095                 ofstream modelfile;
00096                 modelfile.open (log.append("-MODEL.log").c_str());
00097                 for(int i=0;i<(int)data.getVertexs().size();i++) {
00098                         modelfile       << "Index: " << data.getVertexs()[i]->getIndex() << "\n";
00099                         modelfile       << "Normal: (" << data.getVertexs()[i]->getNormal()->x;
00100                         modelfile       << "," << data.getVertexs()[i]->getNormal()->y;
00101                         modelfile       << "," << data.getVertexs()[i]->getNormal()->z << ")\n";
00102                         modelfile       << "Coordinate: (" << data.getVertexs()[i]->getCoordinates()->x;
00103                         modelfile       << "," << data.getVertexs()[i]->getCoordinates()->y;
00104                         modelfile       << "," << data.getVertexs()[i]->getCoordinates()->z << ")\n";
00105                 }
00106                 modelfile.close();
00107         }
00108 }
00109 
00110 void log::write(string log, ReferenceModel data) {
00111         ofstream logfile;
00112         char timeStr [19];
00113         #ifndef __WINDOWS__
00114         _strtime( timeStr );
00115         #else
00116         _strtime_s( timeStr );
00117         #endif
00118         logfile.open (m_filename, ios::out | ios::app);
00119         logfile << timeStr << " " << log << "\n";
00120         logfile << "Vertices: " << data.getVertexs().size()  << "\n";
00121         logfile << "Faces:    " << data.getFaces().size()  << "\n";
00122         logfile.close();
00123         if(m_debug) {
00124                 ofstream modelfile;
00125                 modelfile.open (log.append("-MODEL.log").c_str());
00126                 modelfile << "Vertices: " << data.getVertexs().size() << "\n";
00127                 modelfile << "faces:    " << data.getFaces().size() << "\n";
00128                 for(int i=0;i<(int)data.getVertexs().size();i++) {
00129                         modelfile       << "Index: " << data.getVertexs()[i]->getIndex() << "\n";
00130                         modelfile       << "Normal: (" << data.getVertexs()[i]->getNormal()->x;
00131                         modelfile       << "," << data.getVertexs()[i]->getNormal()->y;
00132                         modelfile       << "," << data.getVertexs()[i]->getNormal()->z << ")\n";
00133                         modelfile       << "Coordinate: (" << data.getVertexs()[i]->getCoordinates()->x;
00134                         modelfile       << "," << data.getVertexs()[i]->getCoordinates()->y;
00135                         modelfile       << "," << data.getVertexs()[i]->getCoordinates()->z << ")\n";
00136                 }
00137                 modelfile.close();
00138         }
00139 }
00140 
00141 void log::clear() {
00142         ofstream logfile;
00143         logfile.open (m_filename, ios::out);
00144         logfile << "";
00145         logfile.close();
00146 }
00147 
00148 void log::setDebug(bool debug) {
00149         m_debug = debug;
00150 }
00151 
00152 const char* log::m_filename = "PCG.log";
00153 bool log::m_debug = false;

Generated on Tue Apr 17 09:39:11 2007 for PCG Library by  doxygen 1.3.9.1