X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=src%2FgdcmDocument.h;h=09ca0c4a89e7d5251e3114cd3ac50d44e2e24277;hb=d458de05c75d91f722d31020cd1a96745caf382f;hp=dc04ee29da0fa91a6339f98affedf3a852db35cd;hpb=4117dec671b980b51a16117a5692d822b63bbe04;p=gdcm.git diff --git a/src/gdcmDocument.h b/src/gdcmDocument.h index dc04ee29..09ca0c4a 100644 --- a/src/gdcmDocument.h +++ b/src/gdcmDocument.h @@ -3,8 +3,8 @@ Program: gdcm Module: $RCSfile: gdcmDocument.h,v $ Language: C++ - Date: $Date: 2005/10/18 09:17:08 $ - Version: $Revision: 1.124 $ + Date: $Date: 2005/11/05 13:23:30 $ + Version: $Revision: 1.129 $ Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de l'Image). All rights reserved. See Doc/License.txt or @@ -39,9 +39,10 @@ class Dict; */ class GDCM_EXPORT Document : public ElementSet { -public: + gdcmTypeMacro(Document); -typedef std::list ListElements; +public: + typedef std::list ListElements; // Loading //Deprecated : use SetFileName() + Load() @@ -69,6 +70,7 @@ typedef std::list ListElements; // System access (meaning endian related !?) uint16_t SwapShort(uint16_t); uint32_t SwapLong(uint32_t); + double SwapDouble(double); /// \brief Unswaps back the bytes of 2-bytes long integer /// so they agree with the processor order. uint16_t UnswapShort(uint16_t a) { return SwapShort(a);} @@ -190,8 +192,8 @@ private: void LoadDocEntry (DocEntry *e, bool forceLoad = false); void FindDocEntryLength (DocEntry *e) throw ( FormatError ); uint32_t FindDocEntryLengthOBOrOW() throw( FormatUnexpected ); - std::string FindDocEntryVR(); - bool CheckDocEntryVR (VRKey k); + VRKey FindDocEntryVR(); + bool CheckDocEntryVR (const VRKey &k); void SkipDocEntry (DocEntry *entry); void SkipToNextDocEntry (DocEntry *entry); @@ -222,7 +224,12 @@ private: /// this upper bound is fixed to 1024 bytes (which might look reasonable /// when one considers the definition of the various VR contents). uint32_t MaxSizeLoadEntry; - + + /// \brief to allow any inner method to know current tag Group number + uint16_t CurrentGroup; + /// \brief to allow any inner method to know current tag Element number + uint16_t CurrentElem; + // uint32_t GenerateFreeTagKeyInGroup(uint16_t group); // void BuildFlatHashTableRecurse( TagDocEntryHT &builtHT, // DocEntrySet *set );