dsrwavvl.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: DSRWaveformReferenceValue
00024  *
00025  *  Last Update:      $Author: meichel $
00026  *  Update Date:      $Date: 2005/12/08 16:05:34 $
00027  *  CVS/RCS Revision: $Revision: 1.13 $
00028  *  Status:           $State: Exp $
00029  *
00030  *  CVS/RCS Log at end of file
00031  *
00032  */
00033 
00034 
00035 #ifndef DSRWAVVL_H
00036 #define DSRWAVVL_H
00037 
00038 #include "dcmtk/config/osconfig.h"   /* make sure OS specific configuration is included first */
00039 
00040 #include "dcmtk/dcmsr/dsrtypes.h"
00041 #include "dcmtk/dcmsr/dsrcomvl.h"
00042 #include "dcmtk/dcmsr/dsrwavch.h"
00043 
00044 
00045 /*---------------------*
00046  *  class declaration  *
00047  *---------------------*/
00048 
00051 class DSRWaveformReferenceValue
00052   : public DSRCompositeReferenceValue
00053 {
00054     // allow access to getValuePtr()
00055     friend class DSRContentItem;
00056 
00057   public:
00058 
00061     DSRWaveformReferenceValue();
00062 
00070     DSRWaveformReferenceValue(const OFString &sopClassUID,
00071                               const OFString &sopInstanceUID);
00072 
00076     DSRWaveformReferenceValue(const DSRWaveformReferenceValue &referenceValue);
00077 
00080     virtual ~DSRWaveformReferenceValue();
00081 
00086     DSRWaveformReferenceValue &operator=(const DSRWaveformReferenceValue &referenceValue);
00087 
00091     virtual void clear();
00092 
00099     virtual OFBool isShort(const size_t flags) const;
00100 
00109     virtual OFCondition print(ostream &stream,
00110                               const size_t flags) const;
00111 
00117     virtual OFCondition readXML(const DSRXMLDocument &doc,
00118                                 DSRXMLCursor cursor);
00119 
00126     virtual OFCondition writeXML(ostream &stream,
00127                                  const size_t flags,
00128                                  OFConsole *logStream) const;
00129 
00139     virtual OFCondition renderHTML(ostream &docStream,
00140                                    ostream &annexStream,
00141                                    size_t &annexNumber,
00142                                    const size_t flags,
00143                                    OFConsole *logStream) const;
00144 
00148     inline const DSRWaveformReferenceValue &getValue() const
00149     {
00150         return *this;
00151     }
00152 
00157     OFCondition getValue(DSRWaveformReferenceValue &referenceValue) const;
00158 
00165     OFCondition setValue(const DSRWaveformReferenceValue &referenceValue);
00166 
00170     inline DSRWaveformChannelList &getChannelList()
00171     {
00172         return ChannelList;
00173     }
00174 
00182     OFBool appliesToChannel(const Uint16 multiplexGroupNumber,
00183                             const Uint16 channelNumber) const;
00184 
00185 
00186   protected:
00187 
00191     inline DSRWaveformReferenceValue *getValuePtr()
00192     {
00193         return this;
00194     }
00195 
00201     virtual OFCondition readItem(DcmItem &dataset,
00202                                  OFConsole *logStream);
00203 
00209     virtual OFCondition writeItem(DcmItem &dataset,
00210                                   OFConsole *logStream) const;
00211 
00217     virtual OFBool checkSOPClassUID(const OFString &sopClassUID) const;
00218 
00219 
00220   private:
00221 
00223     DSRWaveformChannelList ChannelList;
00224 };
00225 
00226 
00227 #endif
00228 
00229 
00230 /*
00231  *  CVS/RCS Log:
00232  *  $Log: dsrwavvl.h,v $
00233  *  Revision 1.13  2005/12/08 16:05:34  meichel
00234  *  Changed include path schema for all DCMTK header files
00235  *
00236  *  Revision 1.12  2003/08/07 18:01:42  joergr
00237  *  Removed libxml dependency from header files.
00238  *
00239  *  Revision 1.11  2003/08/07 13:07:39  joergr
00240  *  Added readXML functionality.
00241  *
00242  *  Revision 1.10  2001/09/26 13:04:15  meichel
00243  *  Adapted dcmsr to class OFCondition
00244  *
00245  *  Revision 1.9  2001/06/01 15:51:06  meichel
00246  *  Updated copyright header
00247  *
00248  *  Revision 1.8  2000/11/06 11:21:53  joergr
00249  *  Moved some protected methods to public part.
00250  *
00251  *  Revision 1.7  2000/11/01 16:23:29  joergr
00252  *  Added support for conversion to XML.
00253  *
00254  *  Revision 1.6  2000/10/26 14:22:23  joergr
00255  *  Updated comments.
00256  *
00257  *  Revision 1.5  2000/10/23 15:13:42  joergr
00258  *  Added/updated doc++ comments.
00259  *
00260  *  Revision 1.4  2000/10/20 10:15:43  joergr
00261  *  Renamed class DSRReferenceValue to DSRCompositeReferenceValue.
00262  *
00263  *  Revision 1.3  2000/10/18 17:11:33  joergr
00264  *  Added methods allowing direct access to certain content item values.
00265  *  Made some functions inline.
00266  *  Added doc++ comments.
00267  *
00268  *  Revision 1.2  2000/10/16 11:52:29  joergr
00269  *  Added new method checking whether a waveform content item applies to a
00270  *  certain channel.
00271  *
00272  *  Revision 1.1  2000/10/13 07:49:37  joergr
00273  *  Added new module 'dcmsr' providing access to DICOM structured reporting
00274  *  documents (supplement 23).  Doc++ documentation not yet completed.
00275  *
00276  *
00277  */


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