X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=src%2FgdcmDocEntry.h;h=11d2b0bf5970469e613e36f2d6234f78ac779c25;hb=45a9005ae5c1975bbe932e43c8080a83c9daf29e;hp=b48e3cb065dc97eebe7050182711e9e761b1e96a;hpb=0d33ba5ffb1c6beac21f33bd3e3aad67b7608c9d;p=gdcm.git diff --git a/src/gdcmDocEntry.h b/src/gdcmDocEntry.h index b48e3cb0..11d2b0bf 100644 --- a/src/gdcmDocEntry.h +++ b/src/gdcmDocEntry.h @@ -1,5 +1,21 @@ -// gdcmDocEntry.h -//----------------------------------------------------------------------------- +/*========================================================================= + + Program: gdcm + Module: $RCSfile: gdcmDocEntry.h,v $ + Language: C++ + Date: $Date: 2004/06/22 13:47:33 $ + Version: $Revision: 1.10 $ + + 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. + + This software is distributed WITHOUT ANY WARRANTY; without even + the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR + PURPOSE. See the above copyright notices for more information. + +=========================================================================*/ + #ifndef GDCMDocEntry_H #define GDCMDocEntry_H @@ -7,7 +23,11 @@ #include #include "gdcmDictEntry.h" + class gdcmHeader; +class gdcmValEntry; +class gdcmBinEntry; +class gdcmSeqEntry; //----------------------------------------------------------------------------- /** @@ -18,21 +38,13 @@ class gdcmHeader; class GDCM_EXPORT gdcmDocEntry { public: gdcmDocEntry(gdcmDictEntry*); - - /// \brief Returns the 'Value' (e.g. "Dupond Marcel") converted into a - /// 'string', if it's stored as an integer in the Dicom Header of the - /// current Dicom Header Entry - /// TODO virtual? - //inline std::string GetValue(void) { return value; }; - // Pour continuer a compiler :-( - inline std::string GetValue(void) { return "value"; }; - + /// Returns the Dicom Group number of the current Dicom Header Entry inline guint16 GetGroup(void) { return entry->GetGroup(); }; /// Returns the Dicom Element number of the current Dicom Header Entry inline guint16 GetElement(void) { return entry->GetElement();}; - + /// Returns the 'key' of the current Dicom Header Entry inline std::string GetKey(void) { return entry->GetKey(); }; @@ -51,7 +63,7 @@ public: inline size_t GetOffset(void) { return Offset; }; /// \brief Returns the actual value length of the current Dicom Header Entry - /// \warning this value is not *allways* the one stored in the Dicom Header + /// \warning this value is not *always* the one stored in the Dicom Header /// in case of well knowned bugs inline guint32 GetLength(void) { return UsableLength; }; @@ -112,11 +124,10 @@ public: int GetPrintLevel(void) { return(printLevel); }; virtual void Print (std::ostream & os = std::cout); + virtual void Write(FILE *fp, FileType filetype); void gdcmDocEntry::PrintCommonPart(std::ostream & os); - - /// Gets the depth level of a Dicom Header Entry embedded in a SeQuence - inline int GetSQDepthLevel(void) { return (SQDepthLevel); }; + void gdcmDocEntry::WriteCommonPart(FILE *fp, FileType filetype); guint32 GetFullLength(void); @@ -124,19 +135,24 @@ public: bool isItemDelimitor(); bool isSequenceDelimitor(); - + + /// \brief Gets the depth level of a Dicom header entry embedded in + /// a SeQuence + inline int GetDepthLevel(void) {return(SQDepthLevel);} + + /// \brief Sets the depth level of a Dicom header entry embedded in + /// a SeQuence + inline void SetDepthLevel(int depth) {SQDepthLevel = depth;} + private: // FIXME: In fact we should be more specific and use : // friend gdcmDocEntry * gdcmHeader::ReadNextElement(void); - friend class gdcmHeader; - - /// Sets the depth level of a Dicom Header Entry embedded in a SeQuence - inline void SetSQDepthLevel(int depthLevel) { SQDepthLevel = depthLevel; }; - + friend class gdcmHeader; protected: // Variables + /// \brief pointer to the underlying Dicom dictionary element gdcmDictEntry *entry; /// \brief Updated from ReadLength, by FixFoungLentgh() for fixing a bug