00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020 #ifndef _GDCMRLEFRAME_H_
00021 #define _GDCMRLEFRAME_H_
00022
00023 #include "gdcmBase.h"
00024
00025 #include <iostream>
00026 #include <fstream>
00027
00028 namespace GDCM_NAME_SPACE
00029 {
00046 class GDCM_EXPORT RLEFrame : public Base
00047 {
00048 friend class File;
00049 friend class RLEFramesInfo;
00050 private:
00051 RLEFrame() { NumberOfFragments = 0; }
00052 void Print( std::ostream &os = std::cout, std::string const &indent = "" );
00053
00054 void SetNumberOfFragments(unsigned int number)
00055 { NumberOfFragments = number; }
00056 unsigned int GetNumberOfFragments() { return NumberOfFragments; }
00057 void SetOffset(unsigned int id, long offset);
00058 long GetOffset(unsigned int id);
00059 void SetLength(unsigned int id, long length);
00060 long GetLength(unsigned int id);
00061
00062 uint8_t *ReadAndDecompressRLEFrame( uint8_t *subRaw,long rawSegmentSize,
00063 std::ifstream *fp );
00064 bool ReadAndDecompressRLEFragment( uint8_t *subRaw, long fragmentSize,
00065 long rawSegmentSize, std::ifstream *fp );
00066
00067 unsigned int NumberOfFragments;
00068 long Offset[15];
00069 long Length[15];
00070 };
00071 }
00072
00073 #endif