Program: gdcm
Module: $RCSfile: gdcmDocEntrySet.cxx,v $
Language: C++
- Date: $Date: 2005/01/25 16:32:45 $
- Version: $Revision: 1.46 $
+ Date: $Date: 2005/02/02 10:02:17 $
+ Version: $Revision: 1.51 $
Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de
l'Image). All rights reserved. See Doc/License.txt or
namespace gdcm
{
+//-----------------------------------------------------------------------------
+// Constructor / Destructor
//-----------------------------------------------------------------------------
// Public
/**
- * \brief Get the (std::string representable) value of the Dicom entry
+ * \brief Get the "std::string representable" value of the Dicom entry
* @param group Group number of the searched tag.
* @param elem Element number of the searched tag.
* @return Corresponding element value when it exists,
/**
* \brief Gets (from Header) a 'non string' element value
- * (LoadElementValues has already be executed)
* @param group group number of the Entry
* @param elem element number of the Entry
* @return Pointer to the 'non string' area
*/
void *DocEntrySet::GetEntryBinArea(uint16_t group, uint16_t elem)
{
- BinEntry *entry = GetBinEntry(group,elem);
+ BinEntry *entry = GetBinEntry(group, elem);
if( entry )
return entry->GetBinArea();
return 0;
*/
int DocEntrySet::GetEntryLength(uint16_t group, uint16_t elem)
{
- DocEntry *entry = GetDocEntry(group,elem);
+ DocEntry *entry = GetDocEntry(group, elem);
if( entry )
return entry->GetLength();
return -1;
/**
* \brief Searches within Header Entries (Dicom Elements) parsed with
- * the public and private dictionaries
+ * the public [and private dictionaries]
* for the element value representation of a given tag..
* Obtaining the VR (Value Representation) might be needed by caller
* to convert the string typed content to caller's native type
*/
std::string DocEntrySet::GetEntryVR(uint16_t group, uint16_t elem)
{
- DocEntry *entry = GetDocEntry(group,elem);
+ DocEntry *entry = GetDocEntry(group, elem);
if( entry )
return entry->GetVR();
return GDCM_UNFOUND;
* \brief Same as \ref Document::GetDocEntry except it only
* returns a result when the corresponding entry is of type
* BinEntry.
- * @param group Group number of the searched Dicom Element
- * @param elem Element number of the searched Dicom Element
+ * @param group Group number of the searched Dicom Element
+ * @param elem Element number of the searched Dicom Element
* @return When present, the corresponding BinEntry.
*/
BinEntry *DocEntrySet::GetBinEntry(uint16_t group, uint16_t elem)
{
DocEntry *currentEntry = GetDocEntry(group, elem);
if ( !currentEntry )
+ {
+ gdcmVerboseMacro( "No corresponding BinEntry " << std::hex << group <<
+ "," << elem);
return NULL;
+ }
return dynamic_cast<BinEntry*>(currentEntry);
}
{
DocEntry *currentEntry = GetDocEntry(group, elem);
if ( !currentEntry )
+ {
+ gdcmVerboseMacro( "No corresponding SeqEntry " << std::hex << group <<
+ "," << elem);
return NULL;
+ }
return dynamic_cast<SeqEntry*>(currentEntry);
}
* @param group group number of the Dicom Element to modify
* @param elem element number of the Dicom Element to modify
*/
-bool DocEntrySet::SetValEntry(std::string const& content,
+bool DocEntrySet::SetValEntry(std::string const &content,
uint16_t group, uint16_t elem)
{
ValEntry *entry = GetValEntry(group, elem);
if (!entry )
{
- gdcmVerboseMacro( "No corresponding ValEntry (try promotion first).");
+ gdcmVerboseMacro( "No corresponding ValEntry " << std::hex << group <<
+ "," << elem << " element (try promotion first).");
return false;
}
return SetValEntry(content,entry);
* @param group group number of the Dicom Element to modify
* @param elem element number of the Dicom Element to modify
*/
-bool DocEntrySet::SetBinEntry(uint8_t*content, int lgth,
+bool DocEntrySet::SetBinEntry(uint8_t *content, int lgth,
uint16_t group, uint16_t elem)
{
BinEntry *entry = GetBinEntry(group, elem);
if (!entry )
{
- gdcmVerboseMacro( "No corresponding ValEntry (try promotion first).");
+ gdcmVerboseMacro( "No corresponding ValEntry " << std::hex << group <<
+ "," << elem << " element (try promotion first).");
return false;
}
* \return pointer to the modified/created Header Entry (NULL when creation
* failed).
*/
-BinEntry *DocEntrySet::InsertBinEntry(uint8_t *binArea,int lgth,
+BinEntry *DocEntrySet::InsertBinEntry(uint8_t *binArea, int lgth,
uint16_t group, uint16_t elem,
TagName const &vr )
{
return Global::GetDicts()->NewVirtualDictEntry(group,elem,vr,vm,name);
}
-//-----------------------------------------------------------------------------
-// Protected
/**
* \brief Build a new Val Entry from all the low level arguments.
* Check for existence of dictionary entry, and build
* @param elem element number of the new Entry
* @param vr VR of the new Entry
*/
-BinEntry *DocEntrySet::NewBinEntry(uint16_t group,uint16_t elem,
- TagName const & vr)
+BinEntry *DocEntrySet::NewBinEntry(uint16_t group, uint16_t elem,
+ TagName const &vr)
{
DictEntry *dictEntry = GetDictEntry(group, elem, vr);
gdcmAssertMacro(dictEntry);
* @param group group number of the new Entry
* @param elem element number of the new Entry
*/
-SeqEntry* DocEntrySet::NewSeqEntry(uint16_t group,uint16_t elem)
+SeqEntry* DocEntrySet::NewSeqEntry(uint16_t group, uint16_t elem)
{
DictEntry *dictEntry = GetDictEntry(group, elem, "SQ");
gdcmAssertMacro(dictEntry);
return newEntry;
}
+//-----------------------------------------------------------------------------
+// Protected
/**
* \brief Searches [both] the public [and the shadow dictionary (when they
* exist)] for the presence of the DictEntry with given
return found;
}
-
/**
- * \brief Searches both the public and the shadow dictionary (when they
- * exist) for the presence of the DictEntry with given
+ * \brief Searches [both] the public [and the shadow dictionary (when they
+ * exist)] for the presence of the DictEntry with given
* group and element, and create a new virtual DictEntry if necessary
* @param group group number of the searched DictEntry
* @param elem element number of the searched DictEntry
* @return Corresponding DictEntry when it exists, NULL otherwise.
*/
DictEntry *DocEntrySet::GetDictEntry(uint16_t group, uint16_t elem,
- TagName const & vr)
+ TagName const &vr)
{
DictEntry *dictEntry = GetDictEntry(group,elem);
DictEntry *goodEntry = dictEntry;
//-----------------------------------------------------------------------------
// Private
+//-----------------------------------------------------------------------------
+// Print
+
//-----------------------------------------------------------------------------
} // end namespace gdcm