X-Git-Url: http://git.kpe.io/?a=blobdiff_plain;f=libctsim%2Fprojections.cpp;h=d2ab2b69e189409ce08fb007b8116c0e6da7c3c9;hb=9b2bb510160bdb56f04847f5b55ab61dd8a47976;hp=49aaa9942b078ea417817adb45789a0de5df26bc;hpb=9703ace3c451ce079967284bf191783736dbc77f;p=ctsim.git diff --git a/libctsim/projections.cpp b/libctsim/projections.cpp index 49aaa99..d2ab2b6 100644 --- a/libctsim/projections.cpp +++ b/libctsim/projections.cpp @@ -8,7 +8,7 @@ ** This is part of the CTSim program ** Copyright (C) 1983-2000 Kevin Rosenberg ** -** $Id: projections.cpp,v 1.29 2000/12/16 02:31:00 kevin Exp $ +** $Id: projections.cpp,v 1.33 2000/12/17 22:30:09 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 @@ -91,7 +91,7 @@ Projections::initFromScanner (const Scanner& scanner) #if 0 if (m_geometry == Scanner::GEOMETRY_EQUILINEAR) { m_detInc /= 2; - cout << "Kludge: detInc /= 2 in Projections::initFromScanner" << endl; + std::cout << "Kludge: detInc /= 2 in Projections::initFromScanner" << endl; } #endif } @@ -298,7 +298,7 @@ Projections::headerRead (fnetorderstream& fs) } bool -Projections::read (const string& filename) +Projections::read (const std::string& filename) { return read (filename.c_str()); } @@ -307,10 +307,14 @@ Projections::read (const string& filename) bool Projections::read (const char* filename) { - frnetorderstream fileRead (filename, ios::in | ios::binary); - m_filename = filename; - - if (! fileRead) + m_filename = filename; +#ifdef MSVC + frnetorderstream fileRead (m_filename.c_str(), std::ios::in | std::ios::binary); +#else + frnetorderstream fileRead (m_filename.c_str(), std::ios::in | std::ios::binary | std::ios::nocreate); +#endif + + if (fileRead.fail()) return false; if (! headerRead (fileRead)) @@ -330,13 +334,13 @@ Projections::read (const char* filename) bool -Projections::copyViewData (const string& filename, ostream& os, int startView, int endView) +Projections::copyViewData (const std::string& filename, std::ostream& os, int startView, int endView) { return copyViewData (filename.c_str(), os, startView, endView); } bool -Projections::copyViewData (const char* const filename, ostream& os, int startView, int endView) +Projections::copyViewData (const char* const filename, std::ostream& os, int startView, int endView) { frnetorderstream is (filename, ios::in | ios::binary); kuint16 sizeHeader, signature; @@ -372,8 +376,8 @@ Projections::copyViewData (const char* const filename, ostream& os, int startVie for (int i = startView; i <= endView; i++) { is.seekg (sizeHeader + i * sizeView); - is.read (pViewData, sizeView); - os.write (pViewData, sizeView); + is.read (reinterpret_cast(pViewData), sizeView); + os.write (reinterpret_cast(pViewData), sizeView); if (is.fail() || os.fail()) break; } @@ -388,15 +392,15 @@ Projections::copyViewData (const char* const filename, ostream& os, int startVie } bool -Projections::copyHeader (const string& filename, ostream& os) +Projections::copyHeader (const std::string& filename, std::ostream& os) { return copyHeader (filename.c_str(), os); } bool -Projections::copyHeader (const char* const filename, ostream& os) +Projections::copyHeader (const char* const filename, std::ostream& os) { - frnetorderstream is (filename, ios::in | ios::binary); + frnetorderstream is (filename, std::ios::in | std::ios::binary); kuint16 sizeHeader, signature; is.readInt16 (sizeHeader); is.readInt16 (signature); @@ -407,13 +411,13 @@ Projections::copyHeader (const char* const filename, ostream& os) } unsigned char* pHdrData = new unsigned char [sizeHeader]; - is.read (pHdrData, sizeHeader); + is.read (reinterpret_cast(pHdrData), sizeHeader); if (is.fail()) { sys_error (ERR_FATAL, "Error reading header"); return false; } - os.write (pHdrData, sizeHeader); + os.write (reinterpret_cast(pHdrData), sizeHeader); if (os.fail()) { sys_error (ERR_FATAL, "Error writing header"); return false; @@ -423,7 +427,7 @@ Projections::copyHeader (const char* const filename, ostream& os) } bool -Projections::write (const string& filename) +Projections::write (const std::string& filename) { return write (filename.c_str()); } @@ -431,7 +435,7 @@ Projections::write (const string& filename) bool Projections::write (const char* filename) { - frnetorderstream fs (filename, ios::out | ios::binary | ios::trunc | ios::ate); + frnetorderstream fs (filename, std::ios::out | std::ios::binary | std::ios::trunc | std::ios::ate); m_filename = filename; if (! fs) { sys_error (ERR_SEVERE, "Error opening file %s for output [projections_create]", filename); @@ -591,7 +595,7 @@ Projections::printProjectionData (int startView, int endView) } void -Projections::printScanInfo (ostringstream& os) const +Projections::printScanInfo (std::ostringstream& os) const { os << "Number of detectors: " << m_nDet << "\n"; os << " Number of views: " << m_nView<< "\n";