00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034
00035
#ifndef DSRIMGVL_H
00036
#define DSRIMGVL_H
00037
00038
#include "osconfig.h"
00039
00040
#include "dsrtypes.h"
00041
#include "dsrcomvl.h"
00042
#include "dsrimgfr.h"
00043
00044
00045
00046
00047
00048
00051 class DSRImageReferenceValue
00052 :
public DSRCompositeReferenceValue
00053 {
00054
00055
friend class DSRContentItem;
00056
00057
public:
00058
00061
DSRImageReferenceValue();
00062
00070
DSRImageReferenceValue(
const OFString &sopClassUID,
00071
const OFString &sopInstanceUID);
00072
00084
DSRImageReferenceValue(
const OFString &imageSOPClassUID,
00085
const OFString &imageSOPInstanceUID,
00086
const OFString &pstateSOPClassUID,
00087
const OFString &pstateSOPInstanceUID);
00088
00092
DSRImageReferenceValue(
const DSRImageReferenceValue &referenceValue);
00093
00099
DSRImageReferenceValue(
const DSRCompositeReferenceValue &imageReferenceValue,
00100
const DSRCompositeReferenceValue &pstateReferenceValue);
00101
00104
virtual ~DSRImageReferenceValue();
00105
00110
DSRImageReferenceValue &
operator=(
const DSRImageReferenceValue &referenceValue);
00111
00115
virtual void clear();
00116
00123
virtual OFBool
isValid()
const;
00124
00131
virtual OFBool
isShort(
const size_t flags)
const;
00132
00141
virtual OFCondition print(ostream &stream,
00142
const size_t flags)
const;
00143
00149
virtual OFCondition readXML(
const DSRXMLDocument &doc,
00150
DSRXMLCursor cursor);
00151
00158
virtual OFCondition writeXML(ostream &stream,
00159
const size_t flags,
00160
OFConsole *logStream)
const;
00161
00171
virtual OFCondition renderHTML(ostream &docStream,
00172 ostream &annexStream,
00173 size_t &annexNumber,
00174
const size_t flags,
00175
OFConsole *logStream)
const;
00176
00180 inline const DSRImageReferenceValue &
getValue()
const
00181
{
00182
return *
this;
00183 }
00184
00189
OFCondition getValue(
DSRImageReferenceValue &referenceValue)
const;
00190
00197
OFCondition setValue(
const DSRImageReferenceValue &referenceValue);
00198
00202 inline const DSRCompositeReferenceValue &
getPresentationState()
const
00203
{
00204
return PresentationState;
00205 }
00206
00213
OFCondition setPresentationState(
const DSRCompositeReferenceValue &referenceValue);
00214
00218 inline DSRImageFrameList &
getFrameList()
00219 {
00220
return FrameList;
00221 }
00222
00229 OFBool
appliesToFrame(
const Sint32 frameNumber)
const;
00230
00231
00232
protected:
00233
00237 inline DSRImageReferenceValue *
getValuePtr()
00238 {
00239
return this;
00240 }
00241
00247
virtual OFCondition readItem(
DcmItem &dataset,
00248
OFConsole *logStream);
00249
00255
virtual OFCondition writeItem(
DcmItem &dataset,
00256
OFConsole *logStream)
const;
00257
00265
virtual OFBool
checkSOPClassUID(
const OFString &sopClassUID)
const;
00266
00273 OFBool
checkPresentationState(
const DSRCompositeReferenceValue &referenceValue)
const;
00274
00275
00276
private:
00277
00279 DSRCompositeReferenceValue PresentationState;
00281 DSRImageFrameList FrameList;
00282
00283
00284 };
00285
00286
00287
#endif
00288
00289
00290
00291
00292
00293
00294
00295
00296
00297
00298
00299
00300
00301
00302
00303
00304
00305
00306
00307
00308
00309
00310
00311
00312
00313
00314
00315
00316
00317
00318
00319
00320
00321
00322
00323
00324
00325
00326
00327
00328
00329
00330
00331
00332
00333