r348: fix linefeed problem
[ctsim.git] / libctsim / array2dfile.cpp
index 49f90f45182c30c656ee2bdb17162cce4e01a059..555d22eed1b9c771fdfb92d2e2c37fef87c5094a 100644 (file)
@@ -9,7 +9,7 @@
 **  This is part of the CTSim program
 **  Copyright (C) 1983-2000 Kevin Rosenberg
 **
 **  This is part of the CTSim program
 **  Copyright (C) 1983-2000 Kevin Rosenberg
 **
-**  $Id: array2dfile.cpp,v 1.26 2001/01/02 07:47:36 kevin Exp $
+**  $Id: array2dfile.cpp,v 1.27 2001/01/02 16:02:13 kevin Exp $
 **
 **  This program is free software; you can redistribute it and/or modify
 **  it under the terms of the GNU General Public License (version 2) as
 **
 **  This program is free software; you can redistribute it and/or modify
 **  it under the terms of the GNU General Public License (version 2) as
@@ -26,9 +26,9 @@
 ******************************************************************************/
 
 #include "array2dfile.h"
 ******************************************************************************/
 
 #include "array2dfile.h"
-#include <ctime>\r
-#ifdef MSVC\r
-typedef long off_t;\r
+#include <ctime>
+#ifdef MSVC
+typedef long off_t;
 #endif
 
 
 #endif
 
 
@@ -108,8 +108,8 @@ Array2dFileLabel::getDateTime (int& year, int& month, int& day, int& hour, int&
 const std::string& 
 Array2dFileLabel::getDateString (void) const
 {
 const std::string& 
 Array2dFileLabel::getDateString (void) const
 {
-  char szDate [128];\r
-  snprintf (szDate, sizeof(szDate), "%2d/%02d/%4d %02d:%02d:%02d",\r
+  char szDate [128];
+  snprintf (szDate, sizeof(szDate), "%2d/%02d/%4d %02d:%02d:%02d",
     m_month + 1, m_day, m_year + 1900, m_hour, m_minute, m_second);
   m_strDate = szDate;
   return m_strDate;
     m_month + 1, m_day, m_year + 1900, m_hour, m_minute, m_second);
   m_strDate = szDate;
   return m_strDate;
@@ -137,53 +137,53 @@ Array2dFileLabel::operator= (const Array2dFileLabel& rhs)
   return (*this);
 }
 
   return (*this);
 }
 
-void\r
-Array2dFileLabel::print (std::ostream& os) const\r
-{\r
-  if (m_labelType == L_HISTORY) {\r
-    os << "History: " << std::endl;\r
-    os << "  " << m_strLabel << std::endl;\r
-    os << "  calc time = " << m_calcTime << " secs" << std::endl;\r
-    os << "  Timestamp = " << getDateString() << std::endl;\r
-  } else if (m_labelType == L_USER) {\r
-    os << "Note: " <<  m_strLabel << std::endl;\r
-    os << "  Timestamp = %s" << getDateString() << std::endl;\r
-  } else {\r
-    os << "Unknown (" << m_labelType << "): " <<  m_strLabel << std::endl;\r
-    os << "  Timestamp = %s" << getDateString() << std::endl;\r
-  }\r
-}\r
-\r
-void\r
-Array2dFileLabel::printBrief (std::ostream& os) const\r
-{\r
-  if (m_labelType == L_HISTORY) {\r
-    os << "History (";\r
-    if (m_calcTime > 0)\r
-      os << m_calcTime << " secs, ";\r
-    os << getDateString() << "): " << m_strLabel << std::endl;\r
-  } else if (m_labelType == L_USER) {\r
-    os << "Note (" <<  getDateString() << "): " << m_strLabel << std::endl;\r
-  } else {\r
-    os << "Unknown (" << getDateString() << "): " << m_strLabel << std::endl;\r
-  }\r
-}\r
-
-void\r
-Array2dFileLabel::printBrief (std::ostringstream& os) const\r
-{\r
-  if (m_labelType == L_HISTORY) {\r
-    os << "History (";\r
-    if (m_calcTime > 0)\r
-      os << m_calcTime << " secs, ";\r
+void
+Array2dFileLabel::print (std::ostream& os) const
+{
+  if (m_labelType == L_HISTORY) {
+    os << "History: " << std::endl;
+    os << "  " << m_strLabel << std::endl;
+    os << "  calc time = " << m_calcTime << " secs" << std::endl;
+    os << "  Timestamp = " << getDateString() << std::endl;
+  } else if (m_labelType == L_USER) {
+    os << "Note: " <<  m_strLabel << std::endl;
+    os << "  Timestamp = %s" << getDateString() << std::endl;
+  } else {
+    os << "Unknown (" << m_labelType << "): " <<  m_strLabel << std::endl;
+    os << "  Timestamp = %s" << getDateString() << std::endl;
+  }
+}
+
+void
+Array2dFileLabel::printBrief (std::ostream& os) const
+{
+  if (m_labelType == L_HISTORY) {
+    os << "History (";
+    if (m_calcTime > 0)
+      os << m_calcTime << " secs, ";
+    os << getDateString() << "): " << m_strLabel << std::endl;
+  } else if (m_labelType == L_USER) {
+    os << "Note (" <<  getDateString() << "): " << m_strLabel << std::endl;
+  } else {
+    os << "Unknown (" << getDateString() << "): " << m_strLabel << std::endl;
+  }
+}
+
+void
+Array2dFileLabel::printBrief (std::ostringstream& os) const
+{
+  if (m_labelType == L_HISTORY) {
+    os << "History (";
+    if (m_calcTime > 0)
+      os << m_calcTime << " secs, ";
     os << getDateString().c_str() << "): " << m_strLabel.c_str() << "\n";
     os << getDateString().c_str() << "): " << m_strLabel.c_str() << "\n";
-  } else if (m_labelType == L_USER) {\r
+  } else if (m_labelType == L_USER) {
     os << "Note (" <<  getDateString() << "): " << m_strLabel << "\n";
     os << "Note (" <<  getDateString() << "): " << m_strLabel << "\n";
-  } else {\r
+  } else {
     os << "Unknown (" << getDateString() << "): " << m_strLabel << "\n";
     os << "Unknown (" << getDateString() << "): " << m_strLabel << "\n";
-  }\r
-}\r
-\r
+  }
+}
+
 
 ///////////////////////////////////////////////////////////////////////////
 // CLASS IMPLEMENTATION
 
 ///////////////////////////////////////////////////////////////////////////
 // CLASS IMPLEMENTATION
@@ -216,8 +216,8 @@ Array2dFile::init (void)
 {
   m_pixelSize = 0;
   m_pixelFormat = PIXEL_INVALID;
 {
   m_pixelSize = 0;
   m_pixelFormat = PIXEL_INVALID;
-  m_arrayData = NULL;\r
-  m_imaginaryArrayData = NULL;\r
+  m_arrayData = NULL;
+  m_imaginaryArrayData = NULL;
   m_dataType = DATA_TYPE_INVALID;
   m_nx = 0;
   m_ny = 0;
   m_dataType = DATA_TYPE_INVALID;
   m_nx = 0;
   m_ny = 0;
@@ -235,7 +235,7 @@ void
 Array2dFile::setArraySize (int x, int y, int pixelSize, int pixelFormat, int dataType)
 {
   m_pixelSize = pixelSize;
 Array2dFile::setArraySize (int x, int y, int pixelSize, int pixelFormat, int dataType)
 {
   m_pixelSize = pixelSize;
-  m_pixelFormat = pixelFormat;\r
+  m_pixelFormat = pixelFormat;
   m_dataType = dataType;
   setArraySize (x, y);
 }
   m_dataType = dataType;
   setArraySize (x, y);
 }
@@ -246,78 +246,78 @@ Array2dFile::setArraySize (int x, int y)
   m_nx = x;
   m_ny = y;
   allocArrays ();
   m_nx = x;
   m_ny = y;
   allocArrays ();
-}\r
-\r
-bool\r
-Array2dFile::reallocComplexToReal ()\r
-{\r
-  if (m_dataType != DATA_TYPE_COMPLEX)\r
-    return false;\r
-\r
-  freeArray (m_imaginaryArrayData);\r
-  m_dataType = DATA_TYPE_REAL;\r
-\r
-  return true;\r
-}\r
-\r
-\r
-bool\r
-Array2dFile::reallocRealToComplex ()\r
-{\r
-  if (m_dataType != DATA_TYPE_REAL)\r
-    return false;\r
-\r
-  allocArray (m_imaginaryArrayData);\r
-  m_dataType = DATA_TYPE_COMPLEX;\r
-\r
-  return true;\r
-}\r
-\r
+}
+
+bool
+Array2dFile::reallocComplexToReal ()
+{
+  if (m_dataType != DATA_TYPE_COMPLEX)
+    return false;
+
+  freeArray (m_imaginaryArrayData);
+  m_dataType = DATA_TYPE_REAL;
+
+  return true;
+}
+
+
+bool
+Array2dFile::reallocRealToComplex ()
+{
+  if (m_dataType != DATA_TYPE_REAL)
+    return false;
+
+  allocArray (m_imaginaryArrayData);
+  m_dataType = DATA_TYPE_COMPLEX;
+
+  return true;
+}
+
 
 
 void 
 Array2dFile::allocArrays ()
 {
 
 
 void 
 Array2dFile::allocArrays ()
 {
-  if (m_arrayData) \r
-    freeArray (m_arrayData);\r
-  if (m_imaginaryArrayData)\r
-    freeArray (m_imaginaryArrayData);\r
-\r
-  allocArray (m_arrayData);\r
-  if (m_dataType == DATA_TYPE_COMPLEX)\r
-    allocArray (m_imaginaryArrayData);\r
-}\r
-\r
-void\r
-Array2dFile::allocArray (unsigned char**& rppData)\r
-{\r
+  if (m_arrayData) 
+    freeArray (m_arrayData);
+  if (m_imaginaryArrayData)
+    freeArray (m_imaginaryArrayData);
+
+  allocArray (m_arrayData);
+  if (m_dataType == DATA_TYPE_COMPLEX)
+    allocArray (m_imaginaryArrayData);
+}
+
+void
+Array2dFile::allocArray (unsigned char**& rppData)
+{
   m_arraySize = m_nx * m_ny * m_pixelSize;
   m_arraySize = m_nx * m_ny * m_pixelSize;
-  rppData = new unsigned char* [m_nx];\r
+  rppData = new unsigned char* [m_nx];
   int columnBytes = m_ny * m_pixelSize;
   for (unsigned int i = 0; i < m_nx; i++)
   int columnBytes = m_ny * m_pixelSize;
   for (unsigned int i = 0; i < m_nx; i++)
-    rppData[i] = new unsigned char [columnBytes];\r
+    rppData[i] = new unsigned char [columnBytes];
 }
 
 void 
 Array2dFile::freeArrays ()
 {
 }
 
 void 
 Array2dFile::freeArrays ()
 {
-  if (m_arrayData) \r
-    freeArray (m_arrayData);\r
-  \r
-  if (m_imaginaryArrayData) \r
-    freeArray (m_imaginaryArrayData);\r
-  \r
-}\r
-\r
-void\r
-Array2dFile::freeArray (unsigned char**& rppData)\r
-{\r
-   for (unsigned int i = 0; i < m_nx; i++)\r
-      delete rppData[i];\r
-    delete rppData;\r
-    rppData = NULL;\r
-}\r
-\r
+  if (m_arrayData) 
+    freeArray (m_arrayData);
+  
+  if (m_imaginaryArrayData) 
+    freeArray (m_imaginaryArrayData);
+  
+}
+
+void
+Array2dFile::freeArray (unsigned char**& rppData)
+{
+   for (unsigned int i = 0; i < m_nx; i++)
+      delete rppData[i];
+    delete rppData;
+    rppData = NULL;
+}
+
 
 bool
 Array2dFile::fileWrite (const std::string& filename)
 
 bool
 Array2dFile::fileWrite (const std::string& filename)
@@ -358,11 +358,11 @@ Array2dFile::fileRead (const char* const filename)
 {
   m_filename = filename;
   
 {
   m_filename = filename;
   
-#ifdef MSVC\r
-  frnetorderstream fs (m_filename.c_str(), std::ios::out | std::ios::in | std::ios::binary);\r
-#else\r
-  frnetorderstream fs (m_filename.c_str(), std::ios::out | std::ios::in | std::ios::binary | std::ios::nocreate);\r
-#endif\r
+#ifdef MSVC
+  frnetorderstream fs (m_filename.c_str(), std::ios::out | std::ios::in | std::ios::binary);
+#else
+  frnetorderstream fs (m_filename.c_str(), std::ios::out | std::ios::in | std::ios::binary | std::ios::nocreate);
+#endif
   if (fs.fail()) {
     sys_error (ERR_WARNING, "Unable to open file %s [fileRead]", m_filename.c_str());
     return false;
   if (fs.fail()) {
     sys_error (ERR_WARNING, "Unable to open file %s [fileRead]", m_filename.c_str());
     return false;
@@ -417,7 +417,7 @@ Array2dFile::headerRead (frnetorderstream& fs)
   fs.readInt16 (m_pixelSize);
   fs.readInt16 (m_numFileLabels);
   fs.readInt32 (m_nx);
   fs.readInt16 (m_pixelSize);
   fs.readInt16 (m_numFileLabels);
   fs.readInt32 (m_nx);
-  fs.readInt32 (m_ny);\r
+  fs.readInt32 (m_ny);
   fs.readInt16 (m_dataType);
   fs.readInt16 (m_axisIncrementKnown);
   fs.readFloat64 (m_axisIncrementX);
   fs.readInt16 (m_dataType);
   fs.readInt16 (m_axisIncrementKnown);
   fs.readFloat64 (m_axisIncrementX);
@@ -461,7 +461,7 @@ Array2dFile::headerWrite (frnetorderstream& fs)
   fs.writeInt16 (m_pixelSize);
   fs.writeInt16 (m_numFileLabels);
   fs.writeInt32 (m_nx);
   fs.writeInt16 (m_pixelSize);
   fs.writeInt16 (m_numFileLabels);
   fs.writeInt32 (m_nx);
-  fs.writeInt32 (m_ny);\r
+  fs.writeInt32 (m_ny);
   fs.writeInt16 (m_dataType);
   fs.writeInt16 (m_axisIncrementKnown);
   fs.writeFloat64 (m_axisIncrementX);
   fs.writeInt16 (m_dataType);
   fs.writeInt16 (m_axisIncrementKnown);
   fs.writeFloat64 (m_axisIncrementX);
@@ -495,30 +495,30 @@ Array2dFile::arrayDataWrite (frnetorderstream& fs)
   
   fs.seekp (m_headersize);
   int columnSize = m_ny * m_pixelSize;
   
   fs.seekp (m_headersize);
   int columnSize = m_ny * m_pixelSize;
-  for (unsigned int ix = 0; ix < m_nx; ix++) {\r
-    unsigned char* ptrColumn = m_arrayData[ix];\r
-    if (NativeBigEndian()) {\r
-      for (unsigned int iy = 0; iy < m_ny; iy++) {\r
-        ConvertReverseNetworkOrder (ptrColumn, m_pixelSize);\r
-        fs.write (reinterpret_cast<const char*>(ptrColumn), m_pixelSize);\r
-        ptrColumn += m_pixelSize;\r
-      }\r
-    } else \r
-      fs.write (reinterpret_cast<const char*>(ptrColumn), columnSize);\r
-  }\r
-  if (m_dataType == DATA_TYPE_COMPLEX) {\r
-    for (unsigned int ix = 0; ix < m_nx; ix++) {\r
-      unsigned char* ptrColumn = m_imaginaryArrayData[ix];\r
-      if (NativeBigEndian()) {\r
-        for (unsigned int iy = 0; iy < m_ny; iy++) {\r
-          ConvertReverseNetworkOrder (ptrColumn, m_pixelSize);\r
-          fs.write (reinterpret_cast<const char*>(ptrColumn), m_pixelSize);\r
-          ptrColumn += m_pixelSize;\r
-        }\r
-      } else \r
-        fs.write (reinterpret_cast<const char*>(ptrColumn), columnSize);\r
-    }\r
-  }\r
+  for (unsigned int ix = 0; ix < m_nx; ix++) {
+    unsigned char* ptrColumn = m_arrayData[ix];
+    if (NativeBigEndian()) {
+      for (unsigned int iy = 0; iy < m_ny; iy++) {
+        ConvertReverseNetworkOrder (ptrColumn, m_pixelSize);
+        fs.write (reinterpret_cast<const char*>(ptrColumn), m_pixelSize);
+        ptrColumn += m_pixelSize;
+      }
+    } else 
+      fs.write (reinterpret_cast<const char*>(ptrColumn), columnSize);
+  }
+  if (m_dataType == DATA_TYPE_COMPLEX) {
+    for (unsigned int ix = 0; ix < m_nx; ix++) {
+      unsigned char* ptrColumn = m_imaginaryArrayData[ix];
+      if (NativeBigEndian()) {
+        for (unsigned int iy = 0; iy < m_ny; iy++) {
+          ConvertReverseNetworkOrder (ptrColumn, m_pixelSize);
+          fs.write (reinterpret_cast<const char*>(ptrColumn), m_pixelSize);
+          ptrColumn += m_pixelSize;
+        }
+      } else 
+        fs.write (reinterpret_cast<const char*>(ptrColumn), columnSize);
+    }
+  }
   
   return true;
 }
   
   return true;
 }
@@ -537,30 +537,30 @@ Array2dFile::arrayDataRead (frnetorderstream& fs)
   
   fs.seekg (m_headersize);
   int columnSize = m_ny * m_pixelSize;
   
   fs.seekg (m_headersize);
   int columnSize = m_ny * m_pixelSize;
-  for (unsigned int ix = 0; ix < m_nx; ix++) {\r
-    unsigned char* ptrColumn = m_arrayData[ix];\r
-    if (NativeBigEndian()) {\r
-      for (unsigned int iy = 0; iy < m_ny; iy++) {\r
-        fs.read (reinterpret_cast<char*>(ptrColumn), m_pixelSize);\r
-        ConvertReverseNetworkOrder (ptrColumn, m_pixelSize);\r
-        ptrColumn += m_pixelSize;\r
-      } \r
-    } else\r
-      fs.read (reinterpret_cast<char*>(ptrColumn), columnSize);\r
-  }\r
-  if (m_dataType == DATA_TYPE_COMPLEX) {\r
-    for (unsigned int ix = 0; ix < m_nx; ix++) {\r
-      unsigned char* ptrColumn = m_imaginaryArrayData[ix];\r
-      if (NativeBigEndian()) {\r
-        for (unsigned int iy = 0; iy < m_ny; iy++) {\r
-          fs.read (reinterpret_cast<char*>(ptrColumn), m_pixelSize);\r
-          ConvertReverseNetworkOrder (ptrColumn, m_pixelSize);\r
-          ptrColumn += m_pixelSize;\r
-        } \r
-      } else\r
-        fs.read (reinterpret_cast<char*>(ptrColumn), columnSize);\r
-    }\r
-  }\r
+  for (unsigned int ix = 0; ix < m_nx; ix++) {
+    unsigned char* ptrColumn = m_arrayData[ix];
+    if (NativeBigEndian()) {
+      for (unsigned int iy = 0; iy < m_ny; iy++) {
+        fs.read (reinterpret_cast<char*>(ptrColumn), m_pixelSize);
+        ConvertReverseNetworkOrder (ptrColumn, m_pixelSize);
+        ptrColumn += m_pixelSize;
+      } 
+    } else
+      fs.read (reinterpret_cast<char*>(ptrColumn), columnSize);
+  }
+  if (m_dataType == DATA_TYPE_COMPLEX) {
+    for (unsigned int ix = 0; ix < m_nx; ix++) {
+      unsigned char* ptrColumn = m_imaginaryArrayData[ix];
+      if (NativeBigEndian()) {
+        for (unsigned int iy = 0; iy < m_ny; iy++) {
+          fs.read (reinterpret_cast<char*>(ptrColumn), m_pixelSize);
+          ConvertReverseNetworkOrder (ptrColumn, m_pixelSize);
+          ptrColumn += m_pixelSize;
+        } 
+      } else
+        fs.read (reinterpret_cast<char*>(ptrColumn), columnSize);
+    }
+  }
   
   return true;
 }
   
   return true;
 }
@@ -593,10 +593,10 @@ Array2dFile::labelsRead (frnetorderstream& fs)
     pszLabelStr[strLength] = 0;
     
     Array2dFileLabel* pLabel = new Array2dFileLabel (labelType, pszLabelStr, calcTime);
     pszLabelStr[strLength] = 0;
     
     Array2dFileLabel* pLabel = new Array2dFileLabel (labelType, pszLabelStr, calcTime);
-    delete pszLabelStr;\r
-    \r
+    delete pszLabelStr;
+    
     pLabel->setDateTime (year, month, day, hour, minute, second);
     pLabel->setDateTime (year, month, day, hour, minute, second);
-    m_labels.push_back (pLabel);\r
+    m_labels.push_back (pLabel);
   }
   
   return true;
   }
   
   return true;
@@ -678,49 +678,49 @@ Array2dFile::labelsCopy (const Array2dFile& copyFile, const char* const pszId)
 void 
 Array2dFile::arrayDataClear (void)
 {
 void 
 Array2dFile::arrayDataClear (void)
 {
-  if (m_arrayData) {\r
-    int columnSize = m_ny * m_pixelSize;\r
-    for (unsigned int ix = 0; ix < m_nx; ix++)\r
-      memset (m_arrayData[ix], 0, columnSize);\r
-  }\r
-  if (m_imaginaryArrayData) {\r
-    int columnSize = m_ny * m_pixelSize;\r
-    for (unsigned int ix = 0; ix < m_nx; ix++)\r
-      memset (m_arrayData[ix], 0, columnSize);\r
-  }\r
-}
-
-void\r
-Array2dFile::printLabels (std::ostream& os) const\r
-{\r
-  for (constLabelIterator l = m_labels.begin(); l != m_labels.end(); l++) {\r
-    const Array2dFileLabel& label = **l;\r
-    \r
-    label.print (os);\r
-    os << std::endl;\r
-  }\r
-}\r
-\r
-void\r
-Array2dFile::printLabelsBrief (std::ostream& os) const\r
-{\r
-  for (constLabelIterator l = m_labels.begin(); l != m_labels.end(); l++) {\r
-    const Array2dFileLabel& label = **l;\r
-    \r
-    label.printBrief (os);\r
-  }\r
-}\r
-\r
+  if (m_arrayData) {
+    int columnSize = m_ny * m_pixelSize;
+    for (unsigned int ix = 0; ix < m_nx; ix++)
+      memset (m_arrayData[ix], 0, columnSize);
+  }
+  if (m_imaginaryArrayData) {
+    int columnSize = m_ny * m_pixelSize;
+    for (unsigned int ix = 0; ix < m_nx; ix++)
+      memset (m_arrayData[ix], 0, columnSize);
+  }
+}
+
 void
 void
-Array2dFile::printLabelsBrief (std::ostringstream& os) const\r
-{\r
-  for (constLabelIterator l = m_labels.begin(); l != m_labels.end(); l++) {\r
-    const Array2dFileLabel& label = **l;\r
-    \r
-    label.printBrief (os);\r
-  }\r
-}\r
-\r
+Array2dFile::printLabels (std::ostream& os) const
+{
+  for (constLabelIterator l = m_labels.begin(); l != m_labels.end(); l++) {
+    const Array2dFileLabel& label = **l;
+    
+    label.print (os);
+    os << std::endl;
+  }
+}
+
+void
+Array2dFile::printLabelsBrief (std::ostream& os) const
+{
+  for (constLabelIterator l = m_labels.begin(); l != m_labels.end(); l++) {
+    const Array2dFileLabel& label = **l;
+    
+    label.printBrief (os);
+  }
+}
+
+void
+Array2dFile::printLabelsBrief (std::ostringstream& os) const
+{
+  for (constLabelIterator l = m_labels.begin(); l != m_labels.end(); l++) {
+    const Array2dFileLabel& label = **l;
+    
+    label.printBrief (os);
+  }
+}
+
 
 const Array2dFileLabel&
 Array2dFile::labelGet (int i) const
 
 const Array2dFileLabel&
 Array2dFile::labelGet (int i) const