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
*/
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 = "");
/// \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
// 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; }
/// \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);
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.