]> Creatis software - gdcm.git/blobdiff - src/gdcmDictSet.cxx
* src/gdcmDictGroupName.[h|cxx] : add a correlation between a group (number)
[gdcm.git] / src / gdcmDictSet.cxx
index f4ae8c8c7c7ddabf2d610d40315287e19599ce06..8ec72b614d6ede6eefa1534915623f1493f6e9f9 100644 (file)
@@ -3,8 +3,8 @@
   Program:   gdcm
   Module:    $RCSfile: gdcmDictSet.cxx,v $
   Language:  C++
-  Date:      $Date: 2005/01/18 14:28:32 $
-  Version:   $Revision: 1.55 $
+  Date:      $Date: 2005/04/05 10:56:25 $
+  Version:   $Revision: 1.62 $
                                                                                 
   Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de
   l'Image). All rights reserved. See Doc/License.txt or
@@ -59,75 +59,8 @@ DictSet::~DictSet()
    VirtualEntry.clear();
 }
 
-//-----------------------------------------------------------------------------
-// Print
-/**
- * \brief   Print, in an informal fashion, the list of all the dictionaries
- *          contained is this DictSet, along with their respective content.
- * @param   os Output stream used for printing.
- * @param   indent indent
- */
-void DictSet::Print(std::ostream &os, std::string const & )
-{
-   for (DictSetHT::iterator dict = Dicts.begin(); dict != Dicts.end(); ++dict)
-   {
-      os << "Printing dictionary " << dict->first << std::endl;
-      dict->second->Print(os);
-   }
-}
-
 //-----------------------------------------------------------------------------
 // Public
-/** 
- * \brief   Consider all the entries of the public dicom dictionary. 
- *          Build all list of all the tag names of all those entries.
- * \sa DictSet::GetPubDictTagNamesByCategory
- * @return  A list of all entries of the public dicom dictionary.
- */
-
-// Probabely useless!
-//EntryNamesList *DictSet::GetPubDictEntryNames() 
-//{
-//   return GetDefaultPubDict()->GetDictEntryNames();
-//}
-
-/** 
- * \brief   
- *          - Consider all the entries of the public dicom dictionary.
- *          - Build an hashtable whose keys are the names of the groups
- *           (fourth field in each line of dictionary) and whose corresponding
- *           values are lists of all the dictionary entries among that
- *           group. Note that apparently the Dicom standard doesn't explicitely
- *           define a name (as a string) for each group.
- *           NO ! Dicom Standard explicitely doesn't define 
- *                any name, for any group !
- *          - A typical usage of this method would be to enable a dynamic
- *           configuration of a Dicom file browser: the admin/user can
- *           select in the interface which Dicom tags should be displayed.
- * \warning 
- *          - Dicom *doesn't* define any name for any 'categorie'
- *          (the dictionary fourth field was formerly NIH defined
- *           -and no longer he is-
- *           and will be removed when Dicom provides us a text file
- *           with the 'official' Dictionary, that would be more friendly
- *           than asking us to perform a line by line check of the dictionary
- *           at the beginning of each year to -try to- guess the changes)
- *          - Therefore : please NEVER use that fourth field :-(
- * *
- * @return  An hashtable: whose keys are the names of the groups and whose
- *          corresponding values are lists of all the dictionary entries
- *          among that group.
- */
-
-
-// Probabely useless!
-//EntryNamesByCatMap *DictSet::GetPubDictEntryNamesByCategory() 
-//{
-//   return GetDefaultPubDict()->GetDictEntryNamesByCategory();
-//}
-
 /**
  * \brief   Loads a dictionary from a specified file, and add it
  *          to already the existing ones contained in this DictSet.
@@ -136,8 +69,8 @@ void DictSet::Print(std::ostream &os, std::string const & )
  * @param   name Symbolic name that be used as identifier of the newly 
  *          created dictionary.
  */
-Dict *DictSet::LoadDictFromFile(std::string const & filename, 
-                                DictKey const & name) 
+Dict *DictSet::LoadDictFromFile(std::string const &filename, 
+                                DictKey const &name) 
 {
    Dict *newDict = new Dict(filename);
    AppendDict(newDict, name);
@@ -194,37 +127,6 @@ DictEntry *DictSet::NewVirtualDictEntry( uint16_t group,
    return entry;
 }
 
-/**
- * \brief   Obtain from the GDCM_DICT_PATH environnement variable the
- *          path to directory containing the dictionaries. When
- *          the environnement variable is absent the path is defaulted
- *          to "../Dicts/".
- * @return  path to directory containing the dictionaries
- */
-std::string DictSet::BuildDictPath() 
-{
-   std::string resultPath;
-   const char *envPath = 0;
-   envPath = getenv("GDCM_DICT_PATH");
-
-   if (envPath && (strlen(envPath) != 0)) 
-   {
-      resultPath = envPath;
-      if ( resultPath[resultPath.length()-1] != '/' )
-      {
-         resultPath += '/';
-      }
-      gdcmVerboseMacro( "Dictionary path set from environnement");
-   } 
-   else
-   {
-      resultPath = PUB_DICT_PATH;
-   }
-
-   return resultPath;
-}
-
-
 /**
  * \brief   Get the first entry while visiting the DictSet
  * \return  The first Dict if found, otherwhise NULL
@@ -252,9 +154,38 @@ Dict *DictSet::GetNextEntry()
    return NULL;
 }
 
+/**
+ * \brief   Obtain from the GDCM_DICT_PATH environnement variable the
+ *          path to directory containing the dictionaries. When
+ *          the environnement variable is absent the path is defaulted
+ *          to "../Dicts/".
+ * @return  path to directory containing the dictionaries
+ */
+std::string DictSet::BuildDictPath() 
+{
+   std::string resultPath;
+   const char *envPath;
+   envPath = getenv("GDCM_DICT_PATH");
+
+   if (envPath && (strlen(envPath) != 0)) 
+   {
+      resultPath = envPath;
+      gdcmWarningMacro( "Dictionary path set from environnement");
+   } 
+   else
+   {
+      resultPath = PUB_DICT_PATH;
+   }
+   if ( resultPath[resultPath.length()-1] != '/' )
+   {
+      resultPath += '/';
+   }
+
+   return resultPath;
+}
+
 //-----------------------------------------------------------------------------
 // Protected
-
 /**
  * \brief   Adds a Dictionary to a DictSet
  * \return  always true
@@ -270,5 +201,21 @@ bool DictSet::AppendDict(Dict *newDict, DictKey const &name)
 // Private
 
 //-----------------------------------------------------------------------------
+// Print
+/**
+ * \brief   Print, in an informal fashion, the list of all the dictionaries
+ *          contained is this DictSet, along with their respective content.
+ * @param   os Output stream used for printing.
+ * @param indent Indentation string to be prepended during printing
+ */
+void DictSet::Print(std::ostream &os, std::string const & )
+{
+   for (DictSetHT::iterator dict = Dicts.begin(); dict != Dicts.end(); ++dict)
+   {
+      os << "Printing dictionary " << dict->first << std::endl;
+      dict->second->Print(os);
+   }
+}
 
+//-----------------------------------------------------------------------------
 } // end namespace gdcm