OFFIS DCMTK  Version 3.6.0
dsrimgvl.h
1 /*
2  *
3  * Copyright (C) 2000-2010, OFFIS e.V.
4  * All rights reserved. See COPYRIGHT file for details.
5  *
6  * This software and supporting documentation were developed by
7  *
8  * OFFIS e.V.
9  * R&D Division Health
10  * Escherweg 2
11  * D-26121 Oldenburg, Germany
12  *
13  *
14  * Module: dcmsr
15  *
16  * Author: Joerg Riesmeier
17  *
18  * Purpose:
19  * classes: DSRImageReferenceValue
20  *
21  * Last Update: $Author: joergr $
22  * Update Date: $Date: 2010-10-14 13:16:32 $
23  * CVS/RCS Revision: $Revision: 1.17 $
24  * Status: $State: Exp $
25  *
26  * CVS/RCS Log at end of file
27  *
28  */
29 
30 
31 #ifndef DSRIMGVL_H
32 #define DSRIMGVL_H
33 
34 #include "dcmtk/config/osconfig.h" /* make sure OS specific configuration is included first */
35 
36 #include "dcmtk/dcmsr/dsrtypes.h"
37 #include "dcmtk/dcmsr/dsrcomvl.h"
38 #include "dcmtk/dcmsr/dsrimgfr.h"
39 
40 
41 /*---------------------*
42  * class declaration *
43  *---------------------*/
44 
49 {
50  // allow access to getValuePtr()
51  friend class DSRContentItem;
52 
53  public:
54 
58 
66  DSRImageReferenceValue(const OFString &sopClassUID,
67  const OFString &sopInstanceUID);
68 
80  DSRImageReferenceValue(const OFString &imageSOPClassUID,
81  const OFString &imageSOPInstanceUID,
82  const OFString &pstateSOPClassUID,
83  const OFString &pstateSOPInstanceUID);
84 
88  DSRImageReferenceValue(const DSRImageReferenceValue &referenceValue);
89 
95  DSRImageReferenceValue(const DSRCompositeReferenceValue &imageReferenceValue,
96  const DSRCompositeReferenceValue &pstateReferenceValue);
97 
100  virtual ~DSRImageReferenceValue();
101 
107 
111  virtual void clear();
112 
119  virtual OFBool isValid() const;
120 
127  virtual OFBool isShort(const size_t flags) const;
128 
137  virtual OFCondition print(STD_NAMESPACE ostream &stream,
138  const size_t flags) const;
139 
145  virtual OFCondition readXML(const DSRXMLDocument &doc,
146  DSRXMLCursor cursor);
147 
153  virtual OFCondition writeXML(STD_NAMESPACE ostream &stream,
154  const size_t flags) const;
155 
164  virtual OFCondition renderHTML(STD_NAMESPACE ostream &docStream,
165  STD_NAMESPACE ostream &annexStream,
166  size_t &annexNumber,
167  const size_t flags) const;
168 
172  inline const DSRImageReferenceValue &getValue() const
173  {
174  return *this;
175  }
176 
181  OFCondition getValue(DSRImageReferenceValue &referenceValue) const;
182 
189  OFCondition setValue(const DSRImageReferenceValue &referenceValue);
190 
195  {
196  return PresentationState;
197  }
198 
206 
211  {
212  return FrameList;
213  }
214 
221  OFBool appliesToFrame(const Sint32 frameNumber) const;
222 
223 
224  protected:
225 
230  {
231  return this;
232  }
233 
238  virtual OFCondition readItem(DcmItem &dataset);
239 
244  virtual OFCondition writeItem(DcmItem &dataset) const;
245 
253  virtual OFBool checkSOPClassUID(const OFString &sopClassUID) const;
254 
261  OFBool checkPresentationState(const DSRCompositeReferenceValue &referenceValue) const;
262 
263 
264  private:
265 
270 
271  /* IconImageSequence (Type 3) not yet supported */
272 };
273 
274 
275 #endif
276 
277 
278 /*
279  * CVS/RCS Log:
280  * $Log: dsrimgvl.h,v $
281  * Revision 1.17 2010-10-14 13:16:32 joergr
282  * Updated copyright header. Added reference to COPYRIGHT file.
283  *
284  * Revision 1.16 2009-10-13 14:57:50 uli
285  * Switched to logging mechanism provided by the "new" oflog module.
286  *
287  * Revision 1.15 2007-11-15 16:33:30 joergr
288  * Added support for output in XHTML 1.1 format.
289  *
290  * Revision 1.14 2006/08/15 16:40:03 meichel
291  * Updated the code in module dcmsr to correctly compile when
292  * all standard C++ classes remain in namespace std.
293  *
294  * Revision 1.13 2005/12/08 16:05:06 meichel
295  * Changed include path schema for all DCMTK header files
296  *
297  * Revision 1.12 2003/10/06 09:52:35 joergr
298  * Added comment that the optional IconImageSequence is not yet supported.
299  *
300  * Revision 1.11 2003/08/07 18:01:42 joergr
301  * Removed libxml dependency from header files.
302  *
303  * Revision 1.10 2003/08/07 12:42:38 joergr
304  * Added readXML functionality.
305  *
306  * Revision 1.9 2001/09/26 13:04:09 meichel
307  * Adapted dcmsr to class OFCondition
308  *
309  * Revision 1.8 2001/06/01 15:51:01 meichel
310  * Updated copyright header
311  *
312  * Revision 1.7 2000/11/06 11:17:21 joergr
313  * Moved some protected methods to public part.
314  *
315  * Revision 1.6 2000/11/01 16:23:21 joergr
316  * Added support for conversion to XML.
317  *
318  * Revision 1.5 2000/10/26 14:18:27 joergr
319  * Updated comments.
320  *
321  * Revision 1.4 2000/10/20 10:15:42 joergr
322  * Renamed class DSRReferenceValue to DSRCompositeReferenceValue.
323  *
324  * Revision 1.3 2000/10/18 17:04:23 joergr
325  * Added methods allowing direct access to certain content item values.
326  * Added doc++ comments.
327  *
328  * Revision 1.2 2000/10/16 11:54:12 joergr
329  * Added new method checking whether an image content item applies to a
330  * certain frame.
331  *
332  * Revision 1.1 2000/10/13 07:49:28 joergr
333  * Added new module 'dcmsr' providing access to DICOM structured reporting
334  * documents (supplement 23). Doc++ documentation not yet completed.
335  *
336  *
337  */


Generated on Thu Dec 20 2012 for OFFIS DCMTK Version 3.6.0 by Doxygen 1.8.2