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 "dcmtk/config/osconfig.h"
00039
00040 #include "dcmtk/dcmsr/dsrtypes.h"
00041 #include "dcmtk/dcmsr/dsrcomvl.h"
00042 #include "dcmtk/dcmsr/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
00334
00335
00336