Program: gdcm
Module: $RCSfile: gdcmBinEntry.h,v $
Language: C++
- Date: $Date: 2004/08/16 16:30:32 $
- Version: $Revision: 1.13 $
+ 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
=========================================================================*/
-#ifndef GDCMBinEntry_H
-#define GDCMBinEntry_H
+#ifndef GDCMBINENTRY_H
+#define GDCMBINENTRY_H
+#include "gdcmContentEntry.h"
#include <iostream>
-#include <stdio.h>
-#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();
+ ~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() { 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