X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=src%2FgdcmBinEntry.h;h=1901cdaa17cffbb9f2e07ddfc54ddf31c7c027b1;hb=bcb8af026dee96c6c8452d0160556f148fd1d4be;hp=90763e3baccea57a807d30c7dab37b4612486dbb;hpb=3785fddfe2583d592f815044dc0a944f98c08df2;p=gdcm.git diff --git a/src/gdcmBinEntry.h b/src/gdcmBinEntry.h index 90763e3b..1901cdaa 100644 --- a/src/gdcmBinEntry.h +++ b/src/gdcmBinEntry.h @@ -3,12 +3,12 @@ Program: gdcm Module: $RCSfile: gdcmBinEntry.h,v $ Language: C++ - Date: $Date: 2004/06/22 14:42:02 $ - Version: $Revision: 1.10 $ + Date: $Date: 2005/02/02 16:18:48 $ + Version: $Revision: 1.36 $ Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de l'Image). All rights reserved. See Doc/License.txt or - http://www.creatis.insa-lyon.fr/Public/Gdcm/License.htm for details. + http://www.creatis.insa-lyon.fr/Public/Gdcm/License.html for details. This software is distributed WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR @@ -16,52 +16,56 @@ =========================================================================*/ -#ifndef GDCMBinEntry_H -#define GDCMBinEntry_H +#ifndef GDCMBINENTRY_H +#define GDCMBINENTRY_H +#include "gdcmContentEntry.h" #include -#include -#include "gdcmValEntry.h" +namespace gdcm +{ //----------------------------------------------------------------------------- /** - * \ingroup gdcmBinEntry - * \brief The dicom header of a Dicom file contains a set of such entries - * (when successfuly parsed against a given Dicom dictionary) - * This one contains a 'string value'. + * \brief Any Dicom Document (File or DicomDir) contains + * a set of DocEntry - Dicom entries - + * BinEntry is an elementary DocEntry (i.e. a ContentEntry, + * as opposite to SeqEntry) whose content is non std::string + * representable + * BinEntry is a specialisation of ContentEntry */ -class GDCM_EXPORT gdcmBinEntry : public gdcmValEntry { - + +class GDCM_EXPORT BinEntry : public ContentEntry +{ public: + BinEntry( DictEntry *e ); + BinEntry( DocEntry *d ); - gdcmBinEntry(gdcmDictEntry* e); - gdcmBinEntry(gdcmDocEntry* d); - - ~gdcmBinEntry(void); + ~BinEntry(); - void Print(std::ostream &os = std::cout); - virtual void Write(FILE *fp); - - /// \brief Returns the area value of the current Dicom Header Entry - /// when it's not string-translatable (e.g : a LUT table) - inline void * GetVoidArea(void) { return voidArea; }; + void Print( std::ostream &os = std::cout, std::string const & indent = "" ); - /// \brief Sets the value (non string) of the current Dicom Header Entry - inline void SetVoidArea(void * area) { voidArea = area; }; - -protected: + void WriteContent( std::ofstream *fp, FileType ft); -private: + /// \brief Returns the area value of the current Dicom Entry + /// when it's not string-translatable (e.g : LUT table, overlay, icon) + uint8_t *GetBinArea() { return BinArea; } + void SetBinArea( uint8_t *area, bool self = true ); -// Variables - - /// \brief unsecure memory area to hold 'non string' values - /// (ie : Lookup Tables, overlays, icons) - // void *voidArea; + /// \brief Sets SelfArea + void SetSelfArea(bool area) { SelfArea = area; }; + /// \brief Returns SelfArea + bool IsSelfArea() { return SelfArea; }; +private: + /// \brief memory area to hold 'non std::string' representable values + /// (ie : Lookup Tables, overlays, icons) + uint8_t *BinArea; + /// \brief Whether BinEntry has its own BinArea or not + bool SelfArea; }; +} // end namespace gdcm //----------------------------------------------------------------------------- #endif