]> Creatis software - gdcm.git/blobdiff - src/gdcmDocument.h
Removal of now useless gdcmDocument::LoadVLEntry method
[gdcm.git] / src / gdcmDocument.h
index bc12f0d55906bb9a7a1b4ed2f70218ef134b1440..5a85583e8e3ffdd8ab0f46b95e19728a24a127f8 100644 (file)
@@ -3,8 +3,8 @@
   Program:   gdcm
   Module:    $RCSfile: gdcmDocument.h,v $
   Language:  C++
-  Date:      $Date: 2004/06/18 12:26:54 $
-  Version:   $Revision: 1.11 $
+  Date:      $Date: 2004/06/22 14:57:11 $
+  Version:   $Revision: 1.14 $
  
   Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de
   l'Image). All rights reserved. See Doc/License.txt or
@@ -58,7 +58,7 @@ private:
    
    /// \brief Equals =1 if user wants to skip shadow groups while parsing
    /// (to save space)
-   int ignoreShadow;
+   int IgnoreShadow;
 
    /// \brief Size threshold above which an element value will NOT be loaded
    /// in memory (to avoid loading the image/volume itself). By default,
@@ -73,7 +73,7 @@ private:
 
 protected:
    /// Refering underlying filename.
-   std::string filename;
+   std::string Filename;
 
    /// \brief SWap code (e.g. Big Endian, Little Endian, Bad Big Endian,
    /// Bad Little Endian) according to the processor Endianity and
@@ -84,7 +84,7 @@ protected:
    FILE *fp;
 
    /// ACR, ACR_LIBIDO, ExplicitVR, ImplicitVR, Unknown
-   FileType filetype;  
+   FileType Filetype;  
 
    /// After opening the file, we read HEADER_LENGTH_TO_READ bytes.
    static const unsigned int HEADER_LENGTH_TO_READ; 
@@ -141,24 +141,19 @@ public:
    bool CloseFile(void);
 
 // Write (used in gdcmFile, gdcmDicomDir)
-   virtual bool Write(FILE *, FileType);
-   virtual void WriteEntryTagVRLength(gdcmDocEntry *tag,
-                                       FILE *_fp, FileType type);
-   virtual void WriteEntryValue(gdcmDocEntry *tag,FILE *_fp,FileType type);
-   virtual bool WriteEntry(gdcmDocEntry *tag,FILE *_fp,FileType type);
-   virtual bool WriteEntries(FILE *_fp,FileType type);
+
+   virtual bool WriteF(FileType type); // New stuff, with recursive exploration
 
    gdcmValEntry * ReplaceOrCreateByNumber(std::string Value,
                                              guint16 Group, guint16 Elem);
-                                                                                                                       
+
    gdcmBinEntry * ReplaceOrCreateByNumber(void *voidArea, int lgth,
-                                             guint16 Group, guint16 Elem);                                                                                                                     
+                                             guint16 Group, guint16 Elem);
    bool ReplaceIfExistByNumber (char *Value, guint16 Group, guint16 Elem);
    
    virtual void  *LoadEntryVoidArea       (guint16 Group, guint16 Element);
-   void           LoadVLEntry             (gdcmDocEntry *entry);
       
-// System access
+   // System access
    guint16 SwapShort(guint16);   // needed by gdcmFile
    guint32 SwapLong(guint32);    // needed by gdcmFile
    guint16 UnswapShort(guint16); // needed by gdcmFile
@@ -169,18 +164,18 @@ protected:
    // to instanciate from this class gdcmDocument (only gdcmHeader and
    // gdcmDicomDir are meaningfull).
    gdcmDocument(bool exception_on_error  = false);
-   gdcmDocument(const char *inFilename, 
+   gdcmDocument(std::string const & inFilename, 
                 bool  exception_on_error = false, 
                 bool  enable_sequences   = false,
                 bool  ignore_shadow      = false);
    virtual ~gdcmDocument(void);
    
    void gdcmDocument::Parse7FE0 (void);   
-// Entry
+   // Entry
    int CheckIfEntryExistByNumber(guint16 Group, guint16 Elem ); // int !
 public:
-   virtual std::string GetEntryByName    (std::string tagName);
-   virtual std::string GetEntryVRByName  (std::string tagName);
+   virtual std::string GetEntryByName    (TagName tagName);
+   virtual std::string GetEntryVRByName  (TagName tagName);
    virtual std::string GetEntryByNumber  (guint16 group, guint16 element);
    virtual std::string GetEntryVRByNumber(guint16 group, guint16 element);
    virtual int     GetEntryLengthByNumber(guint16 group, guint16 element);
@@ -189,7 +184,7 @@ protected:
    virtual bool SetEntryByNumber(std::string content,
                                  guint16 group, guint16 element);
    virtual bool SetEntryByNumber(void *content, int lgth,
-                                 guint16 group, guint16 element);                                                                                      
+                                 guint16 group, guint16 element);
    virtual bool SetEntryLengthByNumber(guint32 length,
                                  guint16 group, guint16 element);
 
@@ -197,19 +192,19 @@ protected:
    virtual void  *GetEntryVoidAreaByNumber(guint16 Group, guint16 Elem);   
    virtual bool   SetEntryVoidAreaByNumber(void *a, guint16 Group, guint16 Elem);
 
-   virtual void UpdateShaEntries(void);
+   virtual void UpdateShaEntries();
 
-// Header entry
+   // Header entry
    gdcmDocEntry *GetDocEntryByNumber  (guint16 group, guint16 element); 
    gdcmDocEntry *GetDocEntryByName    (std::string Name);
-       
+
    gdcmValEntry *GetValEntryByNumber  (guint16 group, guint16 element); 
    gdcmBinEntry *GetBinEntryByNumber  (guint16 group, guint16 element); 
 
    void LoadDocEntrySafe(gdcmDocEntry *);
 
 private:
-// Read
+   // Read
    long ParseDES(gdcmDocEntrySet *set, long offset, long l_max,bool delim_mode);
    long ParseSQ(gdcmSeqEntry *seq, long offset, long l_max, bool delim_mode); 
    
@@ -227,61 +222,47 @@ private:
    void FixDocEntryFoundLength(gdcmDocEntry *, guint32);
    bool IsDocEntryAnInteger   (gdcmDocEntry *);
 
-   guint32 FindDocEntryLengthOB(void);
+   guint32 FindDocEntryLengthOB();
 
-   guint16 ReadInt16(void);
-   guint32 ReadInt32(void);
+   guint16 ReadInt16();
+   guint32 ReadInt32();
    void    SkipBytes(guint32);
    guint32 ReadTagLength(guint16, guint16);
-   guint32 ReadItemTagLength(void);
-   guint32 ReadSequenceDelimiterTagLength(void);
+   guint32 ReadItemTagLength();
+   guint32 ReadSequenceDelimiterTagLength();
 
-   void Initialise(void);
-   bool CheckSwap(void);
-   void SwitchSwapToBigEndian(void);
+   void Initialise();
+   bool CheckSwap();
+   void SwitchSwapToBigEndian();
    void SetMaxSizeLoadEntry(long);
    void SetMaxSizePrintEntry(long);
 
-  // DictEntry  related utilities
-   
-   gdcmDictEntry *GetDictEntryByName  (std::string Name);
-   gdcmDictEntry *GetDictEntryByNumber(guint16, guint16);
-   gdcmDictEntry *NewVirtualDictEntry(guint16 group, 
-                                      guint16 element,
-                                      std::string vr     = "unkn",
-                                      std::string fourth = "unkn",
-                                      std::string name   = "unkn");
+        
    // DocEntry related utilities
-   gdcmDocEntry *ReadNextDocEntry   (void);
-   gdcmDocEntry *NewDocEntryByNumber(guint16 group, 
-                                     guint16 element);
-   gdcmDocEntry *NewDocEntryByName  (std::string Name);
-
-   gdcmValEntry *NewValEntryByNumber(guint16 group, 
-                                     guint16 element); 
-   gdcmBinEntry *NewBinEntryByNumber(guint16 group, 
-                                     guint16 element);                                                                                                    
+   gdcmDocEntry *ReadNextDocEntry   ();
+
+
    guint32 GenerateFreeTagKeyInGroup(guint16 group);
 
 public:
 // Accessors:
    /// Accessor to \ref printLevel
-   void SetPrintLevel(int level) { printLevel = level; };
+   inline void SetPrintLevel(int level) { printLevel = level; }
 
    /// Accessor to \ref filename
-   inline std::string GetFileName(void) {return filename;}
+   inline std::string &GetFileName() { return Filename; }
 
    /// Accessor to \ref filename
-   inline void SetFileName(char* fileName) {filename = fileName;}
+   inline void SetFileName(const char* fileName) { Filename = fileName; }
 
    /// Accessor to \ref gdcmElementSet::tagHT
-   inline TagDocEntryHT &GetEntry(void) { return tagHT; };
+   inline TagDocEntryHT &GetEntry() { return tagHT; };
 
    /// 'Swap code' accessor (see \ref sw )
-   inline int GetSwapCode(void) { return sw; }
+   inline int GetSwapCode() { return sw; }
    
    /// File pointer
-   inline FILE * GetFP(void) { return fp; }
+   inline FILE * GetFP() { return fp; }
 
    bool operator<(gdcmDocument &document);