Inheritance diagram for DcmDirectoryRecord:
Public Member Functions | |
DcmDirectoryRecord () | |
default constructor | |
DcmDirectoryRecord (const DcmTag &tag, const Uint32 len) | |
constructor | |
DcmDirectoryRecord (const E_DirRecType recordType, const char *referencedFileID, const char *sourceFileName) | |
constructor | |
DcmDirectoryRecord (const char *recordTypeName, const char *referencedFileID, const char *sourceFileName) | |
constructor | |
DcmDirectoryRecord (const DcmDirectoryRecord &oldDirRec) | |
copy constructor | |
DcmDirectoryRecord & | operator= (const DcmDirectoryRecord &obj) |
assignment operator | |
virtual | ~DcmDirectoryRecord () |
destructor | |
virtual DcmObject * | clone () const |
clone method | |
virtual OFCondition | copyFrom (const DcmObject &rhs) |
Virtual object copying. | |
virtual DcmEVR | ident () const |
return identifier for this class. | |
OFCondition | error () const |
returns current status flag | |
virtual void | print (STD_NAMESPACE ostream &out, const size_t flags=0, const int level=0, const char *pixelFileName=NULL, size_t *pixelCounter=NULL) |
print all elements of the item to a stream | |
virtual OFCondition | read (DcmInputStream &inStream, const E_TransferSyntax xfer, const E_GrpLenEncoding glenc=EGL_noChange, const Uint32 maxReadLength=DCM_MaxReadLength) |
This function reads the information of all attributes which are captured in the input stream and captures this information in elementList. | |
virtual OFCondition | writeXML (STD_NAMESPACE ostream &out, const size_t flags=0) |
write object in XML format | |
virtual OFCondition | verify (const OFBool autocorrect=OFFalse) |
check the currently stored element value | |
virtual OFCondition | search (const DcmTagKey &xtag, DcmStack &resultStack, E_SearchMode mode=ESM_fromHere, OFBool searchIntoSub=OFTrue) |
a complex, stack-based, hierarchical search method. | |
virtual E_DirRecType | getRecordType () |
get record type of this directory record | |
virtual DcmDirectoryRecord * | getReferencedMRDR () |
if this directory record references an MRDR (multi-reference directory record), return pointer to the MRDR referenced by this object. | |
virtual OFCondition | assignToMRDR (DcmDirectoryRecord *mrdr) |
create a reference from this record to an MRDR | |
virtual OFCondition | assignToSOPFile (const char *referencedFileID, const char *sourceFileName) |
open a DICOM file and make this directory record into adirectory record for that DICOM file. | |
virtual unsigned long | cardSub () |
return number of directory records that are child record of this one | |
virtual OFCondition | insertSub (DcmDirectoryRecord *dirRec, unsigned long where=DCM_EndOfListIndex, OFBool before=OFFalse) |
insert a child directory record | |
virtual OFCondition | insertSubAtCurrentPos (DcmDirectoryRecord *dirRec, OFBool before=OFFalse) |
insert new directory child record at the current position. | |
virtual DcmDirectoryRecord * | getSub (const unsigned long num) |
access child directory record. | |
virtual DcmDirectoryRecord * | nextSub (const DcmDirectoryRecord *dirRec) |
get next directory child record starting at a given record | |
virtual DcmDirectoryRecord * | removeSub (const unsigned long num) |
remove child directory record. | |
virtual DcmDirectoryRecord * | removeSub (DcmDirectoryRecord *dirRec) |
remove child directory record. | |
virtual OFCondition | deleteSubAndPurgeFile (const unsigned long num) |
remove child directory record and delete file referenced by that record, if any | |
virtual OFCondition | deleteSubAndPurgeFile (DcmDirectoryRecord *dirRec) |
remove child directory record and delete file referenced by that record, if any | |
virtual OFCondition | clearSub () |
revert the list of child directory records to default constructed (empty) state | |
virtual void | setRecordsOriginFile (const char *fname) |
store the filename from which this directory record was read from | |
virtual const char * | getRecordsOriginFile () |
get the filename from which this directory record was read from, NULL íf not set | |
Uint32 | getFileOffset () const |
get the offset in file of this directory record | |
Protected Member Functions | |
E_DirRecType | recordNameToType (const char *recordTypeName) |
char * | buildFileName (const char *origName, char *destName) |
OFCondition | checkHierarchy (const E_DirRecType upperRecord, const E_DirRecType lowerRecord) |
OFCondition | setRecordType (E_DirRecType newType) |
E_DirRecType | lookForRecordType () |
OFCondition | setReferencedFileID (const char *referencedFileID) |
const char * | lookForReferencedFileID () |
DcmDirectoryRecord * | lookForReferencedMRDR () |
const char * | getReferencedFileName () |
OFCondition | setRecordInUseFlag (const Uint16 newFlag) |
Uint16 | lookForRecordInUseFlag () |
Uint32 | setFileOffset (Uint32 position) |
OFCondition | setNumberOfReferences (Uint32 newRefNum) |
Uint32 | lookForNumberOfReferences () |
Uint32 | increaseRefNum () |
Uint32 | decreaseRefNum () |
OFCondition | fillElementsAndReadSOP (const char *referencedFileID, const char *sourceFileName) |
OFCondition | masterInsertSub (DcmDirectoryRecord *dirRec, const unsigned long where=DCM_EndOfListIndex) |
OFCondition | purgeReferencedFile () |
Private Attributes | |
char * | recordsOriginFile |
string in which the filename (path) of the file from which this directory record was read is kept | |
DcmSequenceOfItems * | lowerLevelList |
list of child directory records, kept in a sequence of items | |
E_DirRecType | DirRecordType |
directory record type of this record | |
DcmDirectoryRecord * | referencedMRDR |
pointer to multi-referenced directory record (MRDR) if this record refers to one, NULL otherwise | |
Uint32 | numberOfReferences |
number of other directory records referring to this one; used for MRDR records | |
Uint32 | offsetInFile |
byte offset at which the start of this directory record resides in the file from which it was read | |
Friends | |
class | DcmDicomDir |
Definition at line 136 of file dcdirrec.h.
DcmDirectoryRecord::DcmDirectoryRecord | ( | const DcmTag & | tag, | |
const Uint32 | len | |||
) |
constructor
tag | attribute tag | |
len | length of the attribute value |
DcmDirectoryRecord::DcmDirectoryRecord | ( | const E_DirRecType | recordType, | |
const char * | referencedFileID, | |||
const char * | sourceFileName | |||
) |
constructor
recordType | record type | |
referencedFileID | referenced file ID in DICOM format | |
sourceFileName | path to referenced file in operating system specific format |
DcmDirectoryRecord::DcmDirectoryRecord | ( | const char * | recordTypeName, | |
const char * | referencedFileID, | |||
const char * | sourceFileName | |||
) |
constructor
recordTypeName | record type as string | |
referencedFileID | referenced file ID in DICOM format | |
sourceFileName | path to referenced file in operating system specific format |
DcmDirectoryRecord::DcmDirectoryRecord | ( | const DcmDirectoryRecord & | oldDirRec | ) |
copy constructor
oldDirRec | element to be copied |
DcmDirectoryRecord& DcmDirectoryRecord::operator= | ( | const DcmDirectoryRecord & | obj | ) |
assignment operator
obj | the directory record to be copied |
virtual DcmObject* DcmDirectoryRecord::clone | ( | ) | const [inline, virtual] |
clone method
Reimplemented from DcmItem.
Definition at line 186 of file dcdirrec.h.
References DcmDirectoryRecord().
virtual OFCondition DcmDirectoryRecord::copyFrom | ( | const DcmObject & | rhs | ) | [virtual] |
Virtual object copying.
This method can be used for DcmObject and derived classes to get a deep copy of an object. Internally the assignment operator is called if the given DcmObject parameter is of the same type as "this" object instance. If not, an error is returned. This function permits copying an object by value in a virtual way which therefore is different to just calling the assignment operator of DcmElement which could result in slicing the object.
rhs | - [in] The instance to copy from. Has to be of the same class type as "this" object |
Reimplemented from DcmItem.
virtual DcmEVR DcmDirectoryRecord::ident | ( | ) | const [virtual] |
return identifier for this class.
Every class derived from this class returns a unique value of type enum DcmEVR for this call. This is used as a "poor man's RTTI" to correctly identify instances derived from this class even on compilers not supporting RTTI.
Reimplemented from DcmItem.
virtual void DcmDirectoryRecord::print | ( | STD_NAMESPACE ostream & | out, | |
const size_t | flags = 0 , |
|||
const int | level = 0 , |
|||
const char * | pixelFileName = NULL , |
|||
size_t * | pixelCounter = NULL | |||
) | [virtual] |
print all elements of the item to a stream
out | output stream | |
flags | optional flag used to customize the output (see DCMTypes::PF_xxx) | |
level | current level of nested items. Used for indentation. | |
pixelFileName | not used | |
pixelCounter | not used |
Reimplemented from DcmItem.
virtual OFCondition DcmDirectoryRecord::read | ( | DcmInputStream & | inStream, | |
const E_TransferSyntax | xfer, | |||
const E_GrpLenEncoding | glenc = EGL_noChange , |
|||
const Uint32 | maxReadLength = DCM_MaxReadLength | |||
) | [virtual] |
This function reads the information of all attributes which are captured in the input stream and captures this information in elementList.
Each attribute is represented as an element in this list. If not all information for an attribute could be read from the stream, the function returns EC_StreamNotifyClient.
inStream | The stream which contains the information. | |
xfer | The transfer syntax which was used to encode the information in inStream. | |
glenc | Encoding type for group length; specifies what will be done with group length tags. | |
maxReadLength | Maximum read length for reading an attribute value. |
Reimplemented from DcmItem.
virtual OFCondition DcmDirectoryRecord::writeXML | ( | STD_NAMESPACE ostream & | out, | |
const size_t | flags = 0 | |||
) | [virtual] |
write object in XML format
out | output stream to which the XML document is written | |
flags | optional flag used to customize the output (see DCMTypes::XF_xxx) |
Reimplemented from DcmItem.
virtual OFCondition DcmDirectoryRecord::verify | ( | const OFBool | autocorrect = OFFalse |
) | [virtual] |
check the currently stored element value
autocorrect | correct value length if OFTrue |
Reimplemented from DcmItem.
virtual OFCondition DcmDirectoryRecord::search | ( | const DcmTagKey & | xtag, | |
DcmStack & | resultStack, | |||
E_SearchMode | mode = ESM_fromHere , |
|||
OFBool | searchIntoSub = OFTrue | |||
) | [virtual] |
a complex, stack-based, hierarchical search method.
It allows for a search for a DICOM object with a given attribute within a given container, hierarchically, from a starting position identified through a cursor stack.
xtag | the DICOM attribute tag we are searching for | |
resultStack | Depending on the search mode (see below), this parameter either serves as an input and output parameter, or as an output parameter only (the latter being the default). When used as an input parameter, the cursor stack defines the start position for the search within a hierarchical DICOM dataset. Upon successful return, the stack contains the position of the element found, in the form of a pointer to each dataset, sequence, item and element from the main dataset down to the found element. | |
mode | search mode, controls how the search stack is handled. In the default mode, ESM_fromHere, the stack is ignored on input, and the search starts in the object for which this method is called. In the other modes, the stack is used both as an input and an output parameter and defines the starting point for the search. | |
searchIntoSub | if true, the search will be performed hierarchically descending into the sequences and items of the dataset. If false, only the current container (sequence or item) will be traversed. |
Reimplemented from DcmItem.
virtual DcmDirectoryRecord* DcmDirectoryRecord::getReferencedMRDR | ( | ) | [virtual] |
if this directory record references an MRDR (multi-reference directory record), return pointer to the MRDR referenced by this object.
virtual OFCondition DcmDirectoryRecord::assignToMRDR | ( | DcmDirectoryRecord * | mrdr | ) | [virtual] |
create a reference from this record to an MRDR
mrdr | pointer to MRDR |
virtual OFCondition DcmDirectoryRecord::assignToSOPFile | ( | const char * | referencedFileID, | |
const char * | sourceFileName | |||
) | [virtual] |
open a DICOM file and make this directory record into adirectory record for that DICOM file.
The most relevant record keys (SOP Class UID, SOP instance UID, Transfer Syntax UID) are inserted into the directory record.
referencedFileID | referenced file ID in DICOM format | |
sourceFileName | path to file in operating system specific format |
virtual OFCondition DcmDirectoryRecord::insertSub | ( | DcmDirectoryRecord * | dirRec, | |
unsigned long | where = DCM_EndOfListIndex , |
|||
OFBool | before = OFFalse | |||
) | [virtual] |
insert a child directory record
dirRec | directory record to be inserted. Must be allocated on heap, ownership is transferred to this object | |
where | index where to insert object | |
before | flag indicating whether to insert the record before or after the element identified by where |
virtual OFCondition DcmDirectoryRecord::insertSubAtCurrentPos | ( | DcmDirectoryRecord * | dirRec, | |
OFBool | before = OFFalse | |||
) | [virtual] |
insert new directory child record at the current position.
The current position is stored internally in the 'lowerLevelList' member variable.
dirRec | new child record to be inserted | |
before | flag indicating whether to insert the record before (OFFalse) or after (OFTrue) the current position |
virtual DcmDirectoryRecord* DcmDirectoryRecord::getSub | ( | const unsigned long | num | ) | [virtual] |
access child directory record.
Returns a pointer to the object maintained as a child, not a copy.
num | index, must be < cardSub() |
virtual DcmDirectoryRecord* DcmDirectoryRecord::nextSub | ( | const DcmDirectoryRecord * | dirRec | ) | [virtual] |
get next directory child record starting at a given record
dirRec | record to start from (goto first record if NULL) |
virtual DcmDirectoryRecord* DcmDirectoryRecord::removeSub | ( | const unsigned long | num | ) | [virtual] |
remove child directory record.
If found, the record is not deleted but returned to the caller who is responsible for further management of the DcmDirectoryRecord object.
num | index number of element, must be < cardSub() |
virtual DcmDirectoryRecord* DcmDirectoryRecord::removeSub | ( | DcmDirectoryRecord * | dirRec | ) | [virtual] |
remove child directory record.
If found, the record is not deleted but returned to the caller who is responsible for further management of the DcmDirectoryRecord object.
dirRec | pointer to element to be removed from list |
virtual OFCondition DcmDirectoryRecord::deleteSubAndPurgeFile | ( | const unsigned long | num | ) | [virtual] |
remove child directory record and delete file referenced by that record, if any
num | index number of element, must be < cardSub() |
virtual OFCondition DcmDirectoryRecord::deleteSubAndPurgeFile | ( | DcmDirectoryRecord * | dirRec | ) | [virtual] |
remove child directory record and delete file referenced by that record, if any
dirRec | pointer to element to be removed from list |
virtual void DcmDirectoryRecord::setRecordsOriginFile | ( | const char * | fname | ) | [virtual] |
store the filename from which this directory record was read from
fname | filename, must not be NULL |