dsrcontn.h

00001 /*
00002  *
00003  *  Copyright (C) 2000-2005, OFFIS
00004  *
00005  *  This software and supporting documentation were developed by
00006  *
00007  *    Kuratorium OFFIS e.V.
00008  *    Healthcare Information and Communication Systems
00009  *    Escherweg 2
00010  *    D-26121 Oldenburg, Germany
00011  *
00012  *  THIS SOFTWARE IS MADE AVAILABLE,  AS IS,  AND OFFIS MAKES NO  WARRANTY
00013  *  REGARDING  THE  SOFTWARE,  ITS  PERFORMANCE,  ITS  MERCHANTABILITY  OR
00014  *  FITNESS FOR ANY PARTICULAR USE, FREEDOM FROM ANY COMPUTER DISEASES  OR
00015  *  ITS CONFORMITY TO ANY SPECIFICATION. THE ENTIRE RISK AS TO QUALITY AND
00016  *  PERFORMANCE OF THE SOFTWARE IS WITH THE USER.
00017  *
00018  *  Module: dcmsr
00019  *
00020  *  Author: Joerg Riesmeier
00021  *
00022  *  Purpose:
00023  *    classes: DSRContainerTreeNode
00024  *
00025  *  Last Update:      $Author: meichel $
00026  *  Update Date:      $Date: 2005/12/08 16:04:56 $
00027  *  CVS/RCS Revision: $Revision: 1.11 $
00028  *  Status:           $State: Exp $
00029  *
00030  *  CVS/RCS Log at end of file
00031  *
00032  */
00033 
00034 
00035 #ifndef DSRCONTN_H
00036 #define DSRCONTN_H
00037 
00038 #include "dcmtk/config/osconfig.h"   /* make sure OS specific configuration is included first */
00039 
00040 #include "dcmtk/dcmsr/dsrdoctr.h"
00041 
00042 
00043 /*---------------------*
00044  *  class declaration  *
00045  *---------------------*/
00046 
00049 class DSRContainerTreeNode
00050   : public DSRDocumentTreeNode
00051 {
00052 
00053   public:
00054 
00061     DSRContainerTreeNode(const E_RelationshipType relationshipType,
00062                          const E_ContinuityOfContent continuityOfContent = COC_Separate);
00063 
00066     virtual ~DSRContainerTreeNode();
00067 
00071     virtual void clear();
00072 
00078     virtual OFBool isValid() const;
00079 
00085     virtual OFBool isShort(const size_t flags) const;
00086 
00094     virtual OFCondition print(ostream &stream,
00095                               const size_t flags) const;
00096 
00103     virtual OFCondition writeXML(ostream &stream,
00104                                  const size_t flags,
00105                                  OFConsole *logStream) const;
00106 
00121     virtual OFCondition renderHTML(ostream &docStream,
00122                                    ostream &annexStream,
00123                                    const size_t nestingLevel,
00124                                    size_t &annexNumber,
00125                                    const size_t flags,
00126                                    OFConsole *logStream) const;
00127 
00133     inline E_ContinuityOfContent getContinuityOfContent() const
00134     {
00135         return ContinuityOfContent;
00136     }
00137 
00144     OFCondition setContinuityOfContent(const E_ContinuityOfContent continuityOfContent);
00145 
00146 
00147   protected:
00148 
00154     virtual OFCondition readContentItem(DcmItem &dataset,
00155                                         OFConsole *logStream);
00156 
00162     virtual OFCondition writeContentItem(DcmItem &dataset,
00163                                          OFConsole *logStream) const;
00164 
00170     virtual OFCondition readXMLContentItem(const DSRXMLDocument &doc,
00171                                            DSRXMLCursor cursor);
00172 
00183     virtual OFCondition renderHTMLContentItem(ostream &docStream,
00184                                               ostream &annexStream,
00185                                               const size_t nestingLevel,
00186                                               size_t &annexNumber,
00187                                               const size_t flags,
00188                                               OFConsole *logStream) const;
00189 
00190 
00191   private:
00192 
00194     E_ContinuityOfContent ContinuityOfContent;
00195 
00196 
00197  // --- declaration of default/copy constructor and assignment operator
00198 
00199     DSRContainerTreeNode();
00200     DSRContainerTreeNode(const DSRContainerTreeNode &);
00201     DSRContainerTreeNode &operator=(const DSRContainerTreeNode &);
00202 };
00203 
00204 
00205 #endif
00206 
00207 
00208 /*
00209  *  CVS/RCS Log:
00210  *  $Log: dsrcontn.h,v $
00211  *  Revision 1.11  2005/12/08 16:04:56  meichel
00212  *  Changed include path schema for all DCMTK header files
00213  *
00214  *  Revision 1.10  2003/09/15 14:18:54  joergr
00215  *  Introduced new class to facilitate checking of SR IOD relationship content
00216  *  constraints. Replaced old implementation distributed over numerous classes.
00217  *
00218  *  Revision 1.9  2003/08/07 12:23:17  joergr
00219  *  Added readXML functionality.
00220  *  Updated documentation to get rid of doxygen warnings.
00221  *
00222  *  Revision 1.8  2001/11/09 16:10:47  joergr
00223  *  Added preliminary support for Mammography CAD SR.
00224  *
00225  *  Revision 1.7  2001/09/26 13:04:05  meichel
00226  *  Adapted dcmsr to class OFCondition
00227  *
00228  *  Revision 1.6  2001/06/01 15:51:00  meichel
00229  *  Updated copyright header
00230  *
00231  *  Revision 1.5  2000/11/07 18:14:28  joergr
00232  *  Enhanced support for by-reference relationships.
00233  *
00234  *  Revision 1.4  2000/11/01 16:14:26  joergr
00235  *  Added support for conversion to XML.
00236  *
00237  *  Revision 1.3  2000/10/23 15:09:27  joergr
00238  *  Added/updated doc++ comments.
00239  *
00240  *  Revision 1.2  2000/10/18 17:01:17  joergr
00241  *  Made some functions inline.
00242  *
00243  *  Revision 1.1  2000/10/13 07:49:24  joergr
00244  *  Added new module 'dcmsr' providing access to DICOM structured reporting
00245  *  documents (supplement 23).  Doc++ documentation not yet completed.
00246  *
00247  *
00248  */


Generated on 20 Dec 2005 for OFFIS DCMTK Version 3.5.4 by Doxygen 1.4.5