X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=src%2FgdcmRLEFrame.cxx;h=d22e21fd9af237285574dbcb5b470406d5e1d241;hb=713d0f3d28a6176fab6d57e031633061dc7354a7;hp=62da1c6ce76e55d4148c4f4874328b43746733fb;hpb=95dcce2c32665bcba9aa2d20c13390271a204e23;p=gdcm.git diff --git a/src/gdcmRLEFrame.cxx b/src/gdcmRLEFrame.cxx index 62da1c6c..d22e21fd 100644 --- a/src/gdcmRLEFrame.cxx +++ b/src/gdcmRLEFrame.cxx @@ -3,8 +3,8 @@ Program: gdcm Module: $RCSfile: gdcmRLEFrame.cxx,v $ Language: C++ - Date: $Date: 2005/01/31 06:17:22 $ - Version: $Revision: 1.4 $ + Date: $Date: 2007/05/23 14:18:11 $ + Version: $Revision: 1.13 $ Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de l'Image). All rights reserved. See Doc/License.txt or @@ -19,28 +19,13 @@ #include "gdcmRLEFrame.h" #include "gdcmDebug.h" -namespace gdcm +namespace GDCM_NAME_SPACE { +//------------------------------------------------------------------------- +// Constructor / Destructor -/** - * \brief Print self. - * @param indent Indentation string to be prepended during printing. - * @param os Stream to print to. - */ -void RLEFrame::Print( std::ostream &os, std::string indent ) -{ - os << indent - << "--- fragments" - << std::endl; - for ( unsigned int i = 0; i < NumberOfFragments; i++ ) - { - os << indent - << " offset : " << Offset[i] - << " length : " << Length[i] - << std::endl; - } -} - +//----------------------------------------------------------------------------- +// Public void RLEFrame::SetOffset(unsigned int id,long offset) { gdcmAssertMacro(id<15); @@ -85,11 +70,9 @@ uint8_t *RLEFrame::ReadAndDecompressRLEFrame( uint8_t *subRaw, /** * \brief Implementation of the RLE decoding algorithm for decompressing * a RLE fragment. [refer to PS 3.5-2003, section G.3.2 p 86] - * @param subRaw Sub region of \ref Raw where the decoded fragment - * should be placed. + * @param subRaw Sub region where the decoded fragment should be placed. * @param fragmentSize The length of the binary fragment as found on the disk. - * @param RawSegmentSize The expected length of the fragment ONCE - * Raw. + * @param rawSegmentSize The expected length of the fragment ONCE Raw. * @param fp File Pointer: on entry the position should be the one of * the fragment to be decoded. */ @@ -102,7 +85,6 @@ bool RLEFrame::ReadAndDecompressRLEFragment( uint8_t *subRaw, long numberOfOutputBytes = 0; long numberOfReadBytes = 0; - while( numberOfOutputBytes < rawSegmentSize ) { fp->read( (char*)&count, 1 ); @@ -137,13 +119,42 @@ bool RLEFrame::ReadAndDecompressRLEFragment( uint8_t *subRaw, if ( numberOfReadBytes > fragmentSize ) { - gdcmVerboseMacro( "Read more bytes than the segment size."); + gdcmWarningMacro( "Read more bytes (" << numberOfReadBytes + << " ) than the segment size. (" + << fragmentSize << ")" ); return false; } } return true; } +//----------------------------------------------------------------------------- +// Protected + +//----------------------------------------------------------------------------- +// Private + +//----------------------------------------------------------------------------- +// Print +/** + * \brief Print self. + * @param indent Indentation string to be prepended during printing. + * @param os Stream to print to. + */ +void RLEFrame::Print( std::ostream &os, std::string const &indent ) +{ + os << indent + << "--- fragments" + << std::endl; + for ( unsigned int i = 0; i < NumberOfFragments; i++ ) + { + os << indent + << " offset : " << Offset[i] + << " length : " << Length[i] + << std::endl; + } +} +//----------------------------------------------------------------------------- } // end namespace gdcm