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 #ifndef DSRIMGVL_H
00032 #define DSRIMGVL_H
00033
00034 #include "dcmtk/config/osconfig.h"
00035
00036 #include "dcmtk/dcmsr/dsrtypes.h"
00037 #include "dcmtk/dcmsr/dsrcomvl.h"
00038 #include "dcmtk/dcmsr/dsrimgfr.h"
00039
00040
00041
00042
00043
00044
00047 class DSRImageReferenceValue
00048 : public DSRCompositeReferenceValue
00049 {
00050
00051 friend class DSRContentItem;
00052
00053 public:
00054
00057 DSRImageReferenceValue();
00058
00066 DSRImageReferenceValue(const OFString &sopClassUID,
00067 const OFString &sopInstanceUID);
00068
00080 DSRImageReferenceValue(const OFString &imageSOPClassUID,
00081 const OFString &imageSOPInstanceUID,
00082 const OFString &pstateSOPClassUID,
00083 const OFString &pstateSOPInstanceUID);
00084
00088 DSRImageReferenceValue(const DSRImageReferenceValue &referenceValue);
00089
00095 DSRImageReferenceValue(const DSRCompositeReferenceValue &imageReferenceValue,
00096 const DSRCompositeReferenceValue &pstateReferenceValue);
00097
00100 virtual ~DSRImageReferenceValue();
00101
00106 DSRImageReferenceValue &operator=(const DSRImageReferenceValue &referenceValue);
00107
00111 virtual void clear();
00112
00119 virtual OFBool isValid() const;
00120
00127 virtual OFBool isShort(const size_t flags) const;
00128
00137 virtual OFCondition print(STD_NAMESPACE ostream &stream,
00138 const size_t flags) const;
00139
00145 virtual OFCondition readXML(const DSRXMLDocument &doc,
00146 DSRXMLCursor cursor);
00147
00153 virtual OFCondition writeXML(STD_NAMESPACE ostream &stream,
00154 const size_t flags) const;
00155
00164 virtual OFCondition renderHTML(STD_NAMESPACE ostream &docStream,
00165 STD_NAMESPACE ostream &annexStream,
00166 size_t &annexNumber,
00167 const size_t flags) const;
00168
00172 inline const DSRImageReferenceValue &getValue() const
00173 {
00174 return *this;
00175 }
00176
00181 OFCondition getValue(DSRImageReferenceValue &referenceValue) const;
00182
00189 OFCondition setValue(const DSRImageReferenceValue &referenceValue);
00190
00194 inline const DSRCompositeReferenceValue &getPresentationState() const
00195 {
00196 return PresentationState;
00197 }
00198
00205 OFCondition setPresentationState(const DSRCompositeReferenceValue &referenceValue);
00206
00210 inline DSRImageFrameList &getFrameList()
00211 {
00212 return FrameList;
00213 }
00214
00221 OFBool appliesToFrame(const Sint32 frameNumber) const;
00222
00223
00224 protected:
00225
00229 inline DSRImageReferenceValue *getValuePtr()
00230 {
00231 return this;
00232 }
00233
00238 virtual OFCondition readItem(DcmItem &dataset);
00239
00244 virtual OFCondition writeItem(DcmItem &dataset) const;
00245
00253 virtual OFBool checkSOPClassUID(const OFString &sopClassUID) const;
00254
00261 OFBool checkPresentationState(const DSRCompositeReferenceValue &referenceValue) const;
00262
00263
00264 private:
00265
00267 DSRCompositeReferenceValue PresentationState;
00269 DSRImageFrameList FrameList;
00270
00271
00272 };
00273
00274
00275 #endif
00276
00277
00278
00279
00280
00281
00282
00283
00284
00285
00286
00287
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
00337