X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=src%2FgdcmDataEntry.h;h=7a85bbf32cc3deb2227ada1564cae9aa8b57ef85;hb=5f2f63726d61c93ece8e85fe9fc7c5fa8093bf61;hp=f8882df901ee27266ed7a7692e3782b6378b9272;hpb=cb6cf86b2b3cc6b43d40561fb9552ebd19fdbc99;p=gdcm.git diff --git a/src/gdcmDataEntry.h b/src/gdcmDataEntry.h index f8882df9..7a85bbf3 100644 --- a/src/gdcmDataEntry.h +++ b/src/gdcmDataEntry.h @@ -3,8 +3,8 @@ Program: gdcm Module: $RCSfile: gdcmDataEntry.h,v $ Language: C++ - Date: $Date: 2005/10/23 15:32:30 $ - Version: $Revision: 1.4 $ + Date: $Date: 2005/10/26 15:56:51 $ + Version: $Revision: 1.6 $ Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de l'Image). All rights reserved. See Doc/License.txt or @@ -35,10 +35,11 @@ namespace gdcm */ class GDCM_EXPORT DataEntry : public DocEntry { + gdcmTypeMacro(DataEntry); + public: - DataEntry(DictEntry *e); - DataEntry(DocEntry *d); - ~DataEntry(); + static DataEntry *New(DictEntry *e) {return new DataEntry(e);} + static DataEntry *New(DocEntry *d) {return new DataEntry(d);} // Print void Print(std::ostream &os = std::cout, std::string const &indent = ""); @@ -73,9 +74,25 @@ public: /// \brief True if Entry owns its BinArea bool IsSelfArea() { return SelfArea; } + ///\brief values for current state of a DataEntry (internal use only) + typedef enum + { + STATE_LOADED = 0x00, + STATE_NOTLOADED = 0x01, + STATE_UNFOUND = 0x02, + STATE_UNREAD = 0x03 + } TValueState; + + ///\brief values for current pixel status of a DataEntry (internal use only) + typedef enum + { + FLAG_NONE = 0x00, + FLAG_PIXELDATA = 0x01 + } TValueFlag; + // State - void SetState(const char &state) { State = state; } - const char &GetState() const { return State; } + void SetState(const TValueState &state) { State = state; } + const TValueState &GetState() const { return State; } /// \brief true when value Entry not loaded bool IsNotLoaded() { return State == STATE_NOTLOADED; } /// \brief true if Entry not found @@ -87,9 +104,9 @@ public: // Flags /// \brief sets the 'pixel data flag' - void SetFlag(const char &flag) { Flag = flag; } + void SetFlag(const TValueFlag &flag) { Flag = flag; } /// \brief returns the 'pixel data flag' - const char &GetFlag() const { return Flag; } + const TValueFlag &GetFlag() const { return Flag; } /// \brief true id Entry is a Pixel Data entry bool IsPixelData() { return (Flag & FLAG_PIXELDATA) != 0; } @@ -101,23 +118,11 @@ public: /// \brief Header Elements too long will not be printed static void SetMaxSizePrintEntry(const uint32_t &size) { MaxSizePrintEntry = size; } - ///\brief values for current state of a DataEntry (internal use only) - typedef enum - { - STATE_LOADED = 0x00, - STATE_NOTLOADED = 0x01, - STATE_UNFOUND = 0x02, - STATE_UNREAD = 0x03 - } TValueState; - - ///\brief values for current pixel status of a DataEntry (internal use only) - typedef enum - { - FLAG_NONE = 0x00, - FLAG_PIXELDATA = 0x01 - } TValueFlag; - protected: + DataEntry(DictEntry *e); + DataEntry(DocEntry *d); + ~DataEntry(); + // Methods : void NewBinArea(void); void DeleteBinArea(void); @@ -134,9 +139,9 @@ protected: private: /// \brief 0 for straight entries, FLAG_PIXELDATA for Pixel Data entries - char Flag; + TValueFlag Flag; /// \brief Entry status : STATE_NOTLOADED,STATE_UNFOUND, STATE_UNREAD, 0 - char State; + TValueState State; /// \brief Size threshold above which an element val /// By default, this upper bound is fixed to 64 bytes.