X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=src%2FgdcmBinEntry.h;h=d9abd16dc58d3831045c05709912e2ca1bb9b72b;hb=1114315a33a78a25b6cc40dbc188e6d982f32204;hp=8db65681770797bfda02f4ea5b11eb4c5dfb4f98;hpb=e40fc77cef3155aab87305ce2f8f14d1acbf158f;p=gdcm.git diff --git a/src/gdcmBinEntry.h b/src/gdcmBinEntry.h index 8db65681..d9abd16d 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/07/02 13:55:27 $ - Version: $Revision: 1.12 $ + Date: $Date: 2005/02/17 11:03:32 $ + Version: $Revision: 1.37 $ 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 opposed 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*, FileType); - - /// \brief Returns the area value of the current Dicom Header Entry - /// when it's not string-translatable (e.g : a LUT table) - 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 - 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